Основи об'єктно-орієнтованого програмування
Освітня програма: Програмна інженерія
Структурний підрозділ: Факультет комп'ютерних наук та кібернетики
Назва дисципліни
Основи об'єктно-орієнтованого програмування
Код дисципліни
ННД.16
Тип модуля
Обов’язкова дисципліна для ОП
Цикл вищої освіти
Перший
Рік навчання
2023/2024
Семестр / Триместр
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 письмових завдання.
Мова викладання
Українська
Викладачі
Ця дисципліна викладаеться наступними викладачами
Костянтин
Анатолійович
Жереб
Інтелектуальних програмних систем
Факультет комп'ютерних наук та кібернетики
Факультет комп'ютерних наук та кібернетики
Олег
Олексійович
Супрун
Інтелектуальних програмних систем
Факультет комп'ютерних наук та кібернетики
Факультет комп'ютерних наук та кібернетики
Кафедри
Наступні кафедри задіяні у викладанні наведеної дисципліни
Інтелектуальних програмних систем
Факультет комп'ютерних наук та кібернетики
Інтелектуальних програмних систем
Факультет комп'ютерних наук та кібернетики