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

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

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

Авторы

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