Алгоритмы и структуры данных 1 (основной поток) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
 
(не показано 11 промежуточных версии этого же участника)
Строка 1: Строка 1:
 +
== Предварительные результаты ==
 +
 +
https://docs.google.com/spreadsheets/d/e/2PACX-1vQ4kQ7kH5i0OJGcI6cbKhU3eVSe_l8ZjECJoRi9zRQFB1i9YsLdR8Q3R_ogCwh2ZYe9XNKYoVstRaRF/pubhtml?gid=1717459840&single=true
 +
 
== Лекции и ДЗ ==
 
== Лекции и ДЗ ==
  
Строка 21: Строка 25:
 
| 6 || 17.11 || Два указателя. Сортировка событий || [https://official.contest.yandex.ru/contest/43367 ДЗ 6] || || 27.11
 
| 6 || 17.11 || Два указателя. Сортировка событий || [https://official.contest.yandex.ru/contest/43367 ДЗ 6] || || 27.11
 
|-
 
|-
| 7 || 22.11 || Динамическое программирование. Классические задачи || [https://official.contest.yandex.ru/contest/43595 ДЗ 7]  || || 1.12
+
| 7 || 22.11 || Динамическое программирование. Классические задачи || [https://official.contest.yandex.ru/contest/43595 ДЗ 7]  || || 4.12
 
|-
 
|-
 
| - || 24.11 || '''Защита ДЗ 1-5''' || см. ниже || - ||
 
| - || 24.11 || '''Защита ДЗ 1-5''' || см. ниже || - ||
 
|-
 
|-
| 8 || 29.11 || Двумерная динамика. Динамика по подстрокам || || || 8.12
+
| 8 || 29.11 || Двумерная динамика. Динамика по подстрокам || [https://official.contest.yandex.ru/contest/43983 ДЗ 8] || || 8.12
 
|-
 
|-
| 9 || 1.12 || Динамическое программирование. Задача о рюкзаке. Жадные алгоритмы ||  ||  || 10.12
+
| 9 || 1.12 || Динамическое программирование. Задача о рюкзаке. Жадные алгоритмы || [https://official.contest.yandex.ru/contest/44047 ДЗ 9] ||  || 11.12
 
|-
 
|-
| 10 || 6.12 || Хеши для строк || || || 15.12
+
| 10 || 6.12 || Хеши для строк || [https://official.contest.yandex.ru/contest/44237 ДЗ 10] || [https://disk.yandex.ru/i/Mw_C4WN9Ebn7xg Часть 1], [https://disk.yandex.ru/i/kljYMsISdkWc-Q Часть 2] || 15.12
 
|-
 
|-
| 11 || 8.12 || Биномиальная и Фибоначчиевы кучи ||  || - ||
+
| 11 || 8.12 || Биномиальная и Фибоначчиевы кучи ||  || [https://disk.yandex.ru/i/40_lN4w8FCmkJQ Запись 2021 года], ответы на вопросы 13.12 ||
 
|-
 
|-
 
| 12 || 13.12 || Запасная лекция || - || - ||
 
| 12 || 13.12 || Запасная лекция || - || - ||
Строка 95: Строка 99:
 
|-
 
|-
 
|}
 
|}
 +
 +
== Защита ДЗ 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)
 +
 +
В таблице показаны примеры применения формулы для целочисленных значений ДЗ:
 +
 +
{| class="wikitable"
 +
|-
 +
!  !! 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 ищут элемент при помощи бинарного поиска. Какое максимальное количество итераций потребуется?
 +
 +
Ответ на каждый вопрос требуется ввести в текстовое поле или выбрать один из вариантов. Количество попыток не ограничено, проверяется последняя. Результаты проверки ответов становятся видны '''только после окончания экзамена'''.
 +
 +
В каждом вопросе явно описан формат ответа: одно число, два числа через пробел, перестановка букв без разделителей и т. п. <span style="color:red">Будьте внимательны: если правильный ответ — «abc», а вы напишете «a b c» или «a,b,c», то ответ не будет зачтен.</span>
 +
 +
Ответ на каждый вопрос оценивается как верный или неверный (промежуточных оценок нет). Оценка за экзамен равна 10 * количество верных ответов / количество вопросов.
 +
 +
Разрешается использовать приложения «блокнот» (и аналоги) и «калькулятор», писать программы на Python, а также пользоваться чистой бумагой и ручкой.
 +
 +
Не разрешается использовать телефон и устройства, наушники. '''Не разрешается пользоваться конспектом лекций или смотреть записи лекций, а также использовать решения домашних заданий.'''
 +
 +
Осуществляется прокторинг аналогично контрольным работам. Ссылка на форму для отправки видео: https://docs.google.com/forms/d/e/1FAIpQLScvTQlXXbfu3czHdWCqubQm9zv5NGe8hNPbwIsexVkARCHWPw/viewform

Текущая версия на 15:06, 23 декабря 2022

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

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