• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Object-Oriented Programming

2024/2025
Academic Year
RUS
Instruction in Russian
4
ECTS credits
Course type:
Compulsory course
When:
2 year, 1, 2 module

Instructors


Альбатша Ахмад Мухаммад Хусайн

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

Аннотация

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

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

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

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

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

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

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

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

  • неблокирующий Лабораторные работы
  • неблокирующий Проект
  • неблокирующий Экзамен
Промежуточная аттестация

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

  • 2024/2025 2nd module
    До 4 баллов округление производится путем отбрасывания дробной части. После 4 округление проводится арифметически.
Список литературы

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

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

  • C++17 STL. Стандартная библиотека шаблонов, Галовиц, Я., 2019
  • 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.
  • Кетков, Ю. Л. Введение в языки программирования C и C++ : учебное пособие / Ю. Л. Кетков. — 2-е изд. — Москва : ИНТУИТ, 2016. — 291 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100719 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • О’Двайр, А. Осваиваем C++17 STL / А. О’Двайр. — Москва : ДМК Пресс, 2018. — 352 с. — ISBN 978-5-97060-663-6. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/116126 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Объектно-ориентированное программирование в C++. Классика Computer Science. 4-е изд.. - 978-5-4461-0927-2 - Лафоре Р. - 2021 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/376836 - 376836 - iBOOKS
  • Объектно-ориентированное программирование на С++ : учебник / И. В. Баранова, С. Н. Баранов, И. В. Баженова [и др.]. — Красноярск : СФУ, 2019. — 288 с. — ISBN 978-5-7638-4034-6. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/157572 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Основы объектно-ориентированного программирования в примерах на C++, учебное пособие, 148 с., Дёмкин, В. М., 2005
  • Пош, М. Программирование встроенных систем на С++ 17 : учебное пособие / М. Пош , перевод с английского А. В. Снастина. — Москва : ДМК Пресс, 2020. — 394 с. — ISBN 978-5-97060-785-5. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/140589 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Скворцова, Л. А. Объектно-ориентированное программирование на языке С++: Практикум : учебное пособие / Л. А. Скворцова, А. А. Бирюкова, К. В. Гусев. — Москва : РТУ МИРЭА, 2021. — 146 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/176540 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Страуструп, Б. Язык программирования C++ для профессионалов : учебное пособие / Б. Страуструп. — 2-е изд. — Москва : ИНТУИТ, 2016. — 670 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100542 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Унгер, А. Ю. Объектно-ориентированное программирование: стандартная библиотека C++ : учебное пособие / А. Ю. Унгер. — Москва : РТУ МИРЭА, 2022. — 71 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/311357 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

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

  • Павловская, Т. А. Программирование на языке C++ : учебное пособие / Т. А. Павловская. — 2-е изд. — Москва : ИНТУИТ, 2016. — 154 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100409 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

Авторы

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