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

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

Язык: русский
Кредиты: 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.4 * Проект + 0.2 * Домашнее задание + 0.3 * Экзамен
Список литературы

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

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

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

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

  • Язык программирования С++. Полное руководство - Липпман С., Лажойе Ж. - Издательство "ДМК Пресс" - 5-94074-040-5 - 2006 - русский - https://e.lanbook.com/book/1216 - ЛАНЬ - 1216

Авторы

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