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


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