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

Объектно-ориентированное программирование

Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Статус: Курс обязательный (Информатика и вычислительная техника)
Направление: 09.03.01. Информатика и вычислительная техника
Когда читается: 2-й курс, 1, 2 модуль
Формат изучения: без онлайн-курса
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 4
Контактные часы: 60

Программа дисциплины

Аннотация

В рамках данной дисциплины студенты ознакамливаются с основами объектно-ориентированного программирования (ООП) на языке С++. Изучаются такие составные части ООП как инкапсуляция, наследование, полиморфизм (перегрузка операторов, виртуальные функции, шаблонные функции и классы), шаблоны проектирования классов, основы С++ стандартов 0x11 и 0x14. В процессе освоения дисциплины «Объектно-ориентированное программирование» студент развивает следующие компетенции: Умение спроектировать классы на языке C++; Умение использовать библиотеку STL при проектировании и разработке программного обеспечения; Умение разрабатывать программное обеспечение с применением визуальных оконных интерфейсов; Умение перегружать операторы классов в зависимости от их предназначения; Способность проектировать структуру классов программного обеспечения с применением наследования и его свойств; Умение проектировать гибкую структуру классов, приспосабливающуюся под варианты ее применения. Умением использовать свойство полиморфизма классов и объектов; Знание возможностей современных диалектов языка C++.
Цель освоения дисциплины

Цель освоения дисциплины

  • Привить навыки объектно-ориентированного программирования на языке C++
  • Изучить основные свойства объектов на языке C++.
  • Изучить основные библиотеки для научиться проектировать программное обеспечение с применением объектно-ориентированной парадигмы.
Планируемые результаты обучения

Планируемые результаты обучения

  • Знание возможностей современных диалектов языка C++.
  • Способность проектировать структуру классов программного обеспечения с применением наследования и его свойств.
  • Умение использовать библиотеку STL при проектировании и разработке программного обеспечения.
  • Умение обрабатывать исключительные ситуации в различных библиотеках.
  • Умение перегружать операторы классов в зависимости от их предназначения.
  • Умение проектировать гибкую структуру классов, приспосабливающуюся под варианты ее применения.
  • Умение разрабатывать программное обеспечение с применением визуальных оконных интерфейсов.
  • Умение спроектировать классы на языке C++.
  • Умением использовать свойство полиморфизма классов и объектов.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Основы объектно-ориентированного программирования
  • Библиотека STL
  • Визуальная библиотека Qt, сигналы и слоты, модель проектирования MVC
  • Перегрузка операторов
  • Наследование, виртуальные и статические члены классов, шаблонные классы
  • Обработка исключительных ситуаций
  • Основные возможности С++ и STL новых стандартов
Элементы контроля

Элементы контроля

  • неблокирующий Лабораторные работы
    Для лабораторных работ вводится дедлайн - 25% штраф после двух недель с момента выдачи задания, 50% - после трех, 100% - после четырех.
  • неблокирующий Итоговый проект
  • неблокирующий Экзамен
    Решение поставленной задачи с использованием компилятора в течение 3 часов.
Промежуточная аттестация

Промежуточная аттестация

  • 2023/2024 учебный год 2 модуль
    0.4 * Итоговый проект + 0.4 * Лабораторные работы + 0.2 * Экзамен
Список литературы

Список литературы

