Об’єктно-орієнтоване та подійно-орієнтоване програмування (мова Java) 2

Mandatory discipline
Навчальна дисципліна професійної підготовки
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 4.5; • у навчальних годинах — 135.
Розподіл навчальних годин (аудиторні заняття / самостійна робота): 
• очна форма — 44 / 91.
Кількість аудиторних занять за видами (лекції / практичні заняття / лабораторні заняття): 
• очна форма — 15 / 0 / 7.
Індивідуальна робота: 
• очна форма — курсова робота.
Семестровий контроль: 
Exam. Protection of course work.
Освітню компоненту забезпечує: 
Анотація: 

Мета вивчення дисципліни: формування у студентів розуміння загальних принципів об’єктно-орієнтованого проектування та програмування (ООП), отримання навичок практичного застосування ООП при створенні складних програмних комплексів.
Практичне значення та використання отриманих знань: застосування принципів та підходів ООП підвищує якість та універсальність програмного коду реалізації функціоналу інформаційних систем та прикладних застосувань, покращує можливості підтримки та оновлення програмної логіки на мовах програмування високого рівня.
Тематика та види навчальних занять

Для денної форми здобуття освіти

Лекційні заняття

Лекція 1. Підходи до оцінки покриття коду тестами. Обфускація Java-кода. Засоби статичного аналізу коду.
Лекція 2. Особливості встановлення, налаштування та практичного використання веб-застосування системи безперервної інтеграції Jenkins. Система Travis, файли формату *.yml.
Лекція 3. Поняття потоків і багатопотокова архітектура. Клас Thread і інтерфейс Runnable.
Лекція 4. Семафори і обмін даними між потоками. Робота з файлами. Загальні рекомендації по роботі з потоками в Java.
Лекція 5. Поняття клієнт-серверних додатків. JavaDB в NetBeans. Основи SQL і SQLite.
Лекція 6. Особливості використання JDBC і MySQL.
Лекція 7. Робота з числами та точністю. Двійкове подання цілих чисел. Побітові маски і зрушення. Двійкове подання дійсних чисел.
Лекція 8. Перейменування елементів програми. Переміщення елементів програми. Інкапсуляція полів даних.
Лекція 9. Види вбудованих класів. Вкладені (nested) класи і інтерфейси. Внутрішні (inner) класси. Локальні (local) класи. Анонімні () класи і обробники подій. Анонимні (anonymous) класи і слухачі подій (listeners).
Лекція 10. Аплети, сервлети, технології JSP, JSF.
Лекція 11. Компонентна архітектура Java Beans.
Лекція 12. Додавання в компонент нових властивостей. Додавання в компонент нових подій.
Лекція 13. Специфіка розробки програмних застосувань в середовищі програмування Eclipse. Модульна розширеність, основні елементи інтерфейсу.
Лекція 14. Особливості розробки програмних застосувань в середовищі програмування Netbeans. Модульна розширеність, основні елементи інтерфейсу.
Лекція 15. Специфіка розробки програмних застосувань в середовищі програмування Intelij Idea. Модульна розширеність, основні елементи інтерфейсу.

Лабораторні заняття

Лабораторне заняття №1. “ Можливості та особливості обробки виняткових ситуацій ”.
Мета заняття – отримання практичних навичок з використання механізмів обробки винятковий ситуацій на основі об’єктно-орієнтованої парадигми засобами мови програмування Java.
Лабораторне заняття №2. “Створення додатків баз даних за допомогою JDBC”.
Мета заняття – отримання практичних навичок з використання технології JDBC для організації роботи клієнтських застосувань з базою даних на основі об’єктно-орієнтованої парадигми засобами мови програмування Java.
Лабораторне заняття №3. “Принципи розробки мережевих застосувань”.
Мета заняття – отримання практичних навичок з підходів створення програмних додатків для роботи з локальною та глобальною комп’ютерною мережею на основі об’єктно-орієнтованої парадигми засобами мови програмування Java.
Лабораторне заняття №4. “Використання регулярних виразів”.
Мета заняття – отримання практичних навичок з використання регулярних виразів для парсингу текстових даних на основі об’єктно-орієнтованої парадигми засобами мови програмування Java.
Лабораторне заняття №5. “Основи розробки графічного інтерфейсу користувачів ”.
Мета заняття – отримання практичних навичок з використання бібліотек створення графічного інтерфейсу програмних застосувань на основі об’єктно-орієнтованої парадигми засобами мови програмування Java.
Лабораторне заняття №6.“Робота з графічними зображеннями і подіями ”.
Мета заняття – отримання базових практичних навичок з обробки взаємодії користувача с компонентами графічного інтерфейсу програмного застосування на основі об’єктно-орієнтованої парадигми засобами мови програмування Java.
Лабораторне заняття №7. “Організація процесів серіалізації даних в зовнішні файли”.
Мета заняття – отримання базових практичних навичок з виконання серіалізації даних до файлів на основі об’єктно-орієнтованої парадигми засобами мови програмування Java.

