ИВТ. Объектно-ориентированное программирование C++ 2026 Основной поток
О курсе
Осенний семестр — это не про написание пары базовых задач, а про то, чтобы начать чувствовать язык и понимать, как он устроен под капотом. Мы будем постепенно двигаться от базовых конструкций к тем вещам, которые отличают C++ от большинства других языков.
Вы разберете базовые идиомы языка, его возможности, а также изучите большую часть стандартной библиотеки языка.
Этот курс — не про запоминание синтаксиса. Он про формирование мышления разработчика, который понимает систему целиком. Если вы готовы копать глубже, чем синтаксис языка, то вам будет интересно.
Пререквизиты
- Базовый навык написания кода на C
- Понимание механизмов работы с памятью
Программа курса
| Дата | Тема | ДЗ | Дедлайн |
|---|---|---|---|
| 03.09.2026 | C++ Intro | Intro | 20.09.2026 |
| 10.09.2026 | OOP Intro | ||
| 17.09.2026 | Operator Overloading | Polymorphic | 04.10.2026 |
| 24.09.2026 | Inheritance | ||
| 01.10.2026 | Dynamic Polymorphism | AST | 18.10.2026 |
| 08.10.2026 | Function Templates | ||
| 15.10.2026 | Class Templates | Matrix | 01.11.2026 |
| 22.10.2026 | Type Deduction | ||
| 29.10.2026 | Variadic Templates | Tuple / Validator | 15.11.2026 |
| 05.11.2026 | Lamda Functions | ||
| 12.11.2026 | Exceptions | Maybe | 29.11.2026 |
| 19.11.2026 | Iterators | ||
| 26.11.2026 | Sequence Containers | Array | 13.12.2026 |
| 03.12.2026 | Associative Containers | ||
| 10.12.2026 | Non Standart containers |
Стоимость задач
| Задача | Стоимость | Блок для оценки |
|---|---|---|
| Intro | 50 | Уд3 |
| Polymorphic | 50 | Уд3 |
| AST | 100 | Хор5 |
| Matrix | 100 | Хор5 |
| Tuple | 200 | |
| Validator | 200 | |
| Maybe | 200 | |
| Array | 500 | |
| Calculator (бонус) | 0–500 |
Критерии оценивания и формы контроля успеваемости
В осеннем семестре будет несколько задач, предложенных к решению. Каждая задача обладает своей стоимостью. Баллы за все задачи суммируются и переводятся в оценку. Также для получения некоторых оценок нужно будет сдать конкретные задачи (например, нельзя получить Уд3, не решив первую задачу семестра). Все обязательные задачи отмечены в таблице.
Плагиат и использование ИИ
В случае найденного плагиата / использования ИИ применяются следующие штрафы:
- 1 задача: задача обнуляется.
- 2 задачи: штраф −N баллов, где N — стоимость второй задачи.
- 3 задачи: пересдача.
Бонусная задача
В семестре будет выдана 1 особая задача (в таблице: бонус). Она выдается в начале семестра и активна до его окончания.
По истечении времени на её выполнение собираются все решения и вручную оцениваются. Лучшее решение получает максимальный балл, остальные оцениваются относительно него.
При решении этой задачи (и только этой) разрешено использовать ИИ.
Сдача и ревью задач
Задачи сдаются в GitLab, тесты открытые.
Чтобы задача считалась зачтённой, необходимо пройти ревью кода на GitLab, а также очное ревью (может отсутствовать у простых задач).
Ревью кода устроено итеративно:
получаете правки → исправляете → получаете новые правки → ... → ревьюер принял задачу.
Очное ревью необходимо сдать в течение 3 недель после дедлайна задачи. На сдачу отводится 2 попытки. Если обе попытки были неуспешными, задача считается не сданной.
Сдача после дедлайна
Задачи можно сдавать после дедлайна, однако их стоимость будет уменьшаться в течение недели линейно, пока не достигнет 30 %, и такой останется до конца семестра.
Команда курса
- Руководитель курса: Долта Артем
- Лектор: Долта Артем
- Семинарист: Долта Артем
- Ассистенты: Кархалев Игорь, Антипов Александр, Ольшанников Кирилл