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