• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
01
Март

Программирование на C++

2025/2026
Учебный год
RUS
Обучение ведется на русском языке
4
Кредиты
Статус:
Курс обязательный
Когда читается:
1-й курс, 3 модуль

Преподаватели

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

Аннотация

Курс посвящён изучению языка 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 module
    0.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

Авторы

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