Алгоритмы и структуры данных 1 (основной поток)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

Предварительные результаты

https://docs.google.com/spreadsheets/d/e/2PACX-1vQ4kQ7kH5i0OJGcI6cbKhU3eVSe_l8ZjECJoRi9zRQFB1i9YsLdR8Q3R_ogCwh2ZYe9XNKYoVstRaRF/pubhtml?gid=1717459840&single=true

Лекции и ДЗ

Лектор: Михаил Сергеевич Густокашин

Лекции по вторникам с 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