Перейти до вмісту
Система сертифікації ІТ-дисциплін
Система сертифікації ІТ-дисциплін
  • Головна
  • Для ІТ-спеціалістів
  • Для викладачів
  • Силабуси
  • Пілот проєкту
  • Приєднатись до Kharkiv IT Cluster

Об’єктно-орієнтоване програмування

Home / / Об’єктно-орієнтоване програмування

Розробники та рецензенти

Заклад вищої освіти:

Компанія-рецензент 1:

Компанія-рецензент 2:

Валідація:

Опис зображення
Розробник навчальної програми:

Розова Людмила Вікторівна — к.т.н., доцент, доцент кафедри «Математичне моделювання та інтелектуальні обчислення в інженерії» Національного технічного університету «Харківський політехнічний інститут».

Базова інформація

Шифр та назва спеціальності:
122 - Комп'ютерні науки
Назва освітньо-наукової програми
Моделювання, проектування та комп’ютерна графіка. Комп’ютерне та математичне моделювання
Назва дисципліни
Об’єктно-орієнтоване програмування
Вид дисципліни
Основна
Блок дисципліни
Алгоритмізація і програмування
Кількість студентів
Курс/Семестр
2

Загальна інформація про дисципліну

Анотація
Вивчення концепцій об'єктно-орієнтованого програмування на прикладі мови С ++.
Анотація
Сформувати у студентів знання, вміння і навички, необхідні для усвідомлення і раціонального використання понять об’єктно-орієнтованого програмування. Задачі курсу: вивчення студентами основних принципів об’єктно-орієнтованого програмування та застосування цих принципів під час проєктування та розробки програм; освоєння мови об'єктно-орієнтованого програмування C++; формування навичок декомпозиції поставленої задачі і її подальшої програмної реалізації на основі об'єктно-орієнтованих технологій.
Анотація
Лекції, лабораторні роботи, проєкт, самостійна робота. Підсумковий контроль — екзамен
Розподіл часу
Загальний обсяг (кредитів): 5; Лекції (занять): 16; Лабораторні (занять): 64; Практичні (занять): ; Самостійна робота (годин): 70
Попередні дисципліни
Програмування, лінійна алгебра
Матеріально-технічне та програмне забезпечення дисципліни
Вільне кросплатформне середовище для розробки програм на мові С++ Code::Blocks, корпоративний акаунт Microsoft office 365, Microsoft Teams
Структура дисципліни
  • Лекція 1 - Введення в об’єктно-орієнтоване програмування (ООП).
Порівняння структурного та об’єктно-орієнтованого підходу у програмуванні. Основні поняття ООП. Введення у поняття класу. Поля та методи класу.  Екземпляр класу — об’єкт.  Основні принципи ООП.Застосування понять абстракції та інкапсуляції для створення класу. Режими доступу в класі. Поняття UML-діаграми класу. Відділення інтерфейсу класу від реалізації, багатофайлові  проекти. Повторення теми структури.Лабораторна робота 1Лабораторна робота 2.Введення в класи і об'єкти. Застосування принципів абстракції та інкапсуляція на практичних прикладах створення класів та їх об’єктів. Створення багатофайлових проектів.Лабораторна робота 3
  • Лекція 2 – Конструктори і деструктор класу. Дружні функції і класи.
Поняття конструктора та деструктора класу. Типи конструкторів класу. Покажчик this. Перевантаження функцій. Дружні функції. Дружні класи. Створення на прикладах різних типів конструкторів класів та деструкторів. Робота  покажчика this. Створення дружніх функцій і класів. Лабораторна робота 4
  • Лекція 3 – Перевантаження операторів і операцій
Поняття перевантаження операторів і операцій. Правила перевантаження. Поняття операторної функції. Способи визначення операторної функції. Перевантаження операторів з використанням методів класу. Перевантаження операторів з використанням дружніх функцій. Перевантаження операторів з використанням зовнішніх функцій Розглядання на прикладах перевантаження операцій і операторів трьома способами. Види операцій. Лабораторна робота 5. Лабораторна робота 6
  • Лекція 4 – Статичні елементи. Успадкування
Статичні змінні та методи. Поняття успадкування. Види успадкування. Синтаксис успадкування. Керування доступом до членів базового класу. Просте успадкування. Виклик конструкторів класу та передача параметрів конструкторам базових класів. Множинне успадкування. Проблеми множинного успадкування.  Виклик деструкторів при успадкуванні.Види взаємовідношень між класами. Приклади створення ієрархії класів при успадкуванні. Конструктори та деструктор при успадкуванні, особливості передачі параметрів конструкторам базових класів. Приклади та застосування статичних елементів. Лабораторна робота 7. Лабораторна робота 8
  • Лекція 5 – Віртуальні функції, абстрактні класи
Поняття поліморфізму. Віртуальні функції. Поліморфний клас. Правила оголошення та використання віртуальних функцій. Раннє статичне та пізнє динамічне зв’язування. Таблиця віртуальних методів. Абстрактний клас. Суто віртуальна функція. Віртуальний деструктор. Віртуальне успадкування. Створення віртуальних методів на прикладах. Розробка абстрактних класів.  Реалізація віртуальних методів. Приклади. Лабораторна робота 9
  • Лекція 6 – Виключні ситуації
