2023/2024




Углубленное программирование на С/С++
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус:
Маго-лего
Кто читает:
Департамент прикладной математики
Когда читается:
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.2 * Коллоквиум + 0.1 * Квизы + 0.3 * ДЗ + 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 - О’Двайр А. - Издательство "ДМК Пресс" - 978-5-97060-663-6 - 2018 - русский - https://e.lanbook.com/book/116126 - ЛАНЬ - 116126
Рекомендуемая дополнительная литература
- Наиболее эффективное использование C++. 35 новых рекомендаций по улучшению ваших программ и проектов - Мейерс С. - Издательство "ДМК Пресс" - 5-94074-033-2 - 2007 - русский - https://e.lanbook.com/book/1224 - ЛАНЬ - 1224
- Эффективное использование C++. 55 верных способов улучшить структуру и код ваших прграмм - Мэйерс С. - Издательство "ДМК Пресс" - 5-94074-304-8 - 2008 - русский - https://e.lanbook.com/book/1245 - ЛАНЬ - 1245