Группа 424, аудитория 3532, начало в 10:00. Так как экзаменаторов, судя по всему, только двое, а в аудитории дубак, то можно приходить попозже вместо того чтоб сидеть и мерзнуть в ожидании своей очереди. Одевайтесь потеплее и захватите термос
28 декабря 2010
Аттракцион невиданной щедрости
Тем, кто лучше всех себя проявил на практике* на экзамене достанется всего один вопрос вместо двух.
Список героев:
421 группа: Артём Зубрицкий, Александр Мельников, Виктор Ниденс, Егор Усик
422 группа: Серафима Гольдвирт, Екатерина Жукова, Александр Сенов, Денис Сыров, Наталья Притыковская
424 группа: Александр Анисимов, Анна Блохина, Александр Киров, Антон Кореньков, Алексей Лукашев, Константин Невоструев.
* по мнению преподавателй практики
Список героев:
421 группа: Артём Зубрицкий, Александр Мельников, Виктор Ниденс, Егор Усик
422 группа: Серафима Гольдвирт, Екатерина Жукова, Александр Сенов, Денис Сыров, Наталья Притыковская
424 группа: Александр Анисимов, Анна Блохина, Александр Киров, Антон Кореньков, Алексей Лукашев, Константин Невоструев.
* по мнению преподавателй практики
27 декабря 2010
16 декабря 2010
13 декабря 2010
Выжимка из 70-страничного документа о правилах проведения сессии
Кросспост из сообщения Я.А.Кириленко кафедре системного программирования:
Добрый день!
Это писмьмо адресовано в первую очередь студентам, желающим продолжать
обучение на матмехе после предстоящей сессии. Я прошу старост и
активистов кросспостить в свои группы, чтобы гарантированно охватить
всех. Наверное, эта информация будет полезна и студентам других
специальностей, донесите и до них, пожалуйста.
Наверное, вы уже знаете, что ужесточаются правила сессии. Считаю
своим долгом напомнить об этом ещё раз и дать некоторые разъяснения,
чтобы предупредить неверное трактование фактов.
Начну с того, что напомню простую истину: третий академический долг на
сессии -- это запуск транзакции "отчисление студента". Академическими
долгами являются "неуды" и "незачеты". "Неявки" также превращаются в
задолженности, если в определённый срок не предоставлены документы,
подтверждающие "наличие уважительной причины пропуска".
И вроде бы ничего особо нового нет, но не тут то было.
Зачеты можно сдавать (читайте "закрывать академзадолженность по
зачету") ТОЛЬКО в установленные расписанием даты. Расписание
составляет деканат по заявкам преподавателей, НО с ограничениями.
Например, зачеты должны сдаваться до начала сессии должны.
Во-первых, как следствие из предыдущего, три "незачета" к началу
сессии -- ВЫЛЕТ с факультета в день начала сессии (28 дек 2010г).
Во-вторых, как следствие прочих ограничений, если зачет не сдан к
началу сессии, то следующая попытка ТОЛЬКО в день экзамена по данному
предмету, ЛИБО ТОЛЬКО ПОСЛЕ СЕССИИ. Вывод: "незачет" к началу сессии
-- это академзадолженность как минимум до даты экзамена, а по многим
курсам и спецсеминарам -- вообще до "допсы" (то есть стипендия --
мимо). Ещё важное следствие: два незачета к началу сессии -- это ВЫЛЕТ
с факультета после первого же "неуда" на сессии.
Кстати, зачет в третий раз сдаётся комиссии, как экзамен. По факту --
это не хорошо и не плохо, просто требование.
Итак, резюмирую выше сказанное: требования ОЧЕНЬ СУРОВЫЕ, поэтому к
началу сессии надо иметь ВСЕ зачеты. Отсутствие зачета к началу сессии
увеличивает шансы неосторожного студента вылететь ЕЩЁ ДО КОНЦА сессии.
"А напоследок я скажу": продумывайте стратегию поведения на сессии
очень аккуратно.
Удачи,
Я.А.
Добрый день!
Это писмьмо адресовано в первую очередь студентам, желающим продолжать
обучение на матмехе после предстоящей сессии. Я прошу старост и
активистов кросспостить в свои группы, чтобы гарантированно охватить
всех. Наверное, эта информация будет полезна и студентам других
специальностей, донесите и до них, пожалуйста.
Наверное, вы уже знаете, что ужесточаются правила сессии. Считаю
своим долгом напомнить об этом ещё раз и дать некоторые разъяснения,
чтобы предупредить неверное трактование фактов.
Начну с того, что напомню простую истину: третий академический долг на
сессии -- это запуск транзакции "отчисление студента". Академическими
долгами являются "неуды" и "незачеты". "Неявки" также превращаются в
задолженности, если в определённый срок не предоставлены документы,
подтверждающие "наличие уважительной причины пропуска".
И вроде бы ничего особо нового нет, но не тут то было.
Зачеты можно сдавать (читайте "закрывать академзадолженность по
зачету") ТОЛЬКО в установленные расписанием даты. Расписание
составляет деканат по заявкам преподавателей, НО с ограничениями.
Например, зачеты должны сдаваться до начала сессии должны.
Во-первых, как следствие из предыдущего, три "незачета" к началу
сессии -- ВЫЛЕТ с факультета в день начала сессии (28 дек 2010г).
Во-вторых, как следствие прочих ограничений, если зачет не сдан к
началу сессии, то следующая попытка ТОЛЬКО в день экзамена по данному
предмету, ЛИБО ТОЛЬКО ПОСЛЕ СЕССИИ. Вывод: "незачет" к началу сессии
-- это академзадолженность как минимум до даты экзамена, а по многим
курсам и спецсеминарам -- вообще до "допсы" (то есть стипендия --
мимо). Ещё важное следствие: два незачета к началу сессии -- это ВЫЛЕТ
с факультета после первого же "неуда" на сессии.
Кстати, зачет в третий раз сдаётся комиссии, как экзамен. По факту --
это не хорошо и не плохо, просто требование.
Итак, резюмирую выше сказанное: требования ОЧЕНЬ СУРОВЫЕ, поэтому к
началу сессии надо иметь ВСЕ зачеты. Отсутствие зачета к началу сессии
увеличивает шансы неосторожного студента вылететь ЕЩЁ ДО КОНЦА сессии.
"А напоследок я скажу": продумывайте стратегию поведения на сессии
очень аккуратно.
Удачи,
Я.А.
02 декабря 2010
25 ноября 2010
Мини-курс лекций "Анализ поисковых запросов"
Лекции "Анализ поисковых запросов", читает Павел Браславский, яндексоид из Екатеринбурга, в питерском CS клубе при ПОМИ. Вход свободный, возможно будет видеотрансляция. Первые две -- в субботу 27 ноября, следующие две в декабре.
http://logic.pdmi.ras.ru/csclub/searchqueryanalysis
От себя добавлю что анализ запросов -- очень интересная тема как для математиков -- любителей поковыряться во всякого рода статистике, так и для инженеров, нагло паразитирующих на исследованиях математиков и подстраивающих алгоритмы поиска и ранжирования в соответствии с их выводами.
http://logic.pdmi.ras.ru/csclub/searchqueryanalysis
От себя добавлю что анализ запросов -- очень интересная тема как для математиков -- любителей поковыряться во всякого рода статистике, так и для инженеров, нагло паразитирующих на исследованиях математиков и подстраивающих алгоритмы поиска и ранжирования в соответствии с их выводами.
Практика 25 ноября
Разминка
Какие из этих запросов найдут в таблице Employee(name, salary) имена сотрудников с максимальной зарплатой и собственно максимальную зарплату?
Какие из этих запросов найдут в таблице Employee(name, salary) имена сотрудников с максимальной зарплатой и собственно максимальную зарплату?
- SELECT name, MAX(salary) FROM Employee
- SELECT E1.name, E1.salary
FROM Employee E1 LEFT OUTER JOIN Employee E2 ON (E1.salary < E2.salary)
WHERE E2.name IS NULL - SELECT name, MAX(salary) FROM Employee
GROUP BY name - SELECT name, salary FROM Employee WHERE salary = (SELECT MAX(salary) FROM Employee)
18 ноября 2010
Практика 18 ноября
Разминка
Вы хотите просуммировать суммы выплаченных вашим сотрудникам зарплат за год и вывести в результат табличку с ФИО и суммой. Какие из этих запросов сделают то что вы хотите?
В таблице Payments есть поля employee_id (id сотрудника), name (ФИО сотрудника), month (месяц выплаты) и payment (сумма выплаты).
Слайды
Вы хотите просуммировать суммы выплаченных вашим сотрудникам зарплат за год и вывести в результат табличку с ФИО и суммой. Какие из этих запросов сделают то что вы хотите?
В таблице Payments есть поля employee_id (id сотрудника), name (ФИО сотрудника), month (месяц выплаты) и payment (сумма выплаты).
- SELECT name, SUM(payment) FROM Payments GROUP BY employee_id
- SELECT name, SUM(payment) FROM Payments GROUP BY employee_id, name
- SELECT p2.name, p1.sum_payment FROM
(SELECT employee_id, SUM(payment) AS sum_payment
FROM Payments GROUP BY employee_id) AS p1
JOIN
Payments p2 ON (p1.employee_id = p2.employee_id)
Слайды
16 ноября 2010
Лекция Джеффа Дина в Стенфорде
Тем кто интересуется поисковиками и понимает по-английски будет интересно послушать лекцию одного из лучших гугловских инженеров. В аудитории якобы было столько народу, что Дональду Кнуту пришлось сидеть на полу.
http://doubleclix.wordpress.com/2010/11/11/google-a-study-in-scalability-and-a-little-systems-horse-sense/
Там есть и видео в формате MMSH который на windows наверное будет играться сам, а на Linux потребует установки, например, vlc.
Не понимаешь английский? Продолжай косить его в универе.
http://doubleclix.wordpress.com/2010/11/11/google-a-study-in-scalability-and-a-little-systems-horse-sense/
Там есть и видео в формате MMSH который на windows наверное будет играться сам, а на Linux потребует установки, например, vlc.
Не понимаешь английский? Продолжай косить его в универе.
11 ноября 2010
Практика 11 ноября
Разминка
У вас есть таблицы A(id) и B(a_id, b). Какие из этих запросов найдут те A.id, которые НЕ упоминаются в B.a_id ?
Слайды
(полноэкранные)
У вас есть таблицы A(id) и B(a_id, b). Какие из этих запросов найдут те A.id, которые НЕ упоминаются в B.a_id ?
- SELECT id FROM A WHERE id NOT IN (SELECT a_id FROM B)
- SELECT id FROM A EXCEPT SELECT a_id AS id FROM B
- SELECT id FROM A LEFT OUTER JOIN B ON (A.id = B.a_id)
WHERE B.a_id IS NULL
Слайды
(полноэкранные)
09 ноября 2010
Идея курсовой, а то и диплома, для любителей карт и crowdsourcing
У меня есть слабость к (географическим) картам, и я в свободное время вожусь с открытым картографическим проектом OpenStreetMap. Суть его в том, что пользователи несколькими способами рисуют карты, нанося дороги, реки, дома, достопримечательности и так далее, а результат под свободной лицензией принадлежит всему миру. Его можно например закачать на навигатор и использовать для ориентирования.
Помимо всего прочего, на карту можно наносить Points Of Interest -- магазины, аптеки, рестораны и прочие заведения, которые могут быть людям интересны. У нас в России с такими заведениями есть проблема: они быстро исчезают и заменяются другими. Магазин, просуществовавший три года, можно считать старожилом.
Для того чтоб информация на карте была постоянно свежей, нужно её постоянно поддерживать. Нужно добавлять новые заведения и сообщать об исчезновении старых. Для этого даже заведён специальный сайт OpenStreetBugs, на котором несложно сообщить об изменениях, но всё равно нормальному человеку нужно на этот сайт хотя бы заходить. Я с трудом представляю себе толпу энтузиастов, каждый день топающую на OpenStreetBugs вместо контактега или жежешечки.
Кстати о контактеге. Туда-то все топают каждый день и порой даже оттуда не вылезают. И более того, многие услужливо заносят туда кое-какую географическую информацию: кто точное место жительства, кто неточное, кто название ВУЗа или места работы. По этой информации можно понять, в каком районе человек может быть если не экспертом по части заведений, но по крайней мере может по дороге домой что-нибудь посмотреть.
Соответственно идея инженерная: сделать приложение для контактега, которое будет раз в день (иначе надоест) спрашивать пользователя "скажи, кафе 'Сачок' ещё работает или уже склеило ласты?". И две кнопки -- "да" и "нет". Ответ нужно записывать где-нибудь на server-side и потом обрабатывать. Если 10 человек скажут что "Сачок" накрылся, значит он наверное и правда накрылся и можно уведомить об этом смотрителя Петродворцового района на OpenStreetMaps/Bugs.
А идея математическая такая: я конечно не буду счастлив отвечать на вопросы про Купчино, где я почти никогда не бываю и даже про те места, где я бываю, я не буду счастлив отвечать 10 раз подряд. Нужна такая модель, которая будет разумно составлять пары (пользователь, POI) и показывать их. Учитывать географические данные пользователя. Учитывать как часто его уже спрашивали об этой точке. Учитывать насколько устарели данные об этой точке. Учитывать то что часто спрашивать нельзя и выбирать только наиболее актуальные вопросы.
Если кому интересно этим заняться, под моим руководством или под чьим-то ещё, feel free.
Помимо всего прочего, на карту можно наносить Points Of Interest -- магазины, аптеки, рестораны и прочие заведения, которые могут быть людям интересны. У нас в России с такими заведениями есть проблема: они быстро исчезают и заменяются другими. Магазин, просуществовавший три года, можно считать старожилом.
Для того чтоб информация на карте была постоянно свежей, нужно её постоянно поддерживать. Нужно добавлять новые заведения и сообщать об исчезновении старых. Для этого даже заведён специальный сайт OpenStreetBugs, на котором несложно сообщить об изменениях, но всё равно нормальному человеку нужно на этот сайт хотя бы заходить. Я с трудом представляю себе толпу энтузиастов, каждый день топающую на OpenStreetBugs вместо контактега или жежешечки.
Кстати о контактеге. Туда-то все топают каждый день и порой даже оттуда не вылезают. И более того, многие услужливо заносят туда кое-какую географическую информацию: кто точное место жительства, кто неточное, кто название ВУЗа или места работы. По этой информации можно понять, в каком районе человек может быть если не экспертом по части заведений, но по крайней мере может по дороге домой что-нибудь посмотреть.
Соответственно идея инженерная: сделать приложение для контактега, которое будет раз в день (иначе надоест) спрашивать пользователя "скажи, кафе 'Сачок' ещё работает или уже склеило ласты?". И две кнопки -- "да" и "нет". Ответ нужно записывать где-нибудь на server-side и потом обрабатывать. Если 10 человек скажут что "Сачок" накрылся, значит он наверное и правда накрылся и можно уведомить об этом смотрителя Петродворцового района на OpenStreetMaps/Bugs.
А идея математическая такая: я конечно не буду счастлив отвечать на вопросы про Купчино, где я почти никогда не бываю и даже про те места, где я бываю, я не буду счастлив отвечать 10 раз подряд. Нужна такая модель, которая будет разумно составлять пары (пользователь, POI) и показывать их. Учитывать географические данные пользователя. Учитывать как часто его уже спрашивали об этой точке. Учитывать насколько устарели данные об этой точке. Учитывать то что часто спрашивать нельзя и выбирать только наиболее актуальные вопросы.
Если кому интересно этим заняться, под моим руководством или под чьим-то ещё, feel free.
29 октября 2010
Вот как нужно работать в университете
http://googleappengine.blogspot.com/2010/10/research-project-appscale-at-university.html
Коротко содержание: ребята плакали-плакали что у них нет подходящей кластерной инфраструктуры для их проектов, а потом посмотрели на гугловский App Engine, им понравилось и они за два года сделали себе такой же, но с открытым кодом. И теперь счастливы. Один доцент и несколько аспирантов и студентов. Безо всяких там Интелов. Что-то мне подсказывает, что с трудоустройством у них проблем не будет.
А у нас, мать-перемать, кто только не крутится вокруг матмеха, а толком даже расписания нормального на сайте нет. Не стыдно?
Коротко содержание: ребята плакали-плакали что у них нет подходящей кластерной инфраструктуры для их проектов, а потом посмотрели на гугловский App Engine, им понравилось и они за два года сделали себе такой же, но с открытым кодом. И теперь счастливы. Один доцент и несколько аспирантов и студентов. Безо всяких там Интелов. Что-то мне подсказывает, что с трудоустройством у них проблем не будет.
А у нас, мать-перемать, кто только не крутится вокруг матмеха, а толком даже расписания нормального на сайте нет. Не стыдно?
28 октября 2010
Практика 28 октября
Разминка
SELECT a, SUM(b) AS foo FROM Table1 GROUP BY a
1.
a foo
------
1 2
2 6
2.
a foo
------
1 2
2 2
Слайды
полноэкранные
Вопрос 1. Что получится в результате выполнения запроса?
Table1
a b c
---------
1 1 1
2 3 4
1 1 7
2 3 8
SELECT * FROM Table1 GROUP BY a
- Будет напечатана вся таблица
- Для каждого значения "a" посчитают сумму в столбцах "b" и "c"
- Запрос не выполнится потому что не используются агрегатные функции
- Запрос не выполнится потому что в SELECT используются недопустимые в данном случае атрибуты
Вопрос 2. А с этим запросом и такой же таблицей что будет?
SELECT a, SUM(b) AS foo FROM Table1 GROUP BY a
1.
a foo
------
1 2
2 6
2.
a foo
------
1 2
2 2
полноэкранные
16 октября 2010
Дни Суперкомпьютерных технологий в офисе Intel
Звучит громко, в реальности наверное будет поскромнее, но наверное всё равно интересно. Обратите внимание что требуется регистрация.
14 октября 2010
Практика 14 октября
Разминка
Вопрос 1. Сколько строк будет в результате SELECT'а?
Вопрос 1. Сколько строк будет в результате SELECT'а?
CREATE TABLE Автомобиль(
рег_номер CHAR(6) PRIMARY KEY, марка VARCHAR(20))
INSERT INTO Автомобиль (рег_номер, марка)
VALUES ('м000ск', 'Субару')
INSERT INTO Автомобиль (рег_номер, марка)
VALUES ('м001ск', 'Cубару')
INSERT INTO Автомобиль (рег_номер, марка)
VALUES ('м002ск', 'Subaru')
SELECT * FROM Автомобиль WHERE марка = 'Субару'
Вопрос 2. Сколько будет в результате выполнения запроса если в таблице N строк?
CREATE TABLE Foobar (id INT PRIMARY KEY, value INT)
SELECT * FROM Foobar f1 JOIN Foobar f2 ON (f1.id = f2.id)
- 0 строк
- N строк
- N*N строк
- Заранее неизвестно
- Запрос не выполнится
Слайды
07 октября 2010
Разминка
Вопрос 1.
Что произойдет в результате выполнения скрипта:
CREATE TABLE A (
a1 INT, a2 VARCHAR, a3 NUMERIC, UNIQUE (a1, a2))
CREATE TABLE B (
b1 VARCHAR, b2 NUMERIC, b3 INT,
FOREIGN KEY (b1, b2) REFERENCES A(a2,a3))
Вопрос 1.
Что произойдет в результате выполнения скрипта:
CREATE TABLE A (
a1 INT, a2 VARCHAR, a3 NUMERIC, UNIQUE (a1, a2))
CREATE TABLE B (
b1 VARCHAR, b2 NUMERIC, b3 INT,
FOREIGN KEY (b1, b2) REFERENCES A(a2,a3))
- Скрипт не выполнится, потому что внешний ключ не может быть составным
- Скрипт не выполнится, потому что ссылочные атрибуты не являются ключом
- Скрипт не выполнится, потому что имена ссылающихся и ссылочных атрибутов разные
- Скрипт выполнится без ошибок
Вопрос 2.
Вы делаете связь многие-ко-многим между товарами и поставщиками у которой есть собственный атрибут, например, цена данного товара у данного поставщика. Вы хотите чтоб цена была уникальна для пары (товар, поставщик). Чего не хватает в этом операторе?
CREATE TABLE Goods_Supplier(
goods_id INT FOREIGN KEY REFERECES Goods,
supplier_id INT FOREIGN KEY REFERENCES Supplier,
price NUMERIC (10, 2) CHECK (price >= 0))
CREATE TABLE Goods_Supplier(
goods_id INT FOREIGN KEY REFERECES Goods,
supplier_id INT FOREIGN KEY REFERENCES Supplier,
price NUMERIC (10, 2) CHECK (price >= 0))
- Да вроде всё на месте
- Ограничения UNIQUE для цены
- Ограничения UNIQUE для каждого из внешних ключей
- Ограничения UNIQUE для пары внешних ключей
- Ограничения UNIQUE для всей тройки атрибутов
Слайды
30 сентября 2010
Практика 30 сентября
Разминка
Вопрос 1. Что произойдет в результате выполнения скрипта:
1: CREATE TABLE A (a1 INT, a2 VARCHAR)
2: INSERT INTO A (a2, a1) VALUES ('12345', 12345)
- Скрипт упадет потому что порядок атрибутов в добавляемом кортеже не соответствует порядку атрибутов в таблице
- Скрипт упадет потому что строчка '12345' не поместится в отведенный атрибуту a2 тип
- Скрипт выполнится успешно
Вопрос 2. Вам даны синтаксические правила:
<рецепт> := <тип_блюда> название_блюда : <список_ингредиентов>
<тип_блюда> := СУП | САЛАТ | ЗАКУСКА
<список_ингредиентов> := <ингредиент> [,...n]
<ингредиент> := <название продукта> [<число> <единица измерения>]
<название_продукта> := ЛУК | ПОМИДОР | CОЛЬ | ВОДА | ХЛЕБ | МАСЛО
<единица_измерения> := ГР. | ШТ. | СТ.Л. | СТАК.
<число> -- вещественное число с точкой
В каком из этих рецептов есть синтаксическая ошибка и почему?
- СУП томатный : ПОМИДОР 1000 ГР., ВОДА 2 ШТ.
- САЛАТ пикантный : ЛУК 1 ШТ., ПОМИДОР 2 ШТ., МАСЛО СТ.Л.
- ЗАКУСКА Хлеб-Соль : ХЛЕБ, СОЛЬ
Слайды
23 сентября 2010
Практика 23 сентября
Разминка
Вопрос 1.
Пусть существует связь R между множествами сущностей A и B. Кардинальность участника A равна 1, кардинальность участника B равна *. Какое из этих утверждений является верным?
1. Один экземпляр сущности A может участвовать только в одном экземпляре связи
2. Один экземпляр сущности B может участвовать только в одном экземпляре связи
3. В одном экземпляре связи участвует один экземпляр сущности A и неограниченное количество экземпляров сущности B
Вопрос 2.
Пусть класс A наследует класс B, а тот наследует класс С. Пусть есть еще класс D. Какое из этих утверждений является НЕверным?
1. В сущности А есть все свойства определенные в классе С
2. Сущности A и B могут принимать участие во всех связях, в которых могут принимать участие сущности C
3. При удалении какой-либо сущности C удаляются все сущности A и B
4. Сущность C не может участвовать в связи R(A,D)
Слайды (полноэкранные)
Вопрос 1.
Пусть существует связь R между множествами сущностей A и B. Кардинальность участника A равна 1, кардинальность участника B равна *. Какое из этих утверждений является верным?
1. Один экземпляр сущности A может участвовать только в одном экземпляре связи
2. Один экземпляр сущности B может участвовать только в одном экземпляре связи
3. В одном экземпляре связи участвует один экземпляр сущности A и неограниченное количество экземпляров сущности B
Вопрос 2.
Пусть класс A наследует класс B, а тот наследует класс С. Пусть есть еще класс D. Какое из этих утверждений является НЕверным?
1. В сущности А есть все свойства определенные в классе С
2. Сущности A и B могут принимать участие во всех связях, в которых могут принимать участие сущности C
3. При удалении какой-либо сущности C удаляются все сущности A и B
4. Сущность C не может участвовать в связи R(A,D)
Слайды (полноэкранные)
16 сентября 2010
Практика 16 сентября
Разминка
Что из нижеперечисленного можно делать в компьютерном классе?
Практика, часть 1 (полнозкранные слайды)
Практика, часть 2 (полноэкранные слайды)
Что из нижеперечисленного можно делать в компьютерном классе?
- Разговаривать по мобильному телефону с мамой
- Пытаться сотворить интересные вещи с вашим любимым новостным сайтом путем вбивания HTML кода в форуме
- Пробовать запускать SQL скрипты, написанные для MS SQL Server'а, в программе MS Access
- Сидеть в углу, жевать бутерброд и запивать его чаем, громко прихлебывая
Что можно сгенерировать из ER модели данных?
- SQL код
- Java код
- И то и другое
- Ничего
Практика, часть 1 (полнозкранные слайды)
Практика, часть 2 (полноэкранные слайды)
09 сентября 2010
СУБД: что, где, когда и у кого.
Коротко о главном.
Правила проведения сессии
Где и когда
Лекции читаю я, Дмитрий Барашев, по четвергам на третьей паре, пока что в аудитории 03.
Практику в группах 423 и 424 тоже веду я и тоже по четвергам, практику в группах 421 и 422 ведётАлександр Дольник Анастасия Григорьева по средам.
Зачёт и экзамен
По курсу начная с этого, 2010 года сдаётся экзамен и это хорошо. Зачёта нет, но сдать экзамен без допуска по практике не получится.
На практике нужно научиться выполнять практические действия с настоящей живой СУБД и доказать ваше умение преподавателю. Качественное выполнение двух контрольных работ является необходимым условием, преподаватель волен добавлять дополнительные условия (например, домашние работы).
На экзамене, традиционно, два вопроса, подготовка, беседа с экзаменатором, получение оценки.
На экзамене можно пользоваться любой литературой и конспектами. На него не надо приходить, не прочитав хотя бы конспект. На нём не надо заниматься ручным ксерокопированием текста из конспекта на листочек.
Контакты
Дмитрий Барашев:
Правила проведения сессии
Обратите дражайшее внимание на правила проведения сессии. Где найти присланный "сверху" 70-страничный документ не знаю (не на сайте матмеха же, на самом деле), но некоторые неленивые преподаватели сделали из него выжимку.
Где и когда
Лекции читаю я, Дмитрий Барашев, по четвергам на третьей паре, пока что в аудитории 03.
Практику в группах 423 и 424 тоже веду я и тоже по четвергам, практику в группах 421 и 422 ведёт
Зачёт и экзамен
По курсу начная с этого, 2010 года сдаётся экзамен и это хорошо. Зачёта нет, но сдать экзамен без допуска по практике не получится.
На практике нужно научиться выполнять практические действия с настоящей живой СУБД и доказать ваше умение преподавателю. Качественное выполнение двух контрольных работ является необходимым условием, преподаватель волен добавлять дополнительные условия (например, домашние работы).
На экзамене, традиционно, два вопроса, подготовка, беседа с экзаменатором, получение оценки.
На экзамене можно пользоваться любой литературой и конспектами. На него не надо приходить, не прочитав хотя бы конспект. На нём не надо заниматься ручным ксерокопированием текста из конспекта на листочек.
Контакты
Дмитрий Барашев:
- почта для общения на тему этого курса: dbms гавгав barashev.net
- веб: http://barashev.net
- вконтакте: http://vkontakte.ru/id6171*
*не нужно нарываться на дружбу до окончания курса
Практические работы на весь семестр
Большое практическое задание, которое делается в течении семестра, на факультете во время практики или дома. Цель его -- подготовиться к контрольной. Считается, что тот, кто к домашней работе даже не притрагивался, тот к контрольной не готов, и только зря будет терять на ней время. Поэтому домашнюю работу надо делать и не имеет смысла списывать (даже если и получится подсунуть списанное, к контрольной это вас не подготовит). Ее можно делать вдвоем, можно (и нужно) консультироваться с о мной если вдруг что непонятно (и даже если всё понятно), можно делать дома и в аудитории, можно и нужно присылать результаты по почте.
Варианты работы (можно выбирать любой, если только все не кинутся делать один и тот же):
Варианты работы (можно выбирать любой, если только все не кинутся делать один и тот же):
10 июня 2010
Защита окончена!
За последние пару недель я побывал на четырёх сеансах защит дипломов, написал три рецензии и один отзыв как руководитель. Ходил в гости к кафедре прикладной кибернетики (приятно удивили), информатики и дважды к системному программированию.
Больше всего понравились:
Больше всего понравились:
- Денис Рысцов c поисковиком по математическим формулам
- Егор Елизаров с видеоплеером для Андроида на аппаратных стероидах
А также Даша Богданова с переносными смыслами, Дмитрий Василик с транзакциями для bigtable и ещё кто-то (Андрей Шевченко, кажется) со стереоизображениями на GPU. Было ещё несколько неплохих работ и порядочное количество какого-то белого шума. Респект рецензентам, не постеснявшимся заявить что описанная машинка "ремингтон" в соединении с выпрямителем, неоновой лампочкой и тумблером не содержит ничего необъясненного.
PS. Вот говорят, что в АФТУ перед объявлением оценок 40 минут препираются, и могут поставить "хорошо" даже если научрук вместе с рецензентом ставят "отлично". Врут наверное.
PPS. Я конечно же субъективен и предвзят, а пост проплачен
04 мая 2010
Наши люди в финале соревнования SIGMOD по программированию
Думаю что такое событие заслуживает рекламы.
Участники нашей группы исследования методов организации информации вышли в финал соревнования SIGMOD по программированию. Соревнование, если коротко, заключалось в написании распределённого движка для выполнения запросов над реляционными данными, в нём принимали участие 29 команд, в финал вышли 5. Финалисты представят свои работы на конференции SIGMOD Лидирует пока что довольно ожидаемо команда из Стенфорда.
Амбициозной целью соревнований является построение полностью открытой распределённой СУБД. В прошлом году сделали некую реализацию индексов, в этом её используют для работы движка, в следующем наверное будет что-то ещё. Список спонсоров соревнования внушает уважение.
Слабо кому-нибудь в следующем году повторить достижение, а? Это не ACM ICPC, проходить сквозь сито зональных соревнований не нужно, стрессового ограничения времени в несколько часов нет, решается вполне себе реальная задача. Вперёд, хватит в контакте то сидеть да в игрушки играться.
Участники нашей группы исследования методов организации информации вышли в финал соревнования SIGMOD по программированию. Соревнование, если коротко, заключалось в написании распределённого движка для выполнения запросов над реляционными данными, в нём принимали участие 29 команд, в финал вышли 5. Финалисты представят свои работы на конференции SIGMOD Лидирует пока что довольно ожидаемо команда из Стенфорда.
Амбициозной целью соревнований является построение полностью открытой распределённой СУБД. В прошлом году сделали некую реализацию индексов, в этом её используют для работы движка, в следующем наверное будет что-то ещё. Список спонсоров соревнования внушает уважение.
Слабо кому-нибудь в следующем году повторить достижение, а? Это не ACM ICPC, проходить сквозь сито зональных соревнований не нужно, стрессового ограничения времени в несколько часов нет, решается вполне себе реальная задача. Вперёд, хватит в контакте то сидеть да в игрушки играться.
10 апреля 2010
06 апреля 2010
Дни сантехника
Хоть и становятся дни сантехника всё скучнее, но чем не повод выпить и закусить потусоваться. Я собираюсь 8 и 9 быть в Ленэкспо, желающие поговорить ищите меня где-нибудь там. Если вдруг есть желающие сдать зачёт по СУБД, в количестве не более двух штук, то у вас будет шанс сделать это там в Ленэкспо в четверг с 12:00 до 14:00 (подходить чтоб получить случайно сгенерированные вопросы надо к 10:00. Заодно сможете и на Джеймса Гослинга полюбоваться). Предварительно нужно заявить о своём желании по почте России.
30 марта 2010
А вот кому $5000 за студенческое программирование?
Summer of Code -- это отличная возможность провести лето на даче с пользой, создавая нетленный код под присмотром опытных инженеров из opensource проектов и получая за это немалые в общем-то деньги (вообще фантастика). Читайте анонс и спешите подавать заявки до 9 апреля!
09 марта 2010
Анонс лекции про Machine Learning
Рекомендую захватить в четверг с собой сухой паёк и вместо обеда послушать лекцию о машинном обучении и его применении в промышленности.
11 марта 2010 года в 13:00 в ауд. 405
руководитель группы в исследовательской лаборатории корпорации Siemens Dr. Bernhard Lang прочитает лекцию на тему
"Machine Learning and its application in industry"
Abstract:
Machine learning methods have achieved a degree of maturity that they are applied in really mission-critical control tasks. A short overview of state-of-the-art methods in Machine Learning will be given. Moreover, by presenting machine learning applications e.g. in automation systems for the steel industry key-factors and pre-conditions for the success of machine learning methods will be discussed.
Приглашаются студенты 2-4 курса, заинтересованные в участии в исследовательских проектах, методах машинного обучения, экспертных системах, логическом анализе данных (data mining) и смежных областях.
11 марта 2010 года в 13:00 в ауд. 405
руководитель группы в исследовательской лаборатории корпорации Siemens Dr. Bernhard Lang прочитает лекцию на тему
"Machine Learning and its application in industry"
Abstract:
Machine learning methods have achieved a degree of maturity that they are applied in really mission-critical control tasks. A short overview of state-of-the-art methods in Machine Learning will be given. Moreover, by presenting machine learning applications e.g. in automation systems for the steel industry key-factors and pre-conditions for the success of machine learning methods will be discussed.
Приглашаются студенты 2-4 курса, заинтересованные в участии в исследовательских проектах, методах машинного обучения, экспертных системах, логическом анализе данных (data mining) и смежных областях.
03 марта 2010
Спаси и сохрани в университетах лучших :)
Наткнулся недавно, с помощью друзей, на новую (относительно) идею-фикс небезызвестного профессора Ш. Идея заключается в том, чтоб IT конторы не брали только что закончившего университет перспективного специалиста к себе работать, а оплачивали вместо этого ему преподавание в университете, если конечно он сам хочет преподавать. Save the best, говорит нам профессор в своей традиционной неподражаемой манере.
Если бы я был IT конторой то мне было бы не очень понятно, чему такому за мои деньги сможет научить вчерашний студент, ни разу не нюхавший промышленного пороха и не написавший в своей жизни ни одной программы длиннее 1000 строк, не говоря уж о unit тестах. Разум в чистом виде и в Google-то не очень нужен, а уж в среднестатистической-то конторе он не нужен и подавно. Не умеешь довести свою фичу до конца, подумать про удобный и приятный UI, вылизать пикселы, написать скучные тесты и потом кропотливо фиксить баги? Иди сражайся дальше на олимпиадах. Не понимаю, как эти вещи сможет объяснить тот кто их не знает, будь он хоть трижды the best.
Я при этом кстати совершенно не против финансирования конторами учебных курсов, на которых настоящие инженеры учат более приближенным к реальности вещам (и может быть даже не очень настоящие инженеры заодно учат вещам более научным) и с удовольствием рекламирую Академию Современного Программирования.
Пост проплачен конечно же промышленностью, да.
UPD: коварная промышленность подкатила ещё мешок денег и попросила попиарить Computer Science клуб при ПОМИ.
Если бы я был IT конторой то мне было бы не очень понятно, чему такому за мои деньги сможет научить вчерашний студент, ни разу не нюхавший промышленного пороха и не написавший в своей жизни ни одной программы длиннее 1000 строк, не говоря уж о unit тестах. Разум в чистом виде и в Google-то не очень нужен, а уж в среднестатистической-то конторе он не нужен и подавно. Не умеешь довести свою фичу до конца, подумать про удобный и приятный UI, вылизать пикселы, написать скучные тесты и потом кропотливо фиксить баги? Иди сражайся дальше на олимпиадах. Не понимаю, как эти вещи сможет объяснить тот кто их не знает, будь он хоть трижды the best.
Я при этом кстати совершенно не против финансирования конторами учебных курсов, на которых настоящие инженеры учат более приближенным к реальности вещам (и может быть даже не очень настоящие инженеры заодно учат вещам более научным) и с удовольствием рекламирую Академию Современного Программирования.
Пост проплачен конечно же промышленностью, да.
UPD: коварная промышленность подкатила ещё мешок денег и попросила попиарить Computer Science клуб при ПОМИ.
01 марта 2010
Книги издательства O'Reilly online
Некий немецкий проект PaperC даёт online доступ к нескольким сотням книг издательства O'Reilly. Читать в средней степени убогости интерфейсе можно бесплатно, скачивать PDF -- за деньги. Выбор неплох. Вот "Database in Depth" Дейта почитать можно, например, или "Java Swing". Весьма неплохо, учитывая абсолютное отсутствие вменяемой литературы в наших книжных магазинах.
У ПаперЦа есть серьёзный недостаток -- весь интерфейс там блин на немецком (книги в основном на английском, хоть поначалу и не скажешь). Но у меня с моим близким к нулю знанием этого языка получилось таки продраться, зарегистрироваться и что-то там почитать.
Немного подробнее на хабре: http://habrahabr.ru/blogs/startup/85667/
У ПаперЦа есть серьёзный недостаток -- весь интерфейс там блин на немецком (книги в основном на английском, хоть поначалу и не скажешь). Но у меня с моим близким к нулю знанием этого языка получилось таки продраться, зарегистрироваться и что-то там почитать.
Немного подробнее на хабре: http://habrahabr.ru/blogs/startup/85667/
24 февраля 2010
СУБД: Четверг 25 февраля
Кажется, есть желающие начать делать практику (своевременно!) поэтому скорее всего буду в компьютерных классах со второй пары. Искать информацию, в любом случае, на 4390
15 февраля 2010
Вакансии стажёров в EMC
Кто там хотел вакансии стажёров? Ловите: http://adhoceducation.blogspot.com/2010/01/emc-st-petersburg-sw-intern-positions.html
09 февраля 2010
06 февраля 2010
Расслабься и получай удовольствие
В процессе распития вечерней рюмки чая с коллегами поднялась флеймообразующая тема. Коротко и несколько утрированно суть: ты обучался несколько лет чистой математике и все эти годы тебя и твоих товарищей учили что только математика есть Наука и Занятие Достойное Уважения, а в программисты идут те, кто матан или там матфизику ниасилил. И вдруг по какой-то причине ты переметнулся в программирование. На тебя смотрят как на изгоя (ну по крайней мере тебе так кажется) и ты чувствуешь себя не очень комфортно из-за того что предал настоящую науку и стал заниматься каким-то ремеслом. Что делать?
Мой ответ в трёх словах: расслабься и получай удовольствие. И немного более подробно (извините за многабукв):
Мой ответ в трёх словах: расслабься и получай удовольствие. И немного более подробно (извините за многабукв):
- Не существует априорного разделения на занятия достойные и недостойные уважения, даже если брать в расчёт только занятия для человека, близкого к математике. Существуют те, кто свою работу делает хорошо, честно, ответственно и с душой и те, кто свою работу делает в лучшем случае формально, а в худшем просто спустя рукава или откровенно саботируя. Вне зависимости от того, какая это конкретно работа, первые достойны всяческого уважения а вторых в меру возможностей надо избегать. Да здравствуют дворники, у которых чистый двор и повара, делающие вкусные блины, даже если они не умеют решить квадратное уравнение. Луч диареи тем учёным, которые в десятый раз за последние десять лет посылают одну и ту же работу под разными соусами на разные конференции и тем преподавателям, которые в аудитории отбывают номер, а к студентам обращаются на "ты" в духе "ну там, на задней парте! Скажи, к чему этот интеграл сходится?"
- Отбрасывая все прочие (для многих очень важные) критерии, выбирать работу надо не по принципу "если я не буду крутым в матфизике то меня сочтут тупым", а так чтоб от работы ты получал кайф. Если ты испытываешь удовольствие от того что в Твиттере весь день люди со всего мира восхищаются твоей новой фичей, или от того что только что отловленный и пофикшенный баг сделал легче жизнь одной-единственной Елены Васильевны в бухгалтерии, то значит тебе стоит заниматься этим ремеслом.
- Если кто-то считает тебя недоразвитым только из-за того что ты бросил математику, и не удосуживается хотя бы поинтересоваться, а чем ты там занимаешься в программировании и скольким тысячам людей ты своим делом принёс пусть небольшую, но пользу, то тебе придётся напрячься, но совсем немного. Надо напрячь полтора десятка мышц на лице и три на среднем пальце. Тебе сразу станет намного легче.
14 января 2010
Летняя школа Microsoft про структурам данных и алгоритмам
Не могу не попиарить полезное мероприятие. Пять курсов, один интересней другого, предлагает вам послушать в середине августа в Санкт-Петербурге компания Microsoft. Не пропускайте, срок предварительной регистрации истекает через месяц, а срок подачи заявки через два.
Статья Страуструпа об обучении программистов в университетах
В январском номере Communication of the ACM Бьярн Страуструп рассуждает о том, что выпускаемые университетами "программисты" программировать-то на самом деле не умеют, и о причинах такого явления. Статья совсем небесспорная и в немалой степени ориентированная на американскую систему образования, но и российским студентам (да и преподавателям, и руководителям предприятий) есть что в ней почитать. Перевод на русский язык читайте на хабрахабре.
Вообще этот номер CACM удался, там кроме Страуструпа показывают ещё очередной раунд битвы титанов по поводу Map-Reduce.
Вообще этот номер CACM удался, там кроме Страуструпа показывают ещё очередной раунд битвы титанов по поводу Map-Reduce.
Подписаться на:
Сообщения (Atom)