Типи помилок, які можуть виникати в програмах. Поняття виключної ситуації. Обробка виключної ситуації. Алгоритм обробки не перехоплених виключень. Специфікація виключень. Список виключень функції. Виключення в конструкторах і деструкторах. Класи виключень та їх ієрархія. Стандартні виключення. Клас exception. Розглядання алгоритму обробки виключних ситуацій на прикладах. Створення класів і ієрархії класів виключень. Лабораторна робота 10
  • Лекція 7 – Шаблони функцій і класів
Поняття шаблонів функцій та їх формат. Правила роботи зі шаблонами функцій.  Шаблони класів в С++. Повна та часткова спеціалізація шаблонів класу. Статичні елементи шаблонів. Успадкування шаблонів класу. Приклади створення шаблонів функцій і класів. Лабораторна робота 11
  • Лекція 8 – Простори імен. Директиви препроцесору.
Глобальний простір імен. Конфлікт імен. Оголошення просторів імен. Вкладеність просторів імен. Директиви препроцесору. Макровизначення. Умовна компіляція. Приклади створення просторів імен. Застосування директив препроцесору.
Теми та завдання для самостійної роботи
  1. Опрацювання лекційного матеріалу. Контроль під час розв'язання практичних задач, виконання лабораторних робіт, розробки проєкта, виконання тесту.
  2. Підготовка до лабораторних занять
  3. Самостійне вивчення тем та питань, які не викладаються на лекційних заняттях
  4. Додаткові завдання для самостійної роботи за темами лекцій та лабораторних робіт
  5. UML diagrams. Введення в Design Pattern.  (6 годин)
  6. Design Patterns (Adapter + Facade, Observer, Bridge, Visitor). (6 годин) Принципи SOLID
Проєкт
Застосування принципів проектування і розробка об’єктно-орієнтованих програмних проектів для різних предметних областей. Предметна область може бути обрана з переліку або запропонована командою. Під час виконання проєкту передбачається виконання робота у команді 3-4 студентів, розробка  плану створення програм, розподілення задач між членами в командах, перегляд репозиторію проекту, перегляд історії редагувань
Рекомендовані джерела інформації та навчальні матеріали
Страуструп Б. Язык программирования С++. Специальное издание [Текст] / Бьерн Страуструп; пер. с англ. – М. : ООО Бином-Пресс, 2007. –1104 с. Шилдт Г. С++: базовый курс [Текст] / Герберт Шилдт. – 3-е изд. –М. : Вильямс, 2009. – 624 с. Алейников, Д. В., Холодова, Е. П., Силкович, Ю. Н. Язык программирования С++ : введение в объектно-ориентированное программирование : учебно-методическое пособие – Минск : НациональнаябиблиотекаБеларуси, 2016. – 85 с. С++. Основи програмування. Теорія та практика : підручник / [О.Г. Трофименко, Ю.В. Прокоп, І.Г. Швайко, Л.М. Буката та ін.] ; за ред. О.Г. Трофименко. – Одеса: Фенікс, 2010. – 544 с. Павловская Т.А. C/C++. Программирование на языке  высокого уровня. — CПб.: Питер, 2001, 2003 Павловская Т. А., Щупак Ю. А. C++. Объектно-ориентированное программирование: Практикум. — СПб.: Питер, 2006. — 265 с: Основи програмування на C++: Навчальний посібник для студентів спеціальностей 113 – Прикладна математика та 122 – Комп`ютерні науки: навч. посіб./ Водка О.О., Дашкевич А.О., Іванченко К.В., Розова Л.В., Сенько А.В. – Харків: НТУ «ХПІ», 2021. – 114 с. Р. Лафоре. Объектно-ориентированное программирование в С++. – Спб.-2006.– 928с. Б.Мейер. Основы объектно-ориентированного программирования Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. —СПб: Питер, 2001. — 368 с. Мартин Фаулер. Рефакторинг: Улучшение проекта существующего кода. -пер.с англ. -СПб.: Символ-Плюс, 2003. —432 с.
Контрольні заходи
Захист лабораторних робіт, проходження тестування, виконання проєктного завдання, участь у лекційних заняттях.
Результати навчання
Засвоєння необхідних знань та умінь з використання об’єктно-орієнтованого підходу програмування на прикладі мови С++

Зв'язок з ринком праці

Спеціальність/професія, підготовці до діяльності в якій читається курс:
Розробник серверної частини
Посилання на вакансії (понад 3),
Перелік компетентностей із вказаних як вимоги до вакансії, які набувають студенти, в процесі проходження дисципліни.

Інструменти оцінювання результатів навчання за дисципліною

Захист лабораторних робіт 60 балів Тест 20 балів Проєктна робота 15 балів Робота на лекціях 5 балів

Залишити відповідь Скасувати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Недавні записи

  • Організаційна зустріч 23.06.2025
  • Старт нового сезону сертифікації — 2025

Останні коментарі

  1. polina до Криптографія та стеганографія
  2. olena до Організаційна зустріч 23.06.2025
  3. admin до Технології розробки мобільних додатків

Категорії

  • Записи

Сторінки

  • Головна
  • Для викладачів
  • Для ІТ-спеціалістів
  • Інструкція для викладача
  • Пілот проєкту
  • Приєднатись до Kharkiv IT Cluster
  • Силабуси

Архіви

  • Організаційна зустріч 23.06.2025
  • Старт нового сезону сертифікації — 2025

Календар

Квітень 2026
Пн Вт Ср Чт Пт Сб Нд
 12345
6789101112
13141516171819
20212223242526
27282930  
« Чер    

Тема WordPress Project Management від Misbah WP | Працює на WordPress