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

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

Когда читается: 1-й курс, 1 модуль
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 4
Контактные часы: 56

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

Аннотация

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

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

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

Планируемые результаты обучения

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

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

  • Язык программирования C++
  • Введение в курс, настройка окружения, история языка
  • Разбор первых программ на C++
  • Примитивные типы, переполнение, UB
  • Функции. Ссылки, const&, перегрузка.
  • Указатели. Массивы
  • Структуры и классы: поля, методы, конструкторы.
  • Std::vector и std::string.
  • Итераторы, range-based for, алгоритмы STL.
  • Ассоциативные контейнеры и адаптеры.
  • Шаблоны функций и классов.
  • Управление памятью: стек, куча, сырые указатели.
  • RAII и умные указатели (unique_ptr, shared_ptr).
  • Правило трёх: конструктор копирования, оператор присваивания, деструктор.
  • Move-семантика, rvalue-ссылки, Правило пяти.
  • Наследование и виртуальный полиморфизм.
  • Обработка ошибок через исключения.
  • Организация проекта: заголовочные файлы, раздельная компиляция, пространства имен.
  • 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. Организация проекта: заголовочные файлы, раздельная компиляция, пространства имён
Элементы контроля

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

  • неблокирующий Домашнее задание
  • неблокирующий Работа на семинаре
  • неблокирующий Проект
Промежуточная аттестация

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

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

Список литературы

Рекомендуемая основная литература

  • Дейл, Н. Программирование на С++ : самоучитель / Н. Дейл, Ч. Уимз, М. Хедингтон. — Москва : ДМК Пресс, 2007. — 672 с. — ISBN 5-93700-008-0. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/1219 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

Рекомендуемая дополнительная литература

  • Липпман, С. Язык программирования С++. Полное руководство : руководство / С. Липпман, Ж. Лажойе. — 3-е изд. — Москва : ДМК Пресс, 2006. — 1105 с. — ISBN 5-94074-040-5. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/1216 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

Авторы

  • Фисенко Анна Сергеевна