• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Магистратура 2023/2024

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

Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Направление: 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). — Режим доступа: для авториз. пользователей.