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

Углубленное программирование на С++

Статус: Маго-лего
Когда читается: 1, 2 модуль
Охват аудитории: для всех кампусов НИУ ВШЭ
Язык: русский
Кредиты: 6
Контактные часы: 60

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

Аннотация

В рамках курса "базовый c++" студенты освоят ключевые концепции программирования на языке c++, включая работу с синтаксисом, переменными, указателями, функциями и другими базовыми конструкциями.В процессе обучения уделено внимание взаимодействию с операционной системой linux, организации раздельной компиляции и использованию утилит для управления проектами. Также студенты научатся решать задачи, связанные с динамической и статической памятью, разрабатывать и оптимизировать алгоритмы, включая работу с графами и простейшие методы решения уравнений. Практические занятия направлены на разработку программ, обработку строк и массивов, а также отладку и тестирование кода. Контроль знаний включает регулярные домашние задания и итоговый экзамен.
Цель освоения дисциплины

Цель освоения дисциплины

  • Целью курса "Углубленное программирование на С++" является обучение студентов основам программирования на языке C++, включая изучение синтаксиса, базовых конструкций языка, работу с памятью, файлами, алгоритмами и другими ключевыми концепциями.
Планируемые результаты обучения

Планируемые результаты обучения

  • Понимание основ программирования на языке C++
  • Навыки работы с Linux и его файловой системой
  • Умение писать простые программы на C++, включая использование переменных, условных конструкций, циклов, функций, указателей, массивов и строк
  • Знание основ работы с файлами и консольным вводом/выводом
  • Понимание концепций динамической и статической памяти
  • Навыки разработки и отладки алгоритмов на строках и массивах
  • Знание основ работы со структурами, typedef, указателями на функции
  • Умение организовывать раздельную компиляцию с помощью make
  • Знание базовых алгоритмов на графах и методов оптимизации
  • Навыки юнит и интеграционного тестирования, а также запуска тестов в CI
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Основные синтаксические конструкции
  • Функции. Указатели. Массивы. Строки
  • Работа с файлами
  • Динамическая и статическая памяти
  • Структуры. Указатели на функции
  • Алгоритмы на графах
  • Юнит и интеграционные тестирования
  • Запуск тестов в CI
Элементы контроля

Элементы контроля

  • неблокирующий Коллоквиум
  • неблокирующий ДЗ
  • неблокирующий Квизы
  • неблокирующий Экзамен
Промежуточная аттестация

Промежуточная аттестация

  • 2025/2026 2nd module
    0.3 * ДЗ + 0.1 * Квизы + 0.3 * Коллоквиум + 0.3 * Экзамен
Список литературы

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

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

  • Совершенный алгоритм : графовые алгоритмы и структуры данных, Рафгарден, Т., 2019
  • Язык программирования С, Керниган, Б., 2015
  • Язык программирования Си, Керниган, Б., 2001

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

  • Принципы юнит-тестирования - 978-5-4461-1683-6 - Владимир Хориков - 2021 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/373514 - 373514 - iBOOKS

Авторы

  • Крепкер Виктор Алексеевич
  • Сластников Сергей Александрович