Об’єктно-орієнтоване та подійно-орієнтоване програмування (мова Java) 1
Мета вивчення дисципліни: формування у студентів розуміння загальних принципів об’єктно-орієнтованого проектування та програмування (ООП), отримання навичок практичного застосування ООП при створенні складних програмних комплексів.
Практичне значення та використання отриманих знань: застосування принципів та підходів ООП підвищує якість та універсальність програмного коду реалізації функціоналу інформаційних систем та прикладних застосувань, покращує можливості підтримки та оновлення програмної логіки на мовах програмування високого рівня.
Тематика та види навчальних занять
Для денної форми здобуття освіти
Лекційні заняття
Лекція 1. Архітектура мови Java. Використовувані символи. Особливості створення коментарів
Лекція 2. Принципи іменування змінних і методів, java codestyle. Можливості існуючих інтегрованих середовищ розробки программмних додатків на мові Java
Лекція 3. Примітивні типи даних і змінні. Класи-оболонки, рядки, масиви, операції введення-виведення, операції порівняння, присвоювання, арифметичні, їх пріоритети. Особливості перетворення типів даних
Лекція 4. Оператори циклу, порівняння і умовний оператор. Оператори switch, break, continue, return
Лекція 5. Об'єктна модель і модифікатори доступа. Класси, об'єкти і пакети
Лекція 6. Конструктори, успадкування, інкапсуляція, поліморфізм, абстракція
Лекція 7. Принципи та переваги використання інтерфейсів. Змінні в інтерфейсах
Лекція 8. Типи і специфіка виключних ситуацій. Оператори try і catch, throw, throws і finally
Лекція 9. Обробники подій у технологіях AWT і SWT для розробки програмних застосувань з графічним інтерфейсом
Лекція 10. Обробники подій у фреймворку Swing для розробки програмних застосувань з графічним інтерфейсом
Лекція 11. Обробники подій у RIA-технології JAVA FX для розробки програмних застосувань з графічним інтерфейсом
Лекція 12. Концепція колекцій і їх основний перелік. Можливості застосування колекцій ArrayList, LinkedList, HashSet, TreeSet, Queue
Лекція 13. Основні принципи застосування та роботи з GIT, git bash, GitHub та BitBucket
Лекція 14. Принципи роботи систем автоматичного складання проектів. Основи мови XML. Особливості використання систем автоматичного складання програмних проектів Maven, Ant та Gradle
Лекція 15. Принципи побудови модульних тестів. Робота з бібліотекою модульного тестування JUnit, її основні анотації. Специфіка використання бібліотеки TestNG
Лабораторні заняття
Лабораторне заняття №1. "Основні положення та особливості використання мови Java”.
Мета заняття – отримати загальні відомості про платформу Java SE і про основні принципи розробки Java-застосувань.
Лабораторне заняття №2. “ Створення класів та об'єктів, використання пакетів”.
Мета заняття – отримати практичні навички по роботі з класами і об'єктами на платформі Java.
Лабораторне заняття №3. “ Особливості використання змінних і типів даних у Java”.
Мета заняття – отримати практичні навички по створенню і використанню змінних різних типів даних в мові програмування Java.
Лабораторне заняття №4. “Робота з обліковими структурами даних”.
Мета заняття – отримати практичні навички з використання спискового структур і базовим операціям над ними в мові програмування Java.
Лабораторне заняття №5. “Особливості та призначення інтерфейсів та принципу успадкування ”.
Мета заняття – отримати практичні навички по створенню і використанню абстрактних класів і інтерфейсів.
Лабораторне заняття №6. “Основи роботи з масивами у Java”.
Мета заняття – cформувати практичні навички з використання операторів і масивів мови програмування Java.
Лабораторне заняття №7. “Особливості використання колекцій у Java. Частина 1”.
Мета заняття - отримати практичні навички з використання різних типів колекцій для обробки даних в Java.
Лабораторне заняття №8. “Особливості використання колекцій у Java. Частина 2 ”.
Мета заняття - отримати практичні навички з використання різних типів колекцій для обробки даних в Java.
Лабораторне заняття №9. “Специфіка застосування параметризованих класів. Частина 1”.
Мета заняття – отримати практичні навички по використанню generics в Java.
Лабораторне заняття №10. “Специфіка застосування параметризованих класів. Частина 2”.
Мета заняття – отримати практичні навички по використанню generics в Java.
Лабораторне заняття №11. “ Основи модульного тестування в Java. Частина 1”.
Мета заняття – отримати практичні навички щодо здійснення модульного тестування засобами бібліотеки JUnit в Java.
Лабораторне заняття №12. “ Основи модульного тестування в Java. Частина 2”.
Мета заняття – отримати практичні навички щодо здійснення модульного тестування засобами бібліотеки JUnit в Java.
Лабораторне заняття №13. “Можливості та призначення шаблонів об'єктно-орієнтованого проектування. Частина 1”.
Мета заняття – отримати практичні навички з використання популярних патернів проектування.
Лабораторне заняття №14. “Можливості та призначення шаблонів об'єктно-орієнтованого проектування. Частина 2”.
Мета заняття – отримати практичні навички з використання популярних патернів проектування.
Лабораторне заняття №15. “ Принципи розробки консольних застосувань”.
Мета заняття – отримання практичних навичок з розробки консольних програмних застосувань на основі об’єктно-орієнтованої парадигми засобами мови програмування 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) 7-ми індивідуальних поточних завдань. Індивідуальні поточні завдання виконуються на компʼютері з використанням додаткових програм відповідно до мети та завдань лабораторних занять. Бездоганне виконання індивідуального поточних завдання №1- №4 оцінюється у 5 балів; індивідуальних поточного завдання №5 – 10 балів; індивідуальних поточних завдань №5 та №6 – 5 балів, індивідуальних поточного завдання №7 – 10 балів.
2) курсової роботи. Бездоганне виконання оцінюється у 60 балів. Захист роботи – 40 балів.
3) двох модульних контрольних робіт. Модульні контрольні роботи складаються з теоретичної і практичної частин та проводяться у формі комп'ютерного тестування. Бездоганне виконання кожної модульної контрольної роботи становить 25 балів.
ПРН3. Використовувати базові знання інформатики й сучасних ІСТ, навички програмування, технології безпечної роботи в комп'ютерних мережах, методи створення баз даних та інтернет- ресурсів, технології розроблення алгоритмів і комп’ютерних програм мовами високого рівня із застосуванням об’єктно-орієнтованого програмування для розв’язання задач проектування і використання ІСТ.
ПРН6. Демонструвати знання сучасного рівня технологій інформаційних систем, практичні навички програмування та використання прикладних і спеціалізованих комп’ютерних систем та середовищ з метою їх запровадження у професійній діяльності.
ПРН7. Обґрунтовувати вибір технічної структури та розробляти відповідне програмне забезпечення, що входить до складу ІСТ.
ПРН14. Видобувати знання шляхом інтеграції та аналізу великих даних, отриманих з різноманітних та різнорідних джерела інформації. Вміти обґрунтовувати вибір абстрактних типів даних та структур даних при проектуванні програмного забезпечення ІСТ.