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





Программирование на C++
Статус:
Курс обязательный (Экономика и анализ данных)
Кто читает:
Базовая кафедра Яндекс
Где читается:
Факультет компьютерных наук
Когда читается:
1-й курс, 3 модуль
Охват аудитории:
для всех кампусов НИУ ВШЭ
Язык:
русский
Кредиты:
4
Контактные часы:
80
Программа дисциплины
Аннотация
Курс посвящён изучению языка C++: от базовых конструкций до работы с памятью, указателями, динамическими структурами данных, стандартной библиотекой и основами ООП. Студенты научатся писать эффективный и безопасный код. Практика включает выполнение лабораторных работ, контестов и решение задач в тестирующей системе.
Цель освоения дисциплины
- Целью курса является получение навыков написания чистого, эффективного и безопасного кода на C++, умение отлаживать программы, работать с динамическими структурами данных, владеть основами ООП.
Планируемые результаты обучения
- Понимать архитектуру программы на C++ и принципы работы с памятью.
- Уметь использовать указатели, ссылки и динамическое выделение памяти.
- Владеть основными алгоритмами обработки массивов и строк.
- Работать с файлами и стандартными потоками ввода-вывода.
- Использовать контейнеры STL (vector, map, set и др.) и алгоритмы.
- Понимать основы ООП в C++: структуры, классы, конструкторы, деструкторы.
Содержание учебной дисциплины
- Введение в язык. Первая программа. Структура программы. Ввод-вывод. Основные операции. Память и типы данных.
- Память и типы данных. IEEE, битовые операции
- Условный оператор, switch, циклы while, for, вложенные циклы.
- Функции, рекурсия, перегрузка.
- Указатели, арифметика указателей, указатели на указатели.
- Динамическая память, ссылки, умные указатели.
- Массивы: статические и динамические, одномерные и многомерные.
- Строки, работа с файлами.
- Двумерные динамические массивы.
- Последовательные контейнеры STL.
- Ассоциативные контейнеры STL.
- Итераторы
- Библиотека algorithm.
- Структуры и классы.
- Конструкторы, деструкторы, передача структур в функции.
Элементы контроля
- Домашнее задание (контест) 1-5Выдается набор задач в автоматически проверяемой системе (Яндекс.Контест). ‼️Все ваши домашние задания, лабораторные, контрольная и экзамен будут проверены на плагиат. ‼️Использовать ИИ запрещено (в том числе ИИ-автодополения в IDE) ‼️При обнаружении плагиата (в том числе материала, созданного с помощью генеративного ИИ) элементу оценки будет присвоена оценка «0» и составлена докладная записка. ‼️При наличии подозрения, что задание выполнено не самостоятельно, преподаватель имеет право инициировать дополнительную проверку или защиту данного элемента оценки. Итоговая оценка за элемент будет основана на результатах такой проверки или защиты. ‼️Преподаватель также имеет право пригласить любого студента для защиты любого элемента оценки в случайном порядке, независимо от наличия плагиата или подозрения в плагиате. В случае отказа студента от защиты или неявки на защиту, оценка за этот элемент аннулируется и выставляется «0». ‼️Правила пересдачи совпадают с основной сдачей.
- Домашнее задание (лабораторная работа) 6-10Выдается набор задач и упраженний, которые необходимо решить и сделать выводы. ‼️Все ваши домашние задания, лабораторные, контрольная и экзамен будут проверены на плагиат. ‼️Использовать ИИ запрещено (в том числе ИИ-автодополения в IDE) ‼️При обнаружении плагиата (в том числе материала, созданного с помощью генеративного ИИ) элементу оценки будет присвоена оценка «0» и составлена докладная записка. ‼️При наличии подозрения, что задание выполнено не самостоятельно, преподаватель имеет право инициировать дополнительную проверку или защиту данного элемента оценки. Итоговая оценка за элемент будет основана на результатах такой проверки или защиты. ‼️Преподаватель также имеет право пригласить любого студента для защиты любого элемента оценки в случайном порядке, независимо от наличия плагиата или подозрения в плагиате. В случае отказа студента от защиты или неявки на защиту, оценка за этот элемент аннулируется и выставляется «0». ‼️Правила пересдачи совпадают с основной сдачей.
- Контрольная работаВыдается набор задач в автоматически проверяемой системе (Яндекс.Контест). ‼️Все ваши домашние задания, лабораторные, контрольная и экзамен будут проверены на плагиат. ‼️Использовать ИИ запрещено (в том числе ИИ-автодополения в IDE) ‼️При обнаружении плагиата (в том числе материала, созданного с помощью генеративного ИИ) элементу оценки будет присвоена оценка «0» и составлена докладная записка. ‼️При наличии подозрения, что задание выполнено не самостоятельно, преподаватель имеет право инициировать дополнительную проверку или защиту данного элемента оценки. Итоговая оценка за элемент будет основана на результатах такой проверки или защиты. ‼️Преподаватель также имеет право пригласить любого студента для защиты любого элемента оценки в случайном порядке, независимо от наличия плагиата или подозрения в плагиате. В случае отказа студента от защиты или неявки на защиту, оценка за этот элемент аннулируется и выставляется «0». ‼️Правила пересдачи совпадают с основной сдачей.
- Коллоквиум‼️Все ваши домашние задания, лабораторные, контрольная и экзамен будут проверены на плагиат. ‼️Использовать ИИ запрещено (в том числе ИИ-автодополения в IDE) ‼️При обнаружении плагиата (в том числе материала, созданного с помощью генеративного ИИ) элементу оценки будет присвоена оценка «0» и составлена докладная записка. ‼️При наличии подозрения, что задание выполнено не самостоятельно, преподаватель имеет право инициировать дополнительную проверку или защиту данного элемента оценки. Итоговая оценка за элемент будет основана на результатах такой проверки или защиты. ‼️Преподаватель также имеет право пригласить любого студента для защиты любого элемента оценки в случайном порядке, независимо от наличия плагиата или подозрения в плагиате. В случае отказа студента от защиты или неявки на защиту, оценка за этот элемент аннулируется и выставляется «0». ‼️Правила пересдачи совпадают с основной сдачей.
- ЭкзаменЭкзамен состоит из двух частей: теоретический тест и контест. Контест это набор задач в автоматически проверяемой системе (Яндекс.Контест). Тест — тестовые вопросы по темам курса. Экзамен проводится очно с прокторингом. ‼️Все ваши домашние задания, лабораторные, контрольная и экзамен будут проверены на плагиат. ‼️Использовать ИИ запрещено (в том числе ИИ-автодополения в IDE) ‼️При обнаружении плагиата (в том числе материала, созданного с помощью генеративного ИИ) элементу оценки будет присвоена оценка «0» и составлена докладная записка. ‼️При наличии подозрения, что задание выполнено не самостоятельно, преподаватель имеет право инициировать дополнительную проверку или защиту данного элемента оценки. Итоговая оценка за элемент будет основана на результатах такой проверки или защиты. ‼️Преподаватель также имеет право пригласить любого студента для защиты любого элемента оценки в случайном порядке, независимо от наличия плагиата или подозрения в плагиате. В случае отказа студента от защиты или неявки на защиту, оценка за этот элемент аннулируется и выставляется «0». ‼️Правила пересдачи совпадают с основной сдачей.
Промежуточная аттестация
- 2025/2026 3rd module0.1 * Домашнее задание (контест) 1-5 + 0.2 * Домашнее задание (лабораторная работа) 6-10 + 0.25 * Коллоквиум + 0.2 * Контрольная работа + 0.25 * Экзамен
Список литературы
Рекомендуемая основная литература
- Белоцерковская, И. Е. Алгоритмизация. Введение в язык программирования С++ : учебное пособие / И. Е. Белоцерковская, Н. В. Галина, Л. Ю. Катаева. — 2-е изд. — Москва : ИНТУИТ, 2016. — 196 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100564 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Язык программирования С++, Страуструп, Б., 2007
Рекомендуемая дополнительная литература
- Страуструп, Б. Язык программирования C++ для профессионалов : учебное пособие / Б. Страуструп. — 2-е изд. — Москва : ИНТУИТ, 2016. — 670 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100542 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Язык программирования C++: Базовый курс, Липпман, С. Б., 2014