• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
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

Авторы

  • Сластников Сергей Александрович