На практике важно не только уметь решать задачи с помощью программирования, но и делать это максимально эффективно. На курсе ты познакомишься с основными вычислительными алгоритмами:
Авторы курса – одни из лучших преподавателей алгоритмов в МФТИ.
Ты будешь готов пройти алгоритмическую секцию собеседований.
| Тема | |
|---|---|
| 1 | Асимптотическая сложность |
| 2 | Рекурсия, сортировки, структура данных куча |
| 3 | Динамическое программирование, работа с подпоследовательностями |
| 4 | Жадные алгоритмы и задача о рюкзаке |
| 5 | Расстояние Левенштейна |
| 6 | Поиск подстроки в строке, Алгоритм Кнута — Морриса — Пратта |
| 7 | Хеширование |
| 8 | Графы: обход в ширину и глубину |
| 9 | Алгоритм Дейкстры |
| 10 | Алгоритмы Флойда — Уоршелла и Беллмана — Форда |
| Активность | Вес | Описание |
|---|---|---|
| Домашние задания | 40% | Каждое задание оценивается от 0 до 10 по доле правильно |
| решенных задач. В конце семестра оценки за все домашние задания усредняются | ||
| Проекты | 40% | На курсе тебе нужно будет сделать два проекта. Каждый проект оценивается от 0 до 10 и оценка за проекты усредняется |
| Контесты | 15% | На курсе будут два синхронных контеста по решению задач. За каждый контест можно получить от 0 до 10 баллов, которые усреднятся в общую оценку за контесты |
| Квизы на лекциях | 5% | На лекциях тебе будут предложены небольшие квизы. За каждый квиз можно получить до 10 баллов |
Экзамен Если итоговая оценка тебя не удовлетворит, ты сможешь принять участие в финальном экзамене. В этом случае оценка за семестр может быть улучшена на 2 балла.
Обман, плагиат и любые другие нарушения академической этики на программе недопустимы. В случае нарушений студенты могут быть отчислены с программы.
Ты можешь обсуждать домашние задания с другими студентами, но для всех индивидуальных задач ты должен написать финальное решение самостоятельно. Если ты обсуждал идею решения с кем-то из однокурсников, укажи это в комментарии к своему решению.