Алгоритмы и структуры данных II. Основной поток весна 2025
Содержание
Общие сведения
Программа курса
В семестре планируется 15 лекций и 30 семинаров (практических занятий). На лекциях разбираются различные модельные задачи и алгоритмы их решения, на семинарах студентам предлагается решать теоретические задачи, обсуждать их решения, реализовывать код избранных алгоритмов, а также сдавать домашние задания.
Во втором семестре разбираются, во-первых, задачи динамического программирования, во-вторых, множество задач и алгоритмов на графах. Вводная часть о динамическом программировании служит скорее подготовкой к графовым алгоритмам, поскольку многие из них по существу задействуют именно технику динамического программирования.
Руководитель курса
Степанов Илья
Преподаватели курса
Матвеев Т.А.
Печенкин А.А.
Евдокимова А.Ю.
Василенко Н.А.
Смолин А.А.
Булгаков И.В.
Чубенко П.Н.
Дудко Е.В.
Кулешов И.В.
Савичев Д.А.
Оценки
За курс предусмотрены две оценки: за зачёт и за экзамен. Оценки независимы и никак не влияют друг на друга. Оценка за зачёт ставится за работу в семестре: за сдачу теоретических и практических домашних задач, а также за активность на семинарах и помощь в развитии курса (исправление опечаток в условиях, подготовка более сильных тестов к задачам, разработка собственных задач и пр.). Оценка за экзамен ставится исключительно исходя из качества устного ответа на экзамене.
Домашние задания
В течение семестра планируются 4–5 домашних заданий, разбитых по темам:
- 1) динамическое программирование;
- 2) простейшие алгоритмы на графах;
- 3) кратчайшие пути в графах, остовы;
- 4) паросочетания и потоки;
- 5) продвинутые алгоритмы на деревьях (опционально).
- В каждой теме планируется большой контест и небольшое теоретическое задание. Чтобы заработать минимальную положительную оценку (уд. 3), нужно набрать примерно 50% баллов от максимума. Чтобы заработать наивысшую оценку (отл. 10), нужно приблизиться к идеальному студенту, решившему почти все задачи. Оценка за семестр стремится зафиксировать уровень навыков студента в решении и реализации практических задач по алгоритмам.
Экзамен же рассчитан оценить уровень теоретической подготовки студента. На нём от студента ожидается знание доказательств изученных в течение курса алгоритмов, а также умение решать теоретические задачи. Обычно такие задачи более сложные, чем практические, что компенсируется отсутствием необходимости реализовывать их (имплементировать).
Технические ссылки
Лекции одного из прошлых потоков (весна 2023)]