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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
 
(не показано 9 промежуточных версии 2 участников)
Строка 1: Строка 1:
 
'''Лекторы:''' [https://www.hse.ru/org/persons/210175876 Иван Фёдорович Смирнов], [https://www.hse.ru/org/persons/225527626 Филипп Юрьевич Грибов]
 
'''Лекторы:''' [https://www.hse.ru/org/persons/210175876 Иван Фёдорович Смирнов], [https://www.hse.ru/org/persons/225527626 Филипп Юрьевич Грибов]
  
<!-- '''[https://drive.google.com/file/d/1zjs_g2Db8lzkWdI256t9-rpuKApZCRNT/view?usp=sharing Программа курса]''' -->
+
'''[https://drive.google.com/file/d/1PKxZqRCJQir_tpn_tVFxveFLOU-khiYH/view?usp=sharing Программа курса]'''
  
 
{| class="wikitable"
 
{| class="wikitable"
! colspan="1" | Важные ссылки
+
! colspan="4" | Важные ссылки
 
|-
 
|-
| style="text-align: center;vertical-align:top;" | [[Image:Google-Sheets-Logo.png|x100px | link=https://docs.google.com/spreadsheets/d/1yoZ5EtO-odPAiTs8ke6-Ll6EwPnjnFEPjnAcqlOJ4i8/edit?usp=sharing |Google.Classroom]]<br>[https://docs.google.com/spreadsheets/d/1yoZ5EtO-odPAiTs8ke6-Ll6EwPnjnFEPjnAcqlOJ4i8/edit?usp=sharing Текущая успеваемость]
+
| style="text-align: center;vertical-align:top;" | [[Image:Google-Sheets-Logo.png|x100px | link=https://todo.com |Google.Sheets]]<br>[https://docs.google.com/spreadsheets/d/1QYQGPl1Yu51hMZwNfJUnq7O4vGwneVpwYGZOOUZPt7w/edit?usp=sharing Текущая успеваемость]
  
| style="text-align: center;vertical-align:top;" | [[Image:Google-Sheets-Logo.png|x100px | link=https://docs.google.com/spreadsheets/d/1_vXpC3EZZ6KJGuRJMuqO_nHBOC1MDQrgbK6LRlcoWuY/edit?usp=sharing |Google.Classroom]]<br>[https://docs.google.com/spreadsheets/d/1_vXpC3EZZ6KJGuRJMuqO_nHBOC1MDQrgbK6LRlcoWuY/edit?usp=sharing Запись на консультации]
+
| style="text-align: center;vertical-align:top;" | [[Image:Google-Sheets-Logo.png|x100px | link=https://docs.google.com/spreadsheets/d/11vlhxQXSgpwoDJyaQ25r04VzIZKC1EaqBKyqbRIHLHE/edit?usp=sharing |Google.Sheets]]<br>[https://docs.google.com/spreadsheets/d/11vlhxQXSgpwoDJyaQ25r04VzIZKC1EaqBKyqbRIHLHE/edit?usp=sharing Распределение по группам]
|
+
 
| style="text-align: center;vertical-align:top;" | [[Image:Google-Sheets-Logo.png|x100px | link=https://docs.google.com/spreadsheets/d/1_vXpC3EZZ6KJGuRJMuqO_nHBOC1MDQrgbK6LRlcoWuY/edit?usp=sharing |Google.Classroom]]<br>[https://classroom.google.com/c/NTY4NjcwMDQ0MjU3?cjc=h4tjjsh Сдача ДЗ]
+
| style="text-align: center;vertical-align:top;" | [[Image:Google-Sheets-Logo.png|x100px | link=https://docs.google.com/spreadsheets/d/1m1b3adccyihLncYx87kKloE7oCSQIRcnLSDXZIH8eo0/edit?usp=sharing |Google.Sheets]]<br>
 +
[https://docs.google.com/spreadsheets/d/1m1b3adccyihLncYx87kKloE7oCSQIRcnLSDXZIH8eo0/edit?usp=sharing Запись на консультации]
 +
 
 +
| style="text-align: center;vertical-align:top;" | [[Image:Google-Sheets-Logo.png|x100px | link=https://classroom.google.com/c/NjM2MDQxMDM5NzIz?cjc=jh37mqs
 +
|Google.Classroom]]<br>[https://classroom.google.com/c/NjM2MDQxMDM5NzIz?cjc=jh37mqs Сдача ДЗ]
 
|}
 
|}
  
Строка 47: Строка 51:
 
Обратите внимание, что в ведомость за каждый модуль ставится округлённое значение, но для подсчёта итоговой оценки за первый курс берётся взвешенное среднее по '''неокруглённым''' оценкам за модули 2, 3, 4.
 
Обратите внимание, что в ведомость за каждый модуль ставится округлённое значение, но для подсчёта итоговой оценки за первый курс берётся взвешенное среднее по '''неокруглённым''' оценкам за модули 2, 3, 4.
  
=== Оценки за разные активности ===
+
Итоговые оценки '''округляются арифметически''' (то есть при дробной части меньше 0.5 округление производится вниз, иначе вверх).
  
<ul>
+
=== Оцениваемые активности ===
<li>
+
О<sub>контесты</sub> вычисляется по формуле:
+
{|
+
| rowspan="2" style="text-align: center;" | О<sub>контесты</sub> = 10 &middot; <span style="font-size:220%; font-weight:light;">(</span>
+
| style="text-align: center;" | КК + ДК
+
| rowspan="2" style="text-align: center;" | +
+
| style="text-align: center;" | БЗ
+
| rowspan="2" style="text-align: center;" |
+
| rowspan="2" style="text-align: center;" | <span style="font-size:220%; font-weight:light;">)</span>, где:
+
|-
+
| style="text-align: center; border-top:solid 1px black;" align="center"  | ОЗ - поправка
+
| style="text-align: center; border-top:solid 1px black;" align="center"  | ОЗ
+
|}
+
  
* КК — баллы за короткие контесты
+
===== Контесты =====
* ДК — баллы за длинные контесты (исключая бонусные задачи)
+
Длинные контесты имеют продолжительность порядка двух-трёх недель и состоят в основном из задач, требующих реализации алгоритмов, изученных на лекциях. Если не сказано иное, каждая задача стоит одинаково. По умолчанию оценка за контесты вычисляется по формуле '''Конт''' = 10 &middot; (Решено задач / (всего обязательных задач - поправка)). Поправка может применяться, если студент по уважительной причине отсутствовал бо́льшую часть контеста.
* БЗ — баллы за бонусные задачи в длинных контестах
+
* ОЗ — общее число задач во всех контестах (исключая бонусные задачи)
+
* Поправка по умолчанию равна нулю и может быть увеличена индивидуально для каждого студента при наличии пропусков по уважительным причинам.
+
  
Виды контестов:
+
В контестах бывают бонусные необязательные задачи, позволяющие набрать в этой категории более 10 баллов. Иногда формула оценки может меняться: к примеру, в контесте может быть обязательная задача или суммарный балл для двух контестов может вычисляться из минимального числа задач, решённых в каждом из них.
  
* Короткие контесты будут проводиться в разнообразных форматах во время сдвоенных семинаров. Если не оговорено иное, то короткий контест является личным соревнованием, состоящим из 5 или 6 задач разной сложности, требующим владеть общей сообразительностью, некоторой математической подготовкой, и, возможно, различными уже изученными алгоритмами. На коротких контестах отсутствует проверка кода, если не оговорено иное, то задачи можно дорешивать вплоть до окончания текущего отчётного периода (то есть почти до экзамена), получая за каждую сданную задачу 0.5 балла вместо 1 балла (за сдачу во время контеста).
+
Короткие контесты — это забытый миф, пыль веков, сага давно минувших дней.
  
* Длинные контесты имеют продолжительность до двух недель, и состоят в основном из задач, требующих реализации алгоритмов, изученных на лекциях. Некоторые задачи являются обязательными и проходят дополнительную ручную проверку кода. Все задачи стоят 1 балл, '''но чтобы получить баллы за необязательные задачи, необходимо сначала сдать все обязательные'''.
+
===== Теор. ДЗ =====
  
<li> О<sub>листки</sub> вычисляется по формуле:
+
Листки являются теоретическими домашними заданиями. Все задачи стоят одинаково, сдавать их можно в электронном виде. Дополнительно предусматривается возможность сдать их во время присутственных часов на консультациях ассистентам. Подробнее об этом написано в соответствующем разделе. Оценка вычисляется по формуле '''ДЗ''' = 10 &middot; (Набрано баллов в задачах / (суммарная стоимость обязательных задач - поправка)). Разные задачи стоят разное число баллов, за решение можно получить частичные баллы.
{|
+
 
| rowspan="2" style="text-align: center;" | О<sub>листки</sub> = 10 &middot;
+
Как и в контестах, в ДЗ бывают бонусные задачи, отмеченные звёздочкой. Не гарантируется, что преподаватели сами умеют их решать.
| style="text-align: center;" | количество решённых задач
+
|-
+
| style="text-align: center; border-top:solid 1px black;" align="center"  | количество обязательных задач - поправка
+
|}
+
  
Листки являются теоретическими домашними заданиями. Все задачи стоят одинаково, сдавать их можно в электронном виде. Дополнительно предусматривается возможность сдать их во время присутственных часов на консультациях ассистентам.
+
===== Контрольная работа =====
  
<li> В течение каждого очного модуля предполагается по одной контрольной работе. За каждую контрольную студент получает оценку от 0 до 10, которая и будет являться О<sub>КР</sub>. Если студент пропускает по уважительной причине контрольную работу, то для него изменяется итоговая формула оценки.
+
В течение каждого модуля предполагается по одной контрольной работе. За каждую контрольную студент получает оценку от 0 до 10, которая и будет являться оценкой '''КР'''. Если студент пропускает по уважительной причине контрольную работу, то для него изменяется формула оценки накопа: '''Накоп''' = (0.3 &middot; '''Конт''' + 0.25 &middot; '''ДЗ''') / 0.55.
  
<li> За экзамен студент получает оценку от 0 до 10, эта оценка будет являться О<sub>экзамен</sub>.
+
===== Экзамен =====
  
<li> Бонус. Эта графа определяет произвольные баллы, которые могут быть прибавлены к оценке студента за различные виды деятельности и соревнований. Например, в этой графе будут использованы некоторые короткие контесты с необычным форматом.
+
За экзамен студент получает оценку от 0 до 10, эта оценка будет являться оценкой '''Экз'''.
  
</ul>
+
===== Бонус =====
  
Итоговая оценка '''округляется арифметически''' (то есть при дробной части меньше 0.5 округление производится вниз, иначе вверх).
+
Бонус. Эта графа определяет произвольные баллы, которые могут быть прибавлены к итоговой оценке студента за различные виды деятельности и соревнований. Например, в этой графе будут использованы некоторые короткие контесты с необычным форматом.
  
 
== <span id="homework"></span>Теоретическое домашнее задание ==
 
== <span id="homework"></span>Теоретическое домашнее задание ==
Строка 162: Строка 146:
 
| colspan="4" style="text-align: center; background-color:#dae8fc;" | 2 модуль
 
| colspan="4" style="text-align: center; background-color:#dae8fc;" | 2 модуль
 
|-
 
|-
| 1
 
| 26.11.2022
 
| Вероятности
 
|-
 
| 2
 
| 10.12.2023
 
| Простые структуры
 
 
|}
 
|}
  
Строка 189: Строка 166:
 
|}
 
|}
 
-->
 
-->
 +
  
 
== Экзамены ==
 
== Экзамены ==
 +
<!--
 
=== Темы к экзамену 3-го модуля ===
 
=== Темы к экзамену 3-го модуля ===
  
Строка 215: Строка 194:
 
* Алгоритм Эдмондса-Карпа. Алгоритм Диница, доказательство времени работы O(E sqrt(V)) при поиске максимального двудольного паросочетания.
 
* Алгоритм Эдмондса-Карпа. Алгоритм Диница, доказательство времени работы O(E sqrt(V)) при поиске максимального двудольного паросочетания.
  
== Лекции и семинары ==
+
-->
  
Записи семинаров, сделанные силами студентов: https://disk.yandex.ru/d/yVmC7VRuXWblIw
+
== Лекции и семинары ==
  
 
=== 2 модуль ===
 
=== 2 модуль ===
Строка 228: Строка 207:
 
! Видео
 
! Видео
 
|-
 
|-
| rowspan="2" | 01.11.2022
 
| Семинар
 
| Основные определения, асимптотический рост функций, виды полиномиальности
 
| <!--[https://drive.google.com/file/d/1ZoUnd7okePTlQxdBZwtB2jRp2QgQrAS7/view?usp=sharing Листочек]-->
 
| <!--[https://www.youtube.com/watch?v=XdJ4ttt2hc0 Видео]-->
 
|-
 
| Лекция
 
| Знакомство, обзор программы курса, введние в теорию вероятностей
 
|
 
| <!--[https://www.youtube.com/watch?v=WYrNMqsDScA Видео]-->
 
|-
 
| rowspan="2" | 03.11.2022
 
| Семинар
 
| Задачи на теорию вероятностей, конечные вероятностные пространства, геометрическая вероятность
 
| <!--[https://drive.google.com/file/d/1FN7SzZHSwhKVtNKA6EmHEproKzGXlPCZ/view?usp=sharing Листочек]-->
 
| <!--[https://www.youtube.com/watch?v=iAmC9FS643k Видео]-->
 
|-
 
| Лекция
 
| Случайные величины. Математическое ожидание, дисперсия, линейность, индикаторные величины.
 
| <!--[https://drive.google.com/file/d/1iY5YzzpspQqOyuJ_jdAPZHbcSXHDuRQF/view?usp=sharing Материалы]-->
 
| <!--[https://www.youtube.com/watch?v=irG9tjy2GgM Видео]-->
 
 
|}
 
|}
  
Строка 260: Строка 218:
 
! Видео
 
! Видео
 
|-
 
|-
| rowspan="2" | 10.01.2023 (вт)
 
| Семинар
 
| Антихештесты
 
| [https://disk.yandex.ru/i/xetD-j0S_pmn-A Листок]
 
|
 
|-
 
| Лекция
 
| Блум-фильтр. B-деревья.
 
|
 
|
 
|-
 
| rowspan="2" | 12.01.2023 (чт)
 
| Семинар
 
| Деревья поиска
 
| [https://disk.yandex.ru/i/WwtNchX-N01hlg Листок]
 
|
 
|-
 
| Лекция
 
| Splay-дерево
 
|
 
|
 
|-
 
| rowspan="2" | 17.01.2023 (вт)
 
| Семинар
 
| Деревья поиска, запросы на отрезках
 
| [https://disk.yandex.ru/i/LUFR0E6yqgclGg Листок]
 
|
 
|-
 
| Лекция
 
| Декартово дерево. Доказательство логарифмической высоты.
 
|
 
|
 
|-
 
| rowspan="2" | 19.01.2023 (чт)
 
| Семинар
 
| Запросы на отрезках
 
| Листки: [https://disk.yandex.ru/d/NCP3V4mzYMXMUA базовый], <br/> [https://disk.yandex.ru/i/RDrpfaX1AQwKQA бонусный]
 
|
 
|-
 
| Лекция
 
| Частичная персистентность: path copying, fat nodes
 
|
 
|
 
|-
 
| rowspan="2" | 24.01.2023 (вт)
 
| Семинар
 
| Запросы на отрезках, персистентная очередь (бонус)
 
|
 
|
 
|-
 
| Лекция
 
| List order maintenance (?)
 
|
 
|
 
|-
 
| rowspan="2" | 26.01.2023 (чт)
 
| Семинар
 
| Задачи на деревья
 
| [https://disk.yandex.ru/d/uI1OKKPl7fgpEw Листок]
 
|
 
|-
 
| Лекция
 
| <!-- HLD -->
 
|
 
|
 
|-
 
| rowspan="2" | 31.01.2023 (вт)
 
| Семинар
 
| Простое ДП, задачи о рюкзаке
 
| [https://disk.yandex.ru/i/AGMSwsEX3GdUYw Листок]
 
|
 
|-
 
| Лекция
 
| Оптимизация переборов. Подсчёт количества клик в графе.
 
|
 
|
 
|-
 
| 2.02.2023 (чт)
 
| Бонусный семинар
 
| Архитектура, system design
 
|
 
|
 
|-
 
| rowspan="2" | 7.02.2023 (вт)
 
| Семинар
 
| ДП, переборы
 
| [https://disk.yandex.ru/i/d7oZjXEJv56a4A Листок]
 
|
 
|-
 
| Лекция
 
| Переборы. Альфа-бета отсечение
 
|
 
|
 
|-
 
| rowspan="2" | 9.02.2023 (чт)
 
| Семинар
 
| ДП, альфа-бета отсечение
 
| [https://disk.yandex.ru/i/cb63noVLHGy7zg Листок]
 
|
 
|-
 
| Лекция
 
|
 
|
 
|
 
|-
 
| 14.02.2023 (вт)
 
| colspan="4" | Занятий не было
 
|-
 
| 16.02.2023 (чт)
 
| Бонусный семинар
 
| Модель внешней памяти
 
| [https://disk.yandex.ru/d/3euDXNlol-JcBQ Листок]
 
|
 
|-
 
| rowspan="2" | 21.02.2023 (вт)
 
| Семинар
 
| Пути в графах, кратчайшие и не очень
 
| [https://disk.yandex.ru/i/NdlcB-1sm9cFlg Листок]
 
|
 
|-
 
| Лекция
 
| Contraction Hierarchies: поиск кратчайших путей на практике
 
|
 
|
 
|-
 
| 23.02.2023 (чт)
 
| colspan="4" | Выходной
 
|-
 
| rowspan="2" | 28.02.2023 (вт)
 
| Семинар
 
| Разбор КР
 
|
 
|
 
|-
 
| Лекция
 
| Линейный алгоритм поиска MST
 
|
 
|
 
|-
 
| 2.03.2023 (чт)
 
| Бонусный контест
 
|
 
|
 
|
 
|-
 
| rowspan="2" | 7.03.2023 (вт)
 
| Семинар
 
| Минимальные остовы
 
| [https://disk.yandex.ru/d/D3OrHuMgiEzLiw Листок]
 
|
 
|-
 
| Лекция
 
| Алгоритм Тарьяна для поиска КСС. Неудачное доказательство log* n для СНМ.
 
|
 
|
 
|-
 
| rowspan="2" | 9.03.2023 (чт)
 
| Семинар
 
| Задачи на графы, конденсация, 2-SAT
 
| [https://disk.yandex.ru/i/B7IW1Rr6wS_Byg Листок]
 
|
 
|-
 
| Лекция
 
| Доказательство log* n для СНМ. Введение в потоки.
 
|
 
|
 
 
|}
 
|}
  
Строка 437: Строка 229:
 
! Видео
 
! Видео
 
|-
 
|-
| rowspan="1" | 03.04.2023 (вт)
 
| colspan="4" | Занятий не было
 
|-
 
| rowspan="2" | 05.04.2023 (чт)
 
| Семинар
 
| colspan="3" | Семинара не было
 
|-
 
| Лекция
 
| Потоки минимальной стоимости
 
|
 
|
 
|-
 
| rowspan="2" | 11.04.2023 (чт)
 
| Семинар
 
| Потоки. Оценки Карзанова.
 
|
 
|
 
|-
 
| Лекция
 
| Поиск потока минимальной стоимости за полиномиальное время
 
|
 
|
 
 
|}
 
|}
  
Строка 475: Строка 245:
 
| colspan="4" style="text-align: center;" | Преподаватели
 
| colspan="4" style="text-align: center;" | Преподаватели
 
|-
 
|-
| [https://www.hse.ru/org/persons/210175876 Иван Смирнов] || 221-1 || || [https://t.me/ifsmirnov @ifsmirnov]
+
| [https://www.hse.ru/org/persons/210175876 Иван Смирнов] || 1 || || [https://t.me/ifsmirnov @ifsmirnov]
 
|-
 
|-
| [https://www.hse.ru/org/persons/225527626 Филипп Грибов] || 221-2 || ||
+
| [https://www.hse.ru/org/persons/225527626 Филипп Грибов] || 2 || || [https://t.me/grphil @grphil]
 
|-
 
|-
| [https://www.hse.ru/org/persons/738677707 Иван Сафонов] || 222-1 || ||
+
| [https://www.hse.ru/org/persons/738677707 Иван Сафонов] || 3 || || [https://t.me/isaf27 @isaf27]
 
|-
 
|-
| Михаил Анопренко || 222-2 || ||
+
| Екатерина Фадеева || 4 || || [https://t.me/rediska0123 @rediska0123]
 
|-
 
|-
| Сергей Нечаев || 225-1  || ||
+
|}
 +
 
 +
{| class="wikitable"
 
|-
 
|-
| Екатерина Фадеева || 225-2  || ||
+
! Ассистент !! Подгруппа !! Контакты
 
|-
 
|-
<!--
 
 
| colspan="4" style="text-align: center;" | Ассистенты
 
| colspan="4" style="text-align: center;" | Ассистенты
 
|-
 
|-
| colspan="2" | Филипп Грибов ||| [https://teleg.run/grphil @grphil]
+
| Новиков Владимир || 231-1 || [https://t.me/Vladimir_N0vikov @Vladimir_N0vikov]
 
|-
 
|-
| colspan="2" | Максим Деб Натх  || среда, 20:00 || [https://teleg.run/debnatkh @debnatkh]
+
| Михненко Алексей || 231-2 || [https://t.me/Mangooste @Mangooste]
 
|-
 
|-
| Владимир Кауркин || 211 || вторник 20:00  || [https://teleg.run/LordVoldebug @LordVoldebug]
+
| Пырко Алексей || 232-1 || [https://t.me/ifrair @ifrair]
 
|-
 
|-
| Игорь Маркелов || 211 || четверг 21:00 || [https://teleg.run/ElderlyPassionFruit @ElderlyPassionFruit]
+
| Шулятьев Артём || 232-2 || [https://t.me/tem_shett @tem_shett]
 
|-
 
|-
| Максим Басалаев || 213 || четверг, 19:00 || [https://teleg.run/pojaleesh @pojaleesh]
+
| Ромашов Фёдор || 235-1 || [https://t.me/ormlis @ormlis]
 
|-
 
|-
| Алеся Иванова || 213 || среда 21:00 || [https://teleg.run/alesyaivanova @alesyaivanova]
+
| Лазарев Никита || 235-2 || [https://t.me/vaaven @vaaven]
 
|-
 
|-
| Максим Лутан || 215 || суббота, 12:00 (можно договориться о другом дне недели в лс) || [https://teleg.run/Maksim_Lutan @Maksim_Lutan]
+
| Жаймодин Тимофей || || [https://t.me/h0tmi @h0tmi]
 
|-
 
|-
| Кирилл Шубников || 215 || среда 21:00 (писать в лс) || [https://teleg.run/Radewoosh51 @Radewoosh51]
+
| Шайдурова Полина || || [https://t.me/polipolinom @polipolinom]
-->
+
 
|}
 
|}

Текущая версия на 16:01, 9 ноября 2023

Лекторы: Иван Фёдорович Смирнов, Филипп Юрьевич Грибов

Программа курса

Важные ссылки
Google.Sheets
Текущая успеваемость
Google.Sheets
Распределение по группам
Google.Sheets

Запись на консультации

link=https://classroom.google.com/c/NjM2MDQxMDM5NzIz?cjc=jh37mqs  Google.Classroom
Сдача ДЗ

Формула выставления итоговой оценки

Общее описание

Детали в формуле оценивания могут меняться с объявлением на лекциях и в канале.

  • Курс длится 4 модуля (со 2-го по 5-й).
  • За 2-й и 3-й модуль ставится промежуточная оценка.
  • За 4-й модуль ставится итоговая годовая оценка за первый курс, вычисляемая из оценок за 2-4 модули. При этом 4-й модуль является блокирующим, т.е. для получения оценки за курс необходимо иметь удовлетворительную оценку за 4-й модуль.
  • За 5-й модуль ставится итоговая оценка независимо.
  • Экзамены будут в конце 3-го, 4-го и 5-го модуля. В экзамен 3-го модуля входят темы из 2-3 модулей, в остальные экзамены входят только темы соответствующего модуля.

Есть несколько видов оцениваемой деятельности, попадающие в накоп с соответствующим коэффициентом (кроме экзамена).

  • (Конт, коэфф. 0.3) Длинные контесты.
  • (ДЗ, коэфф. 0.25) Теоретические домашние задания.
  • (КР, коэфф. 0.15) Письменная контрольная работа.
  • (Экз, коэфф. 0.3) Устный экзамен.

Также на курсе предусмотрены бонусы, добавляемые к итоговой оценке за модуль. Бонусы получить за специальные бонусные контесты, за активное участие в семинарах, за участие в ICPC и, возможно, за что-то ещё.

Подробности

Накоп за каждый модуль считается по формуле Накоп = (0.3 · Конт + 0.25 · ДЗ + 0.15 · КР) / 0.7. Затем для каждого модуля считается предварительная итоговая оценка:

  • 2-й модуль: Итог2 = Накоп2 + Бонус2
  • 3-5 модули: Итогi = 0.7 · Накопi + 0.3 · Экзi + Бонусi

Итоговые оценки считаются так:

  • 2-й модуль: min(10, round(Итог2))
  • 3-й модуль: min(10, round(Итог3))
  • 4-й модуль (итоговая оценка за год): round((0.7 · min(10, Итог2) + min(10, Итог4) + min(10, Итог4)) / 2.7) при условии round(Итог4) ≥ 4
  • 5-й модуль: min(10, round(Итог5))

Обратите внимание, что в ведомость за каждый модуль ставится округлённое значение, но для подсчёта итоговой оценки за первый курс берётся взвешенное среднее по неокруглённым оценкам за модули 2, 3, 4.

Итоговые оценки округляются арифметически (то есть при дробной части меньше 0.5 округление производится вниз, иначе вверх).

Оцениваемые активности

Контесты

Длинные контесты имеют продолжительность порядка двух-трёх недель и состоят в основном из задач, требующих реализации алгоритмов, изученных на лекциях. Если не сказано иное, каждая задача стоит одинаково. По умолчанию оценка за контесты вычисляется по формуле Конт = 10 · (Решено задач / (всего обязательных задач - поправка)). Поправка может применяться, если студент по уважительной причине отсутствовал бо́льшую часть контеста.

В контестах бывают бонусные необязательные задачи, позволяющие набрать в этой категории более 10 баллов. Иногда формула оценки может меняться: к примеру, в контесте может быть обязательная задача или суммарный балл для двух контестов может вычисляться из минимального числа задач, решённых в каждом из них.

Короткие контесты — это забытый миф, пыль веков, сага давно минувших дней.

Теор. ДЗ

Листки являются теоретическими домашними заданиями. Все задачи стоят одинаково, сдавать их можно в электронном виде. Дополнительно предусматривается возможность сдать их во время присутственных часов на консультациях ассистентам. Подробнее об этом написано в соответствующем разделе. Оценка вычисляется по формуле ДЗ = 10 · (Набрано баллов в задачах / (суммарная стоимость обязательных задач - поправка)). Разные задачи стоят разное число баллов, за решение можно получить частичные баллы.

Как и в контестах, в ДЗ бывают бонусные задачи, отмеченные звёздочкой. Не гарантируется, что преподаватели сами умеют их решать.

Контрольная работа

В течение каждого модуля предполагается по одной контрольной работе. За каждую контрольную студент получает оценку от 0 до 10, которая и будет являться оценкой КР. Если студент пропускает по уважительной причине контрольную работу, то для него изменяется формула оценки накопа: Накоп = (0.3 · Конт + 0.25 · ДЗ) / 0.55.

Экзамен

За экзамен студент получает оценку от 0 до 10, эта оценка будет являться оценкой Экз.

Бонус

Бонус. Эта графа определяет произвольные баллы, которые могут быть прибавлены к итоговой оценке студента за различные виды деятельности и соревнований. Например, в этой графе будут использованы некоторые короткие контесты с необычным форматом.

Теоретическое домашнее задание

Общие предположения, которыми можно пользоваться в задачах

1. Если в задаче говорится про запросы, то по умолчанию online

2. Если не оговорено иное, можно использовать столько же памяти, сколько времени

3. Если не оговорено иное, то можно ожидаемое амортизированное время с хешами


Правила сдачи письменных работ

1. Пожалуйста, убедитесь, что вашу работу можно идентифицировать (имя написано в файле, или ваш гугл-аккаунт подписан вашим именем).

2. При отправке убедитесь, что у вас появилась кнопка "отменить отправку" — это означает, что работа отправлена на проверку.

3. Домашние задания, сданные не в формате .pdf или набранные не с помощью системы вёрстки LaTeX не принимаются.

4. Нельзя отправлять фотографии записей от руки (за исключением случая, когда к теху вы прикрепляете пояснительную картинку от руки).

5. Решение должно представлять из себя свзяный цензурный текст без обсценной лексики, который может быть прочитан носителем русского языка, и являть собой решение задачи. Если текст не являет собой решение задачи, не надо прикладывать его к решению.

6. Списывание в работах повлечёт за собой обнуление баллов по работе.

7. Если вы не чувствуете себя уверено при работе с LaTeX, используйте шаблон https://www.overleaf.com/read/bpvmhqcvfgqq. В нём отражена основная функциональность системы вёрстки. Вы можете склонировать проект и использовать его.


Список заданий

Тема Листок Дедлайн
2 модуль

Длинные контесты

Все длинные контесты доступны по ссылке.

Дедлайн Темы
2 модуль


Экзамены

Лекции и семинары

2 модуль

3 модуль

4 модуль

Ссылки на материалы

Основные источники:

  1. Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн. Алгоритмы: Построение и анализ, [2013, 3 издание]
  2. neerc.ifmo.ru

Преподаватели и ассистенты

Преподаватель Подгруппа Присутственные часы Контакты
Преподаватели
Иван Смирнов 1 @ifsmirnov
Филипп Грибов 2 @grphil
Иван Сафонов 3 @isaf27
Екатерина Фадеева 4 @rediska0123
Ассистент Подгруппа Контакты
Ассистенты
Новиков Владимир 231-1 @Vladimir_N0vikov
Михненко Алексей 231-2 @Mangooste
Пырко Алексей 232-1 @ifrair
Шулятьев Артём 232-2 @tem_shett
Ромашов Фёдор 235-1 @ormlis
Лазарев Никита 235-2 @vaaven
Жаймодин Тимофей @h0tmi
Шайдурова Полина @polipolinom