• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 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
  • неблокирующий Работа на семинаре
  • неблокирующий Экзамен
  • неблокирующий Домашние задания
Промежуточная аттестация

Промежуточная аттестация

  • 2025/2026 3rd module
    0.15 * Домашние задания + 0.15 * Контрольная работа 1 + 0.15 * Контрольная работа 2 + 0.2 * Проект + 0.15 * Работа на семинаре + 0.2 * Экзамен

Авторы

  • Алиева Эльмира Махир Кызы
  • Евстропов Глеб Олегович
  • Фисенко Анна Сергеевна