Магистратура
2023/2024![Цель освоения дисциплины](/f/src/global/i/edu/objectives.svg)
![Планируемые результаты обучения](/f/src/global/i/edu/results.svg)
![Содержание учебной дисциплины](/f/src/global/i/edu/sections.svg)
![Промежуточная аттестация](/f/src/global/i/edu/intermediate_certification.svg)
![Список литературы](/f/src/global/i/edu/library.svg)
Углубленное программирование на С/С++
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс обязательный (Прикладные модели искусственного интеллекта)
Направление:
01.04.02. Прикладная математика и информатика
Кто читает:
Департамент прикладной математики
Когда читается:
1-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Прогр. обучения:
Прикладные модели искусственного интеллекта
Язык:
русский
Кредиты:
6
Контактные часы:
60
Программа дисциплины
Аннотация
Курс посвящен современным механизмам языка С++ с точки зрения разработки эффективных (по памяти и быстродействию) модулей и программных библиотек. Основной упор делается на работу с оперативной памятью.
Цель освоения дисциплины
- Уметь эффективно применять современные механизмы языка С++ для разработки модулей и программных библиотек
Планируемые результаты обучения
- Способен проектировать и реализовывать систему с множеством связанных объектов на основе концепции ООП в С++.
- Способен реализовать программу на языке С++ с использованием контейнеров и алгоритмов стандартной библиотеки, шаблонов и обработкой всех видов исключений.
- знать устройство и основные принципы работы стандартной библиотеки шаблонов (STL) языка программирования C++
- Знать основные механизмы современных стандартов С++
- Знает, как осуществляется компиляция программы на языке C++. Умеет при решении задач избегать нарушений правила одного определения.
Содержание учебной дисциплины
- Препроцессор, компилятор, компоновщик
- Память в С++
- Функции
- Классы и методы классов
- Copy и move-семантика
- Шаблоны
- Исключения. Структурное связывание. Универсальная ссылка. Обработка ошибок. noexcept. Гарантии безопасности исключений (exception safety). Поиск подходящего обработчика. Исключения в конструкторе и деструкторе. Точки следования (sequence points).
- Стандартная библиотека С++. Часть I. Библиотека шаблонов STL (Standard Template Library). Вспомогательные классы. Библиотека алгоритмов STL.
- Продолжение работы с STL. Часть II
- Расширения на C
Промежуточная аттестация
- 2023/2024 учебный год 2 модуль0.3 * ДЗ + 0.1 * Квизы + 0.2 * Коллоквиум + 0.4 * Экзамен
Список литературы
Рекомендуемая основная литература
- David Vandevoorde, Nicolai M. Josuttis, & Douglas Gregor. (2017). C++ Templates : The Complete Guide. Addison-Wesley Professional.
- Scott Meyers. (2014). Effective Modern C++ : 42 Specific Ways to Improve Your Use of C++11 and C++14. O’Reilly Media.
- О’Двайр, А. Осваиваем C++17 STL / А. О’Двайр. — Москва : ДМК Пресс, 2018. — 352 с. — ISBN 978-5-97060-663-6. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/116126 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Рекомендуемая дополнительная литература
- Мейерс, С. Наиболее эффективное использование 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). — Режим доступа: для авториз. пользователей.