Рекомендуемая основная литература

  • C++17 STL. Стандартная библиотека шаблонов, Галовиц, Я., 2019
  • C++20 для программистов.. - 978-5-4461-2359-9 - Дейтел Пол, Дейтел Харви - 2024 - Санкт-Петербург: Питер - https://ibooks.ru/products/393770 - 393770 - iBOOKS
  • David Vandevoorde, Nicolai M. Josuttis, & Douglas Gregor. (2017). C++ Templates : The Complete Guide. Addison-Wesley Professional.
  • Ivor Horton, & Peter Van Weert. (2020). Beginning C++20 : From Novice to Professional: Vol. 6th ed. Apress.
  • Qt 6. Разработка оконных приложений на C++. - 978-5-9775-1180-3 - Прохоренок Н. А. - 2022 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/products/386517 - 386517 - iBOOKS
  • Введение в стандартную библиотеку шаблонов (STL) - Маер А. В. - Курганский государственный университет - 978-5-4217-0540-6 - 2020 - русский - https://e.lanbook.com/book/177906 - ЛАНЬ - 177906
  • Введение в языки программирования C и C++ - Кетков Ю.Л. - Национальный Открытый Университет "ИНТУИТ" - - - 2016 - русский - https://e.lanbook.com/book/100719 - ЛАНЬ - 100719
  • Красивый C++: 30 главных правил чистого, безопасного и быстрого кода. - 978-5-4461-2272-1 - Дэвидсон Дж. Гай, Грегори Кейт - 2023 - Санкт-Петербург: Питер - https://ibooks.ru/products/390135 - 390135 - iBOOKS
  • Объектно-ориентированное программирование в C++. Классика Computer Science. 4-е изд.. - 978-5-4461-0927-2 - Лафоре Р. - 2021 - Санкт-Петербург: Питер - https://ibooks.ru/products/376836 - 376836 - iBOOKS
  • Объектно-ориентированное программирование на языке С++: Практикум - Скворцова Л. А., Бирюкова А. А., Гусев К. В. - МИРЭА - Российский технологический университет - - - 2021 - русский - https://e.lanbook.com/book/176540 - ЛАНЬ - 176540
  • Объектно-ориентированное программирование: стандартная библиотека C++ - Унгер А. Ю. - МИРЭА - Российский технологический университет - - - 2022 - русский - https://e.lanbook.com/book/311357 - ЛАНЬ - 311357
  • Объектно-ориентированный анализ и проектирование. Задачи и примеры на C++ - Достовалов Д. Н., Лауферман О. В. - Новосибирский государственный технический университет - 978-5-7782-4708-6 - 2022 - русский - https://e.lanbook.com/book/306206 - ЛАНЬ - 306206
  • Основы объектно-ориентированного программирования в примерах на C++, учебное пособие, 148 с., Дёмкин, В. М., 2005
  • Шаблоны объектно-ориентированного проектирования в языке C++ - Унгер А. Ю. - МИРЭА - Российский технологический университет - - - 2022 - русский - https://e.lanbook.com/book/310838 - ЛАНЬ - 310838

Рекомендуемая дополнительная литература

  • Объектно-ориентированное программирование на С++ - Баранова И. В., Баранов С. Н., Баженова И. В., Кучунова Е. В., Толкач С. Г. - Сибирский Федеральный Университет - 978-5-7638-4034-6 - 2019 - русский - https://e.lanbook.com/book/157572 - ЛАНЬ - 157572
  • Осваиваем C++17 STL - О’Двайр А. - Издательство "ДМК Пресс" - 978-5-97060-663-6 - 2018 - русский - https://e.lanbook.com/book/116126 - ЛАНЬ - 116126
  • Программирование встроенных систем на С++ 17 - Пош М. - Издательство "ДМК Пресс" - 978-5-97060-785-5 - 2020 - русский - https://e.lanbook.com/book/140589 - ЛАНЬ - 140589
  • Программирование на языке C++ - Павловская Т.А. - Национальный Открытый Университет "ИНТУИТ" - - - 2016 - русский - https://e.lanbook.com/book/100409 - ЛАНЬ - 100409
  • Язык программирования C++ для профессионалов - Страуструп Б. - Национальный Открытый Университет "ИНТУИТ" - - - 2016 - русский - https://e.lanbook.com/book/100542 - ЛАНЬ - 100542

Авторы

  • Клышинский Эдуард Станиславович
  • Демин Алексей Анатольевич