Дисциплина базовой части профессионального цикла. Данная дисциплина служит основой для профессиональной ориентации студентов при выборе дисциплин из вариативной части Программы. Дисциплина направлена на формирование у студентов теоретических знаний и практических навыков программирования на языке С++. В результате изучения этой дисциплины студенты будут иметь практические навыки конструирования конкретных алгоритмов на языке высокого уровня для решения разнообразных математических задач.
Цель освоения дисциплины
Формирование у студентов теоретических знаний и практических навыков программирования на языке С++
Планируемые результаты обучения
Владеет понятием динамический полиморфизм (множественное и виртуальное наследование).
Владеет понятием: Организация разработки программ на С++. Владеет понятиями: компоновка программ; единицы трансляции; ODR. Знает: глобальные/локальные переменные. Владеет понятиями: работа с памятью; указатели, массивы и ссылки.
Владеет понятиями: классы; функции-члены. Знает 4 главных функции-члены. Владеет понятиями: Swap-trick; поля класса.
Владеет понятиями: переопределение операторов; пространства имен; динамический полиморфизм (простое наследование).
Знает: стратегии обработки ошибок; обобщенное программирование; шаблоны функций и классов; специализации шаблонов; связь с динамическим полиморфизмом.
Содержание учебной дисциплины
Раздел 1. Процедурное программирование и основы языка
Раздел 2. Объектно-ориентированное, обобщённое программирование и многопоточность
Раздел 3. Метапрограммирование и современные возможности
Элементы контроля
Домашнее задание
Домашние задания выдаются студентам в течение семестра, каждое в одном варианте (6 заданий в семестр). Типичный срок выполнения домашнего задания —1 неделя, типичный срок исполнения замечаний после проверки —дополнительная 1 неделя. Форма представления обучающимися домашнего задания —программа на языке С++, загруженная в специализированную систему проверки и проходящая автоматические проверки. Домашние задания оцениваются от 0 до 10 баллов, некоторые упрощенные могут оцениваться до 5 баллов.
Коллоквиум
Коллоквиум проводится в конце первого модуля в письменной форме (на бланках) или на компьютере в контролируемой среде. Общая продолжительность — 40–60 минут. Коллоквиум состоит из двух частей: теоретические вопросы (закрытые и открытые) + практическое задание (написание небольшого фрагмента кода).
Минимальный порог: 12 баллов из 20 (обязательное условие для получения итоговой оценки).
Экзамен
Экзамен проводится в письменной форме (на бланках) либо на компьютере в контролируемой среде. Общая продолжительность – 90 минут. Тестирование состоит из двух частей:
Часть 1 (60% веса) – 25–30 заданий закрытого и открытого типа (выбор ответа, короткий ответ, сопоставление) по всем темам, изученным в 1-м и 2-м модулях (разделы 1–2 программы: процедурное программирование, ООП, исключения, основы шаблонов, работа с памятью, ODR, CMake, начальная многопоточность).
Часть 2 (40% веса) – практическое задание: написать небольшой фрагмент кода (функцию, класс или исправить ошибку) на бумаге или в предоставленном редакторе без автодополнения.
Домашнее задание
Домашние задания выдаются студентам в течение семестра, каждое в одном варианте (в среднем 8 заданий в семестр). Типичный срок выполнения домашнего задания —1 неделя, типичный срок исполнения замечаний после проверки —дополнительная 1 неделя. Форма представления обучающимися домашнего задания —программа на языке С++, загруженная в специализированную систему проверки и проходящая автоматические проверки. Домашние задания оцениваются от 0 до 10 баллов, некоторые упрощенные могут оцениваться до 5 баллов.
Устный экзамен
Устный экзамен проводится в форме ответов на вопросы экзаменационного билета, ответы на дополнительные вопросы на связанные с билетом темы, а также ответы на обязательные вопросы. Экзаменационный билет содержит несколько подряд идущих вопросов на одну тему. На подготовку ответа выделяется 1 час. На ответ и дополнительные вопросы выделяется 30 минут.
Промежуточная аттестация
2026/2027 2nd module
Общая сумма баллов по курсу рассчитывается по формуле:
Оитог = Одз + Ок + Оэкз
Одз — средняя оценка за все домашние задания ( до 60 баллов);
Ок— оценка за рубежный контроль (коллоквиум) (до 20 баллов);
Оэкз — оценка за экзамен (до 20 баллов).
Максимально возможная оценка: 100 баллов или 10 баллов по шкале НИУ ВШЭ по шкале перевода
10 - 100 - Максимальный результат;
9 - 90–99 - Отлично;
8 - 80–89 - Очень хорошо;
7 - 70–79 - Хорошо;
6 - 60–69 - Хорошо;
5 - 50–59 - Удовлетворительно;
4 - 40–49 - Минимальный порог прохождения;
3 - 30–39 - Неудовлетворительно;
2 - 20–29 - Явно неудовлетворительно
1 - 10–19 - Практическое отсутствие выполнения;
2026/2027 4th module
Общая сумма баллов по курсу рассчитывается по формуле:
Оитог = Одз + Оэкз
Одз — средняя оценка за все домашние задания (до 80 баллов);
Оэкз — оценка за экзамен (до 20 баллов).
Максимально возможная оценка: 100 баллов или 10 баллов по шкале НИУ ВШЭ по шкале перевода
10 - 100 - Максимальный результат;
9 - 90–99 - Отлично;
8 - 80–89 - Очень хорошо;
7 - 70–79 - Хорошо;
6 - 60–69 - Хорошо;
5 - 50–59 - Удовлетворительно;
4 - 40–49 - Минимальный порог прохождения;
3 - 30–39 - Неудовлетворительно;
2 - 20–29 - Явно неудовлетворительно
1 - 10–19 - Практическое отсутствие выполнения;
Список литературы
Рекомендуемая основная литература
Огнева, М. В. Программирование на языке С++: практический курс : учебное пособие для вузов / М. В. Огнева, Е. В. Кудрина. — Москва : Издательство Юрайт, 2024. — 335 с. — (Высшее образование). — ISBN 978-5-534-05123-0. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/539713 (дата обращения: 02.07.2026).
Рекомендуемая дополнительная литература
Зыков, С. В. Программирование. Объектно-ориентированный подход : учебник и практикум для вузов / С. В. Зыков. — Москва : Издательство Юрайт, 2023. — 155 с. — (Высшее образование). — ISBN 978-5-534-00850-0. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/512425 (дата обращения: 02.07.2026).
Преподаватель
Зарубин Антон Александрович
Программа дисциплины
Аннотация
Цель освоения дисциплины
Планируемые результаты обучения
Содержание учебной дисциплины
Элементы контроля
Промежуточная аттестация
Список литературы
Рекомендуемая основная литература
Рекомендуемая дополнительная литература
Авторы