Консультації здійснюються впродовж семестру згідно встановленого розкладу.
Індивідуальна робота

Для денної форми здобуття освіти

Курсова робота

Мета курсової роботи – набуття загальних та спеціальних компетентностей майбутніх бакалаврів, поглиблення теоретичних знань та практичних навичок проектування прикладних програмних застосувань на базі використання парадигми об’єктно-орієнтованого програмування.
Здобувач отримує завдання на третьому тижні третього семестру.
Пояснювальна записка містить 20-25 сторінок Кількість розділів – 2.
Змістовна послідовність виконання роботи.
1. Формування загального бачення проекту програмної системи, яку планується реалізувати.
2. Аналіз аналогів на ринку програмного забезпечення.
3. Обґрунтування вибору засобів програмної реалізації системи.
4. Побудова технічного завдання та беклогу продукту.
5. Створення Storyboard та user stories системи
6. Розробка макетів інтерфейсу програмного продукту

Захист курсової роботи – протягом останнього навчального тижня семестру.

Курсова робота

Мета курсової роботи – набуття загальних та спеціальних компетентностей майбутніх бакалаврів, поглиблення теоретичних знань та практичних навичок розробки та програмної реалізації прикладних програмних застосувань на базі використання парадигми об’єктно-орієнтованого програмування.
Здобувач отримує завдання на першому тижні четвертого семестру.
Пояснювальна записка містить 30-40 сторінок Кількість розділів – 3-4.
Змістовна послідовність виконання роботи.
1. Розробка діаграми класів програмного застосування.
2. Розробка діаграм активностей, компонентів, послідовності дій та розгортання.
3. Розробка сховища або бази даних.
4. Розробка програмної бізнес-логіки реалізації функціоналу системи.
5. Розробка інтерфейсу користувача
6. Тестування роботи програмного застосування
7. Оцінка якості програмного коду реалізації

Захист курсової роботи – протягом останнього навчального тижня семестру.

Форми контрольних заходів та оцінювання результатів навчання

Для денної форми здобуття освіти

Поточний контроль полягає у виконанні

1) 6-ти індивідуальних поточних завдань. Індивідуальні поточні завдання виконуються письмово і полягають в розв'язуванні типових задач відповідно до мети та завдань лабораторних занять. Бездоганне виконання індивідуального поточного завдання №1 оцінюється у 5 балів; індивідуальних поточних завдань №2 і №3 – 10 балів; індивідуальних поточних завдань №4 – 5 балів, №5 і №6 – 10 балів;
2) курсової роботи. Бездоганне виконання оцінюється у 60 балів. Захист роботи – 40 балів.
3) двох модульних контрольних робіт. Модульні контрольні роботи складаються з теоретичної і практичної частин та проводяться у формі електронного звіту з наведенням вихідних кодів програмної реалізації. Бездоганне виконання кожної модульної контрольної роботи становить 25 балів.
Підсумковий контроль – екзамен. Екзамен усний. Максимальна оцінка, яку може отримати студент – 100 балів.

Результати навчання: 

ПРН3. Використовувати базові знання інформатики й сучасних ІСТ, навички програмування, технології безпечної роботи в комп'ютерних мережах, методи створення баз даних та інтернет- ресурсів, технології розроблення алгоритмів і комп’ютерних програм мовами високого рівня із застосуванням об’єктно-орієнтованого програмування для розв’язання задач проектування і використання ІСТ.
ПРН6. Демонструвати знання сучасного рівня технологій інформаційних систем, практичні навички програмування та використання прикладних і спеціалізованих комп’ютерних систем та середовищ з метою їх запровадження у професійній діяльності.
ПРН7. Обґрунтовувати вибір технічної структури та розробляти відповідне програмне забезпечення, що входить до складу ІСТ.
ПРН14. Видобувати знання шляхом інтеграції та аналізу великих даних, отриманих з різноманітних та різнорідних джерела інформації. Вміти обґрунтовувати вибір абстрактних типів даних та структур даних при проектуванні програмного забезпечення ІСТ.

b342518 ▪ 2025