Бакалавриат
2026/2027




Язык программирования C++
ID 1147093
Статус:
Курс обязательный (Дизайн и разработка информационных продуктов)
Кто читает:
Базовая кафедра Т-Банка
Где читается:
Факультет компьютерных наук
Когда читается:
1-й курс, 1, 2 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Горденко Мария Константиновна
Язык:
русский
Кредиты:
7
Контактные часы:
112
Программа дисциплины
Аннотация
Курс нацелен на формирование у студента понимания общих принципов эффективного применения языка С++ при решении различных задач. Рассматривается базовый синтаксис, основные механики и возможности языка программирования С++, с глубоким погружением в детали реализации и работы. Большое внимание уделяется современным возможностям и стандартам языка и инструментам и библиотекам - элементам, которые не являются частью языка, но без которых не получится построить большой и сложный проект. Одним из основных аспектов курса является обучение разработке эффективных и надежных программ на C++. Студенты учатся писать код, который легко читается, понимается и поддерживается. Они также знакомятся с современными практиками программирования, такими как использование шаблонов, идиом и паттернов проектирования
Цель освоения дисциплины
- Знание основных конструкций языка С++, достаточного для реализации решения задач в последующих курсах
- Практическое применение языка С++
- Понимание и применение основных принципов разработки
- Владение современными инструментами разработки
Планируемые результаты обучения
- Применяет на практике язык С++
- Знает и применяет основные принципы разработки
- Владеет современными инструментами разработки
- Знает основные конструкции языка С++, достаточного для реализации решения задач в последующих курсах.
Содержание учебной дисциплины
- Фундаментальные типы и переменные
- Условная операция, оператор и циклы
- Указатели и массивы
- Ссылки и начало функций
- Функции и строки. Исключения
- Модульное программирование
- Шаблоны функций
- Пользовательские типы данных
- Введение в ООП
- Конструкторы
- Перегрузка операций и функторы
- Контейнеры
- Move-семантика. Итераторы
- Наследование. Полиморфизм
- О курсе. Введение в язык. Первая программа. Структура программы. Память и типы данных.
- Память и типы данных. Хранение чисел в памяти IEEE. Особенности перевода и вычитания больших чисел. Операторы битовые I & ^ и т.д.
- Условный оператор и switch. Типичные задачи на условный оператор и switch. Цикл while. break continue. Цикл for. В т.ч. использование while как for. Вложенные циклы, особенности, типовые задачи. Типичные задачи на цикл
- Статический массив. Одномерный статический массив. Типичные задачи. Многомерный статический массив. Типичные задачи.
- Строки. С-строки
- Введение в указатели. Арифметика указателей. Указатели на указатели. Указатели нулевые, висячие, динамическое выделение памяти. Ссылки.
- Динамический массив одномерный. Связь с указателями. Типичные задачи на одномерный динамический массив. Двумерный динамический массив. Типичные задачи.
- Функции. Рекурсивные функции. Перегрузка. Функции, передача указателей. Функции, передача массивов. Переменное число аргументов
- Функции, статические, локальные, глобальные переменные. Функторы. Указатели и ссылки на функции, обратный вызов.
- Шаблоны функций.
- Контейнеры. Последовательные, ассоциативные, адаптеры. Ranges. Итераторы последовательные, ассоциативные
- Контейнеры. Последовательные, ассоциативные, адаптеры. Ranges
- Пользовательские типы. enum и union
- Введение в ООП. Структуры.
- Структуры. Конструкторы и деструкторы.
- Классы и объекты. Поля, методы.
- Классы и объекты. Конструкторы и деструкторы. Списки инициализации
- Исключения. RAII, правило трех и пяти. Перегрузка операций. Шаблоны классов
- Наследование.
- Абстрактные классы.
- Move семантика
Промежуточная аттестация
- 2026/2027 1st module0.5 * Lab + 0.25 * CW + 0.25 * Contest
- 2026/2027 2nd module0.15 * Contest + 0.15 * CW + 0.3 * Exam + 0.2 * Lab + 0.2 * Colloc
Список литературы
Рекомендуемая основная литература
- Алгоритмизация. Введение в язык программирования С++ - Белоцерковская И.Е., Галина Н.В., Катаева Л.Ю. - Национальный Открытый Университет "ИНТУИТ" - - - 2016 - русский - https://e.lanbook.com/book/100564 - ЛАНЬ - 100564
- Язык программирования C++ для профессионалов - Страуструп Б. - Национальный Открытый Университет "ИНТУИТ" - - - 2016 - русский - https://e.lanbook.com/book/100542 - ЛАНЬ - 100542
Рекомендуемая дополнительная литература
- Язык программирования - Потапов И. И. - Дальневосточный государственный университет путей сообщения - - - 2019 - русский - https://e.lanbook.com/book/179358 - ЛАНЬ - 179358