Бакалавриат
2025/2026


Программирование на C++
Статус:
Курс обязательный (Прикладная математика и информатика)
Кто читает:
Базовая кафедра Яндекс
Где читается:
Факультет компьютерных наук
Когда читается:
1-й курс, 3 модуль
Охват аудитории:
для всех кампусов НИУ ВШЭ
Язык:
русский
Кредиты:
4
Контактные часы:
80
Программа дисциплины
Аннотация
Первая часть посвящена основам языка C++. Курс опирается на последний стандарт C++20. Помимо основ языка C++, курс направлен на освоение принципов написания качественного промышленного кода и знакомство с современными инструментами разработки. Большой акцент в курсе сделан на практическую работу. Обратная связь по выполнению заданий осуществляется в формате ревью кода.
Цель освоения дисциплины
- Знание и практическое применение конструкций языка С++ в объёме достаточном для реализации любого алгоритма из следующего за ним курса.
- Понимание и применение основных принципов написания качественного промышленного кода.
- Владение современными инструментами разработки.
Содержание учебной дисциплины
- Лекция 1: введение в курс, настройка окружения, история языка
- Лекция 2: разбор первых программ на C++
- Лекция 3: Примитивные типы, переполнение, UB
- Лекция 4: Функции. Ссылки, const&, перегрузка.
- Лекция 5: Указатели. Массивы
- Лекция 6: Структуры и классы: поля, методы, конструкторы.
- Лекция 7: std::vector и std::string.
- Лекция 8: Итераторы, range-based for, алгоритмы STL.
- Лекция 9: Ассоциативные контейнеры и адаптеры.
- Лекция 10: Шаблоны функций и классов.
- Лекция 11: Управление памятью: стек, куча, сырые указатели.
- Лекция 12: RAII и умные указатели (unique_ptr, shared_ptr).
- Лекция 13: Правило трёх: конструктор копирования, оператор присваивания, деструктор.
- Лекция 14: Move-семантика, rvalue-ссылки, Правило пяти.
- Лекция 15: Наследование и виртуальный полиморфизм.
- Лекция 16: Обработка ошибок через исключения.
- Лекция 17: Организация проекта: заголовочные файлы, раздельная компиляция, пространства имен.
Элементы контроля
- Проект
- Контрольная работа 1
- Контрольная работа 2
- Работа на семинаре
- Экзамен
- Домашние задания