Основи об'єктно-орієнтованого програмування

Освітня програма: Програмна інженерія

Структурний підрозділ: Факультет комп'ютерних наук та кібернетики

Назва дисципліни
Основи об'єктно-орієнтованого програмування
Код дисципліни
ННД.16
Тип модуля
Обов’язкова дисципліна для ОП
Цикл вищої освіти
Перший
Рік навчання
2022/2023
Семестр / Триместр
4 Семестр
Кількість кредитів ЕСТS
8
Результати навчання
ПРН01. Аналізувати, цілеспрямовано шукати і вибирати необхідні для вирішення професійних завдань інформаційно-довідникові ресурси і знання з урахуванням сучасних досягнень науки і техніки. ПРН04. Знати і застосовувати професійні стандарти і інші нормативно-правові документи в галузі інженерії програмного забезпечення. ПРН05. Знати і застосовувати відповідні математичні поняття, методи доменного, системного і об’єктно-орієнтованого аналізів та математичного моделювання для розробки програмного забезпечення. ПРН07. Знати і застосовувати на практиці фундаментальні концепції, парадигми і основні принципи функціонування мовних, інструментальних і обчислювальних засобів інженерії програмного забезпечення. ПРН08. Вміти розробляти людино-машинний інтерфейс ПРН12. Застосовувати на практиці ефективні підходи щодо проектування програмного забезпечення. Детальніше п.6 https://iss.csc.knu.ua/files/study/bachelor-degree/courses-2019-202x/introduction-to-object-oriented-programming.pdf
Форма навчання
Очна форма
Попередні умови та додаткові вимоги
1. Знати: основні поняття програмування та принципи розробки програм; базові алгоритми та структури даних 2. Вміти: проектувати, розробляти та тестувати програми на базовому рівні. 3. Володіти елементарними навичками: програмування мовами C, C++.
Зміст навчальної дисципліни
Мета дисципліни – формування у студентів основ знань, необхідних для розуміння організації, функціонування і проектування об'єктно-орієнтованих програмних систем; опанування навичками проектування об'єктно-орієнтованих систем; опанування навичками програмування на мові C/C++. В результаті вивчення навчальної дисципліни студент повинен: знати принципи організації та функціонування об'єктно-орієнтованих програмних систем; основні методи проектування об'єктно-орієнтованих програмних систем, зокрема використання патернів проектування; основні принципи об'єктно-орієнтованого програмування, зокрема інкапсуляцію, успадкування та поліморфізм. вміти створювати програми з використанням мови програмування С/С++ та стандартних бібліотек мови С/С++; використовувати сучасні інструментальні засоби розробки, зокрема засоби модульного тестування (unit testing), системи контролю версій (revision control); проектувати об'єктно-орієнтовані програмні системи з використанням графічної нотації UML.
Рекомендована та необхідна література
1. Bjarne Stroustrup: The C++ Programming Language, 4th Edition. // Addison-Wesley Professional, 2013. 2. Bjarne Stroustrup: Programming: Principles and Practice Using C++, 2nd Edition // Addison-Wesley Professional, 2014. 3. Bjarne Stroustrup: A Tour of C++, 2nd Edition. // Addison-Wesley Professional, 2018. 4. Scott Meyers: Effective C++ Digital Collection: 140 Ways to Improve Your Programming, 1st Edition // Addison-Wesley Professional, 2012. 5. Scott Meyers: Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 // O’Reilly Media, Inc., 2015. 6. Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес: Приемы объектно-ориентированного проектирования. Паттерны проектирования. // Питер, 2015. 7. Макс Шлее: Qt 5.10. Профессиональное программирование на C++ // БХВ-Петербург, 2018. 8. Саттер Г. Решение сложных задач на С++. М. Вильямс 2002.
Заплановані освітні заходи та методи викладання
Лекції, лабораторні заняття, самостійна робота, контрольні роботи, захист лабораторних робіт, іспит.
Методи та критерії оцінювання
- семестрове оцінювання: 1. Контрольна робота (тест) 1: РН 1.1, РН 1.2 — 10 балів/6 балів. 2. Контрольна робота (тест) 2: РН1.3, РН 1.4 - 10 балів/6 балів. 3. Лабораторна робота 1 (проект): РН1.1, РН2.1, РН3.1 – 10 балів/6 балів. 4. Лабораторна робота 2 (проект): РН1.2, РН2.1, РН2.2, РН3.1 – 10 балів/6 балів. 5. Лабораторна робота 3 (проект): РН1.3, РН2.3, РН3.1 – 10 балів/6 балів. 6. Лабораторна робота 4 (проект): РН1.4, РН2.4, РН3.1 – 10 балів/6 балів. - підсумкове оцінювання (у формі іспиту): - максимальна кількість балів які можуть бути отримані студентом: 40 балів; - результати навчання які будуть оцінюватись: PH1.1, PH1.2, PH1.3, PH2.3; - форма проведення і види завдань: письмова. Види завдань: 4 письмових завдання.
Мова викладання
Українська