• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2025/2026

Язык программирования C++

Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Статус: Курс обязательный (Прикладная математика и информатика)
Когда читается: 1-й курс, 1 модуль
Охват аудитории: для своего кампуса
Преподаватели: Куренков Владимир Вячеславович, Федоров Михаил Антонович, Шершаков Сергей Андреевич
Язык: русский
Кредиты: 4
Контактные часы: 56

Программа дисциплины

Аннотация

Первая часть посвящена основам языка C++. Курс опирается на последний стандарт C++20. Помимо основ языка C++, курс направлен на освоение принципов написания качественного промышленного кода и знакомство с современными инструментами разработки. Большой акцент в курсе сделан на практическую работу. Обратная связь по выполнению заданий осуществляется в формате ревью кода.
Цель освоения дисциплины

Цель освоения дисциплины

  • Знание и практическое применение конструкций языка С++ в объёме достаточном для реализации любого алгоритма из следующего за ним курса.
  • Понимание и применение основных принципов написания качественного промышленного кода.
  • Владение современными инструментами разработки.
Содержание учебной дисциплины

Содержание учебной дисциплины

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

Элементы контроля

  • неблокирующий Домашнее задание
    Каждую неделю выдается домашнее задание. Домашнее задание на неделю имеет крайний срок выполнения — дедлайн.
  • неблокирующий Работа на семинаре
  • неблокирующий Проект
    Один раз в течение курса выдается проект — большая практическая работа. Проект имеет крайний срок выполнения — дедлайн.
Промежуточная аттестация

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

  • 2025/2026 1st module
    0.625 * Проект + 0.275 * Домашнее задание + 0.1 * Работа на семинаре

Авторы

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