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

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

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

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

Аннотация

На курсе "Углубленное программирование на С++" студенты освоят ключевые концепции программирования на языке С++: основы языка С, синтаксис, переменные, указатели, функции, шаблоны, STL, многопоточность. Отдельное внимание уделяется взаимодействию с операционной системой Linux, организации раздельной компиляции и использованию утилит для управления проектами. Материал курса строится на решении задач, связанных с динамической и статической памятью, разработкой и оптимизацией алгоритмов, включая работу с бинарными деревьями. Практические занятия дисциплины формируют навыки разработки программ, обработки строк и массивов, отладки и тестирования кода. Контроль знаний включает регулярные домашние задания, коллоквиум и итоговый экзамен.
Цель освоения дисциплины

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

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

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

  • Понимает основы программирования на языке C/C++.
  • Умеет работать с Linux и его файловой системой.
  • Пишет простые программы на C/C++, используя переменные, условные конструкции, циклы, функции, указатели, массивы и строки.
  • Умеет работать с файлами и консольным вводом/выводом.
  • Понимает концепции динамической и статической памяти.
  • Разрабатывает и отлаживает алгоритмы для строк и массивов.
  • Использует структуры и классы, применяет typedef и указатели на функции.
  • Организует раздельную компиляцию с помощью make.
  • Умеет проводить юнит-тестирование.
Содержание учебной дисциплины

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

  • Название 1: Основы языка C и история C++
  • Название 2: Этапы компиляции
  • Название 3: Память в C/C++
  • Название 4: Функции
  • Название 5: Работа с файлами
  • Название 6: Структуры и классы
  • Семинар перед рубежным контролем
  • Название 7: Семантика копирования и перемещения
  • Название 8: Шаблоны
  • Название 9: Исключения
  • Название 10: Стандартная библиотека шаблонов
  • Название 11: Многопоточность
  • Семинар перед экзаменом
Элементы контроля

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

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

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

  • 2026/2027 2nd module
    Коллоквиум: Коллоквиум * 0.200 + Домашнее задание: Домашнее задание * 0.400 + Экзамен: Устный опрос * 0.400
Список литературы

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

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

  • Керниган, Б. В. Язык программирования C : учебник / Б. В. Керниган, Д. М. Ричи. — 2-е изд. — Москва : ИНТУИТ, 2016. — 313 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100543 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Мэйерс, С. Эффективное использование C++. 55 верных способов улучшить структуру и код ваших прграмм : руководство / С. Мэйерс. — 3-е изд. — Москва : ДМК Пресс, 2008. — 300 с. — ISBN 5-94074-304-8. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/1245 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Чистая архитектура. Искусство разработки программного обеспечения - 978-5-4461-0772-8 - Мартин Р. - 2019 - Санкт-Петербург: Питер - https://ibooks.ru/products/361841 - 361841 - iBOOKS
  • Чистый код: создание, анализ и рефакторинг - 978-5-4461-0960-9 - Мартин Роберт - 2019 - Санкт-Петербург: Питер - https://ibooks.ru/products/361844 - 361844 - iBOOKS

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

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

Авторы

  • Сластников Сергей Александрович
  • Юнышева Анастасия Владимировна