Магистратура
2025/2026




Обучение языку C++ 1
Статус:
Курс по выбору (Современные компьютерные науки)
Кто читает:
Базовая кафедра Яндекс
Где читается:
Факультет компьютерных наук
Когда читается:
1-й курс, 1, 2 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Программа дисциплины
Аннотация
С++ - мощный язык с богатым наследием. Тем, кто только ступил на путь освоения этого языка, очень просто заблудиться в изобилии техник и приёмов, созданных за последние 30 лет. Курс учит "Modern C++" - современному подмножеству языка (стандарты 14, 17 и 20). Много внимания уделяется инструментам и библиотекам - вещам которые не являются частью языка, но без которых не получится построить большой и сложный проект.
Цель освоения дисциплины
- знать основные конструкции и идиомы современного языка С++
- уметь писать работающие программы на языке С++
- уметь отлаживать код программ на языке C++
- уметь использовать язык С++ в качестве инструмента для решения практических задач
- владеть основными средствами языка С++
Планируемые результаты обучения
- в качестве инструмента для решения практических задач владеть основными средствами языка С++
- владеть основными средствами языка С++
- владеть основными средствами языка С++
- знать основные конструкции и идиомы современного языка С++
- уметь использовать язык С++
- уметь использовать язык С++ в качестве инструмента для решения практических задач
- уметь отлаживать код программ на языке C++
- уметь писать работающие программы на языке С++
- уметь писать работающие программы на языке С++
Содержание учебной дисциплины
- Введение в С++. Настройка окружения
- Константы, ссылки и указатели. Структуры
- Классы
- Динамическое управление памятью.
- Умные указатели.
- Стандартная библиотека шаблонов. Шаблоны
- Наследование и виртуальные функции
- Обработка ошибок
- Паттерны проектирования
- Python C Api
- Пространства имен, move-семантика, perfect forwarding. Регулярные выражения
- Представление структур и классов в памяти. Выравнивание данных. Указатели на члены-методы класса. Variadic templates.
- Кодировки
- Идиома pimpl
Промежуточная аттестация
- 2025/2026 2nd module0.2 * Активность на семинарах + 0.2 * Активность на семинарах + 0.2 * Домашнее задание 1 + 0.2 * Домашнее задание 2 + 0.2 * Домашнее задание 3
Список литературы
Рекомендуемая основная литература
- A facility for creating Python extensions in C++. (1998). Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsstc&AN=edsstc.14305
- C/C++. Программирование на языке высокого уровня : учебник для вузов, Павловская, Т. А., 2004
- C++ Coding Standards, 101 rules, guidelines, and best practices, 220 p., Sutter, H., Alexandrescu, A., 2005
- Мейерс, С. Наиболее эффективное использование C++. 35 новых рекомендаций по улучшению ваших программ и проектов : учебное пособие / С. Мейерс. — Москва : ДМК Пресс, 2007. — 294 с. — ISBN 5-94074-033-2. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/1224 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Мэйерс, С. Эффективное использование C++. 55 верных способов улучшить структуру и код ваших прграмм : руководство / С. Мэйерс. — 3-е изд. — Москва : ДМК Пресс, 2008. — 300 с. — ISBN 5-94074-304-8. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/1245 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Павловская, Т. А. Программирование на языке C++ : учебное пособие / Т. А. Павловская. — 2-е изд. — Москва : ИНТУИТ, 2016. — 154 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100409 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Энтони, У. Параллельное программирование на C++ в действии. Практика разработки многопоточных программ : учебное пособие / У. Энтони , перевод с английского А. А. Слинкин. — Москва : ДМК Пресс, 2012. — 672 с. — ISBN 978-5-94074-448-1. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/4813 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Рекомендуемая дополнительная литература
- Guido Van Rossum, & Fred L. Drake. (2004). Python/C API Reference Manual Release 2.3.4. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.2FEE239A
- Moore, B. (2016). Paraffin: a Parallelism API for Multiple Languages Including Ada, C, C++, C#, Java, FORTRAN, Python, Rust. Ada User Journal, 37(2), 99–109. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=asn&AN=119225673