Об'єктно-орієнтоване програмування 2
Мета вивчення дисципліни: полягає в отриманні студентами знань про сутність, поняття, можливості об’єктно-орієнтованого програмування з застосуванням сучасних провідних мов програмування, зокрема Java та середовища Eclipse.
Практичне значення та використання отриманих знань. Оволодіння сучасною об’єктно-орієнтованою мовою програмування Java. Придбання умінь і навичок роботи з середовищем програмування Eclipse. Вивчення базових елементів інтерфейсу існуючих у бібліотеках AWT та SWING, їх властивостей, методів, подій, класів та інтерфейсів, тощо.
Основні результати навчання
ПРН1. Застосовувати знання основних форм і законів абстрактно-логічного мислення, основ методології наукового пізнання, форм і методів вилучення, аналізу, обробки та синтезу інформації в предметній області комп'ютерних наук.
ПРН5. Проектувати, розробляти та аналізувати алгоритми розв’язання обчислювальних та логічних задач, оцінювати ефективність та складність алгоритмів на основі застосування формальних моделей алгоритмів та обчислюваних функцій.
ПРН9. Розробляти програмні моделі предметних середовищ, вибирати парадигму програмування з позицій зручності та якості застосування для реалізації методів та алгоритмів розв’язання задач в галузі комп’ютерних наук.
Тематика та види навчальних занять
1 тиждень.
Лекція 1 «Класи та об’єкти. Пакети.»
Отримання завдання на курсову роботу. Проведення аналізу та підбору літературних джерел.
Самостійна робота здобувача. Консультація.
2 тиждень.
Лекція 2 «Модифікатори доступа та інкапсуляція.»
Лабораторне заняття 1 «Статичні члени та модифікатор static. Використання static.»
Виконання курсової роботи. Створення класу для опису об’єкта.
Самостійна робота здобувача. Консультація.
3 тиждень.
Лекція 3 «Об’єкти як параметри методів. Внутрині та вложені класи. Спадкування.»
Виконання курсової роботи. Створення класу для опису об’єкта.
Самостійна робота здобувача. Консультація.
4 тиждень.
Лекція 4 «Абстрактні класи. Ієрархія спадкування. Інтерфейси.»
Лабораторне заняття 2 «Створення та використання класу користувача.»
Виконання курсової роботи. Створення методів класу об’єкта.
Самостійна робота здобувача. Консультація.
5 тиждень.
Лекція 5 «Інтерфейси. Інтерфейси у механизмі зворотнього виклику.»
Виконання курсової роботи. Створення методів класу об’єкта.
Самостійна робота здобувача. Консультація.
6 тиждень.
Лекція 6 «Типи посилання та клонування об’єктів. Records.»
Лабораторне заняття 3 «Клонування об’єктів класу.»
Виконання курсової роботи. Створення інтерфейсу голового фрейму програми.
Самостійна робота здобувача. Консультація.
7 тиждень.
Лекція 7 «Робота з файлами. FileInputStream та FileOutputStream.»
Виконання курсової роботи. Створення інтерфейсів допоміжних фреймів програми.
Самостійна робота здобувача. Консультація.
8 тиждень.
Лекція 8 «Робота з файлами. Класи ByteArrayInputStream та ByteArrayOutputStream. Двійкови файли. Класи DataInputStream та DataOutputStream.»
Лабораторне заняття 4 «Практикум програмування. Створення, читання та запис двійкових файлів з даними.»
Виконання курсової роботи. Основні алгоритми функціоналу програми.
Самостійна робота здобувача. Консультація.
Модульний контроль 1.
9 тиждень.
Лекція 9 «Робота з файлами. Читання та запис текстових файлів.»
Виконання курсової роботи. Запис та читання даних.
Самостійна робота здобувача. Консультація.
10 тиждень.
Лекція 10 «Робота з файлами та каталогами. Клас File.»
Лабораторне заняття 5 «Практикум програмування. Створення, копіювання, переміщення та видалення файлів та каталогів.»
Виконання курсової роботи. Тестування та відладка програми.
Самостійна робота здобувача. Консультація.
11 тиждень.
Лекція 11 «Лямбда вирази. Введення у Лямбда-вирази.»
Виконання курсової роботи. Оформлення пояснювальної записки.
Самостійна робота здобувача. Консультація.
12 тиждень.
Лекція 12 «Лямбда вирази. Лямди, як параметри та результати методів. Вбудовані функціональні інтерфейси.»
Лабораторне заняття 6 «Практикум програмування. Використання Лямбда-виразів.»
Виконання курсової роботи. Оформлення пояснювальної записки.
Самостійна робота здобувача. Консультація.
13 тиждень.
Лекція 13 «Великі числа BigInteger та BigDecimal.»
Захист курсовой роботи.
Самостійна робота здобувача. Консультація.
14 тиждень.
Лекція 14 «Робота з датами. LocaleDate»
Лабораторне заняття 7 «Практикум програмування. Використання та обробка дат та великих чисел.»
Захист курсовой роботи.
Самостійна робота здобувача. Консультація.
Модульний контроль 2.
15 тиждень.
Лекція 15 «Модульность. Створення модуля. Залежні модулі. Взаємодія.»
Самостійна робота здобувача. Консультація.
Оцінювання результатів навчання
Оцінювання результатів навчання з дисципліни здійснюється за накопичувальною системою, яка дає можливість здобувачеві протягом семестру отримати максимально 100 балів.
Модуль 1
Повне виконання та захист лабораторних робіт №№ 1-4 – по 5 балів за кожну.
Модульна контрольна робота 1 – бездоганне виконання 30 балів (в кожному завданні модульної контрольної роботи наведено максимальну кількість балів за виконання кожного завдання).
Модуль 2
Повне виконання та захист лабораторних робіт № 5, № 7 – по 6 балів за кожну та лабораторна робота № 6 – 8 балів.
Модульна контрольна робота 2 – бездоганне виконання 30 балів (в кожному завданні модульної контрольної роботи наведено максимальну кількість балів за виконання кожного завдання).
Курсова робота – повне виконання і захист оцінюється окремою оцінкою макусимум 100 балів.
Посилання на рекомендовані джерела
1. Конспект лекцій з дисципліни «Об’єктно-орієнтоване програмування» для студентів спеціальності 122 Комп’ютерні науки та інформаційні технології. — Павлишко А.В., Савєльєва О.В. — Одеса: ОНПУ, 2017. – 92 с.
2. Методичні вказівки до лабораторних робіт з дісципліни «Об’єктно-орієнтоване програмування» для студентів спеціальності 122 Комп’ютерні науки та інформаційні технології, спеціалізація — Комп’ютерний дизайн / Укл.: А.В. Павлишко, О.В. Савєльєва. Одеса: ОНПУ, 2017. – 78 с.
3. Програмування мовою Java. / Укл.: О. Васильєв. — К. Навчальна книга — Богдан, 2020. – 696 с.
4. Head First. Java. / Кеті Сьєрра, Берт Бейтс. — Х., Видавництво “Фабула”. — 2022. — 720 с.
5. https://metanit.com/java/ – Інтерактивний посібник по Java. – Електронний варіант.