Алгоритмы и структуры данных 1 (основной поток)
Содержание
Предварительные результаты
Лекции и ДЗ
Лектор: Михаил Сергеевич Густокашин
Лекции по вторникам с 11:10 до 12:30 и по четвергам с 13:00 до 14:20.
№ | Дата | Тема | ДЗ | Запись | Дедлайн |
---|---|---|---|---|---|
1 | 1.11 | Алгоритмы и их сложность | ДЗ 1 | 10.11 | |
2 | 3.11 | Динамический массив. Стек. Очередь. Дек | ДЗ 2 | 12.11 | |
3 | 8.11 | Сортировки. Куча | ДЗ 3 | Запись лекции | 17.11 |
4 | 10.11 | Быстрая сортировка. Двоичный поиск | ДЗ 4 | Запись лекции | 21.11 |
5 | 15.11 | Сортировка подсчетом и поразрядная. Хеш-таблицы. | ДЗ 5 | Хеш-таблицы | 24.11 |
6 | 17.11 | Два указателя. Сортировка событий | ДЗ 6 | 27.11 | |
7 | 22.11 | Динамическое программирование. Классические задачи | ДЗ 7 | 4.12 | |
- | 24.11 | Защита ДЗ 1-5 | см. ниже | - | |
8 | 29.11 | Двумерная динамика. Динамика по подстрокам | ДЗ 8 | 8.12 | |
9 | 1.12 | Динамическое программирование. Задача о рюкзаке. Жадные алгоритмы | ДЗ 9 | 11.12 | |
10 | 6.12 | Хеши для строк | ДЗ 10 | Часть 1, Часть 2 | 15.12 |
11 | 8.12 | Биномиальная и Фибоначчиевы кучи | Запись 2021 года, ответы на вопросы 13.12 | ||
12 | 13.12 | Запасная лекция | - | - | |
- | 15.12 | Защита ДЗ 6-10 | - | - | |
- | 20.12 | Переписывание защиты по выбору студента | - | - |
Система оценки
Оценка за весь курс: 0.3 * ДЗ1-5 + 0.3 * ДЗ6-10 + 0.1 * Семинары + 0.3 * Экзамен
Оценка за может быть выставлена автоматом, если выполнены два условия:
- текущая оценка ((0.3 * ДЗ1-5 + 0.3 * ДЗ6-10 + 0.1 * Семинары) / 0.7) >= 7.5
- оценка за семинары >= 7.5
Автоматом выставляется текущая оценка.
Округление происходит один раз, при выставлении оценки за весь курс. При выставлении оценки за предмет АиСД-1 (2 и 4 модули) учитывается неокругленная оценка за 2 модуль
Защита ДЗ 1-5
Защита ДЗ будет проходить в онлайн-формате с использованием прокторинга. Описание прокторинга: http://wiki.cs.hse.ru/%D0%9A%D0%A0_1_%D0%9E%D0%B8%D0%9C%D0%9F-3_2021, защиту можно написать в лекционной аудитории (запись с камеры и скринкаста все равно обязательна)
Вход в контест: https://official.contest.yandex.ru/contest/43701
Форма для сдачи записанных видео: https://docs.google.com/forms/d/e/1FAIpQLSeX9LJ889VgFolfTdlPyUl6Dec9-AOTfDh8uNgPBRRK0wJjjA/viewform
На защите ДЗ разрешается использовать эту вики-страницу, сайт https://docs.python.org, а также свои решения задач из контестов с домашними заданиями.
Предварительная оценка за ДЗ (обозначатся в формулах как ДЗ) считается как средняя оценка за все ДЗ с 1 по 5 включительно. Защита ДЗ состоит из 5 задач. Итоговая оценка определяется следующим образом:
- Если на защите решено 0 задач: ДЗ * 0.25
- Если на защите решена 1 задача: min(ДЗ, max(0, 2 + (ДЗ - 2) * 0.25))
- Если на защите решено 2 задачи: min(ДЗ, 4 + max(0, (ДЗ - 4) * 0.5))
- Если на защите решено 3 задачи: min(ДЗ, 6 + max(0, (ДЗ - 6) * 0.75))
- Если на защите решено 4 задачи: ДЗ
- Если на защите решено 5 задач: min(ДЗ + 2, 10)
В таблице показаны примеры применения формулы для целочисленных значений ДЗ:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 0,25 | 0,5 | 0,75 | 1 | 1,25 | 1,5 | 1,75 | 2 | 2,25 | 2,5 |
1 | 0 | 1 | 2 | 2,25 | 2,5 | 2,75 | 3 | 3,25 | 3,5 | 3,75 | 4 |
2 | 0 | 1 | 2 | 3 | 4 | 4,5 | 5 | 5,5 | 6 | 6,5 | 7 |
3 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 6,75 | 7,5 | 8,25 | 9 |
4 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
5 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 10 | 10 |
Защита ДЗ 6-10
Защита ДЗ будет проходить в онлайн-формате с использованием прокторинга. Описание прокторинга: http://wiki.cs.hse.ru/%D0%9A%D0%A0_1_%D0%9E%D0%B8%D0%9C%D0%9F-3_2021, защиту можно написать в лекционной аудитории (запись с камеры и скринкаста все равно обязательна)
Вход в контест: https://official.contest.yandex.ru/contest/44528
Форма для сдачи записанных видео: https://docs.google.com/forms/d/e/1FAIpQLSdK7SGYrxfRvQ6Qc-9aPFDj2wXXOFlWzUCM1gaJr-1YwJkoeA/viewform
На защите ДЗ разрешается использовать эту вики-страницу, сайт https://docs.python.org, а также свои решения задач из контестов с домашними заданиями.
Предварительная оценка за ДЗ (обозначатся в формулах как ДЗ) считается как средняя оценка за все ДЗ с 6 по 10 включительно. Защита ДЗ состоит из 5 задач. Итоговая оценка определяется следующим образом:
- Если на защите решено 0 задач: ДЗ * 0.5
- Если на защите решена 1 задача: min(ДЗ, max(0, 2 + (ДЗ - 2) * 0.5)
- Если на защите решено 2 задачи: min(ДЗ, 4 + max(0, (ДЗ - 4) * 0.75))
- Если на защите решено 3 задачи: min(ДЗ, 6 + max(0, (ДЗ - 6) * 0.75))
- Если на защите решено 4 задачи: ДЗ
- Если на защите решено 5 задач: min(ДЗ + 2, 10)
Переписывание защиты ДЗ
Переписывание защиты ДЗ будет проходить в онлайн-формате с использованием прокторинга. Описание прокторинга: http://wiki.cs.hse.ru/%D0%9A%D0%A0_1_%D0%9E%D0%B8%D0%9C%D0%9F-3_2021, защиту можно написать в лекционной аудитории (запись с камеры и скринкаста все равно обязательна). Переписывать можно любую защиту, выставляется лучшая оценка из защиты и переписывания
Вход в контест для переписывания защиты ДЗ 1-5: https://official.contest.yandex.ru/contest/44642
Вход в контест для переписывания защиты ДЗ 6-10: https://official.contest.yandex.ru/contest/44643
Форма для сдачи записанных видео: https://docs.google.com/forms/d/e/1FAIpQLSdAQpZ9Xbqlpc-Rtwv_2QY5iHvr2gtMxoV5FvCLPwKdcg8-og/viewform
На переписывании защиты ДЗ разрешается использовать эту вики-страницу, сайт https://docs.python.org, а также свои решения задач из контестов с домашними заданиями.
Предварительная оценка за ДЗ (обозначатся в формулах как ДЗ) считается как средняя оценка за все ДЗ с 1 по 5 или с 6 по 10 включительно. Защита ДЗ состоит из 5 задач. Итоговая оценка определяется следующим образом:
- Если на защите решено 0 задач: ДЗ * 0.25
- Если на защите решена 1 задача: min(ДЗ, max(0, 2 + (ДЗ - 2) * 0.25))
- Если на защите решено 2 задачи: min(ДЗ, 4 + max(0, (ДЗ - 4) * 0.5))
- Если на защите решено 3 задачи: min(ДЗ, 6 + max(0, (ДЗ - 6) * 0.75))
- Если на защите решено 4 задачи: ДЗ
- Если на защите решено 5 задач: min(ДЗ + 2, 10)
В таблице показаны примеры применения формулы для целочисленных значений ДЗ:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 0,25 | 0,5 | 0,75 | 1 | 1,25 | 1,5 | 1,75 | 2 | 2,25 | 2,5 |
1 | 0 | 1 | 2 | 2,25 | 2,5 | 2,75 | 3 | 3,25 | 3,5 | 3,75 | 4 |
2 | 0 | 1 | 2 | 3 | 4 | 4,5 | 5 | 5,5 | 6 | 6,5 | 7 |
3 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 6,75 | 7,5 | 8,25 | 9 |
4 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
5 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 10 | 10 |
Экзамен
Экзамен заочный, состоится в субботу 24 декабря, с 11:00 до 13:00 (продолжительность — 2 астрономических часа).
Ссылка на вход в контест для ПМИ: https://official.contest.yandex.ru/contest/44776
Контест состоит из большого количества вопросов с кратким ответом. Примеры вопросов:
- Выберите правильную оценку сложности для показанного фрагмента кода;
- С изначально пустым стеком выполнили следующую последовательность операций. Выведите текущее состояние стека;
- В отсортированном массиве размера 100 000 ищут элемент при помощи бинарного поиска. Какое максимальное количество итераций потребуется?
Ответ на каждый вопрос требуется ввести в текстовое поле или выбрать один из вариантов. Количество попыток не ограничено, проверяется последняя. Результаты проверки ответов становятся видны только после окончания экзамена.
В каждом вопросе явно описан формат ответа: одно число, два числа через пробел, перестановка букв без разделителей и т. п. Будьте внимательны: если правильный ответ — «abc», а вы напишете «a b c» или «a,b,c», то ответ не будет зачтен.
Ответ на каждый вопрос оценивается как верный или неверный (промежуточных оценок нет). Оценка за экзамен равна 10 * количество верных ответов / количество вопросов.
Разрешается использовать приложения «блокнот» (и аналоги) и «калькулятор», писать программы на Python, а также пользоваться чистой бумагой и ручкой.
Не разрешается использовать телефон и устройства, наушники. Не разрешается пользоваться конспектом лекций или смотреть записи лекций, а также использовать решения домашних заданий.
Осуществляется прокторинг аналогично контрольным работам. Ссылка на форму для отправки видео: https://docs.google.com/forms/d/e/1FAIpQLScvTQlXXbfu3czHdWCqubQm9zv5NGe8hNPbwIsexVkARCHWPw/viewform