Об'єктно-орієнтоване програмування (мова Java) 1

ID: 5999
Навчальна дисципліна професійної підготовки
Рік впровадження: 
2020.
Кількість кредитів ЄКТС: 
5.00.
Містить курсову роботу.
Форма контрою: 
Екзамен. Захист курсової роботи.
Викладач: 
к.т.н., доц. Рудніченко М. Д.
Кількість аудиторних занять: 
16 годин лекційних занять, 44 години лабораторних занять..

Анотація навчальної дисципліни

Мета дисципліни:

формування у здобувачів вищої освіти практичних навичок в використанні обєктно-орієнтованої парадигми проектування та розробки програмної логіки із застосуванням сучаних технологій, бібліотек та фреймворков зі створення програмних застосувань на базі мови програмування Java.

Завдання дисципліни:
 
вивчити основні принципи об’єктно-орієнтованого програмування;

отримати вміння практичного застосування принципів ООП; 

отримати базові знання та розвинути навички використання мови програмування Java для розробки об’єктно-орієнтованих програмних застосувань;

освоїти можливості використання інтегрованих середовищ розробки програмних застосувань.
=
Програмні компетентності
 
Здатність до абстрактного мислення, аналізу та синтезу.
 
Здатність застосовувати знання у практичних ситуаціях. 
 
Здатність до розуміння предметної області та професійної діяльності.
 
Здатність до пошуку, оброблення та узагальнення інформації з різних джерел.
 
Здатність оцінювати та забезпечувати якість виконуваних робіт.
 
Здатність аналізувати об’єкт проектування або функціонування та його предметну область.
 
Здатність     застосовувати     стандарти в області ІСТ при розробці функціональних профілів, побудові та інтеграції систем, продуктів, сервісів і елементів інфраструктури організації.
 
Здатність до проектування, розробки, налагодження та вдосконалення системного, комунікаційного та програмно-апаратного забезпечення ІСТ, Інтернету речей (ІоТ), комп’ютерно-інтегрованих систем та системної мережної структури, управління ними.
 
Здатність управляти якістю продуктів і сервісів ІСТ протягом їх життєвого циклу.
 
Здатність вибору, проектування,    розгортання інтегрування, управління, адміністрування та супроводжування ІСТ та інфокомунікацій, сервісів та інфраструктури організації.
 
Здатність управляти та    користуватися    сучасними інформаційно-комунікаційними системами та технологіями (у тому числі такими, що базуються на використанні Інтернет).
 
Здатність використовувати сучасні технології проектування в розробці алгоритмічного та програмного забезпечення ІСТ.
 
Здатність оволодіти сучасними технологіями програмування та тестування програмного забезпечення.
 
Програмні результати навчання
 
Використовувати базові знання інформатики й сучасних ІСТ, навички програмування, технології безпечної роботи в комп'ютерних мережах, методи створення баз даних та інтернет-ресурсів, технології розроблення алгоритмів і комп’ютерних програм мовами високого рівня із застосуванням об’єктно-орієнтованого програмування для розв’язання задач проектування і використання ІСТ
 
Демонструвати знання сучасного рівня технологій інформаційних систем, практичні навички програмування та використання прикладних і спеціалізованих комп’ютерних систем та середовищ з метою їх запровадження у професійній діяльності.
 
Обґрунтовувати вибір технічної структури та розробляти відповідне програмне забезпечення, що входить до складу ІСТ.
 
Видобувати знання шляхом інтеграції та аналізу великих даних, отриманих з різноманітних та різнорідних джерела інформації. Вміти обґрунтовувати вибір абстрактних типів даних та структур даних при проектуванні програмного забезпечення ІСТ.
 
Кількість аудиторних занять
 
16 годин лекційних занять, 44 години лабораторних занять.
 
Форми організації освітнього процесу та види навчальних занять
 
Л – лекційні заняття; ЛЗ – лабораторні заняття; СРС – самостійна робота здобувача вищої освіти; КР – курсова робота; ПКО – поточні контрольні опитування; МКР – модульна контрольна робота; К – консультації.
 
Тематика та види навчальних занять
 
1 тиждень

Л1. Архітектура мови Java [1, c. 17- 24; 2, c. 26- 31].
ЛЗ1. Основні положення та особливості використання мови Java. Частина 1
СРС. К.
 
2 тиждень
 
ЛЗ2. Основні положення та особливості використання мови Java. Частина 2
ЛЗ3. Створення класів та об'єктів, використання пакетів. Частина 1
СРС. К.
 
3 тиждень

Л2. Принципи іменування змінних і методів, java codestyle [1, c. 25- 34; 2, с. 34-37; 3, c.21-32].
ЛЗ4. Створення класів та об'єктів, використання пакетів. Частина 2
СРС. К.
 
4 тиждень
 
ЛЗ5. Особливості використання змінних і типів даних у Java. Частина 1
ЛЗ6. Особливості використання змінних і типів даних у Java. Частина 2
ПКО1
СРС. К.
 
5 тиждень

Л3. Примітивні типи даних і змінні [1, c. 150- 165; 2, c.40-44; 3, c. 56- 84].
ЛЗ7. Робота з обліковими структурами даних. Частина 1
СРС. К.
 
6 тиждень
 
ЛЗ8. Робота з обліковими структурами даних. Частина 2
ЛЗ9. Особливості та призначення інтерфейсів та принципу успадкування. Частина 1.
СРС. К.
 
7 тиждень

Л4. Оператори циклу, порівняння і умовний оператор [1, c. 193-217; 2, c.37-40].
ЛЗ10. Особливості та призначення інтерфейсів та принципу успадкування. Частина 2.
ПКО2. СРС. К.
 
8 тиждень
 
ЛЗ11. Основи роботи з масивами у Java. Частина 1
ЛЗ12. Основи роботи з масивами у Java. Частина 2
МКР1. СРС. К.
 
9 тиждень

Л5. Об'єктна модель і модифікатори доступа [1, c. 231-238; 2, c.20-25; 3, c. 126- 142].
ЛЗ13. Особливості використання колекцій у Java. Частина 1
СРС. К.
 
10 тиждень
 
ЛЗ14. Особливості використання колекцій у Java. Частина 2
ЛЗ15. Використання механізму подій у операційній системі android. Частина 1
СРС. К.
 
11 тиждень

Л6. Конструктори, успадкування, інкапсуляція, поліморфізм, абстракція [1, c. 223-231, c.245-252, c.256-260; 2, c.97-115; 3, c. 190- 210].
ЛЗ16. Специфіка застосування параметризованих класів. Частина 1
ПКО3. СРС. К.
 
12 тиждень

ЛЗ17. Специфіка застосування параметризованих класів. Частина 2
ЛЗ18. Основи модульного тестування в Java. Частина 1
СРС. К.
 
13 тиждень

Л7. Принципи та переваги використання інтерфейсів [1, c. 375-385; 2, c.150-159; 3, c. 260- 276].
ЛЗ19. Основи модульного тестування в Java. Частина 2
СРС. К.
 
14 тиждень
 
ЛЗ20. Можливості та призначення шаблонів об'єктно-орієнтованого проектування. Частина 1
ПКО4. СРС. К.
 
15 тиждень

Л8. Типи і специфіка виключних ситуацій [1, c. 345-352; 2, c.201-220; 3, c. 559- 575].
ЛЗ21. Можливості та призначення шаблонів об'єктно-орієнтованого проектування. Частина 2
ЛЗ22. Принципи розробки консольних застосувань. Частина 1
МКР2. СРС. К.
 
Індивідуальна робота
 
Виконується курсова робота. 
 
Мета курсової роботи:
 
набуття загальних та спеціальних компетентностей майбутніх бакалаврів, поглиблення теоретичних знань та практичних навичок розробки клієнт-серверних програмних застосувань на базі використання парадигми об’єктно-орієнтованого програмування. 
 
1–7 тижні
 
Отримання завдання. Аналіз літературних джерел з основних положень використання принципів інкапсуляції, наслідування та поліморфизму. Аналіз переваг та недоліків сучасних об’єктно-орієнтовних мов програмування. Аналіз програмних аналогів та обґрунтування вибору бібліотек створеннях клієнтської та серверної частин системи. Проектування структури програмного застосування, створення прототипів інтерфейсу користувача, виявлення виключних ситуації.
 
8–14 тижні
 
Розробка структур даних, основних сутностей та визначення зв’язків між ними. Розробка структури головних класів проекту. Створення інтерфейсу програмного застосування. Написання програмного коду реалізації основної логіки програми. Розгортання та перевірка роботи програмного застосування, налагодження роботи програмного застосування. Оформлення пояснювальної записки до курсової роботи.
 
15 тиждень
 
Захист курсової роботи.
 
Самостійна робота
 
Самостійна робота складає 90 годин. Розподіл самостійної роботи за видами навчальних робіт:
1) підготовка до лекційних занять – 10 годин;
2) підготовка до лабораторних занять – 20 годин.
3) виконання курсової роботи – 30 годин;
4) підготовка до екзамену – 30 годин.
 
Процедура оцінювання
 
Система оцінювання рівня навчальних досягнень ґрунтується на принципах ЄКТС та є накопичувальною. Дисципліна поділяється на 2 семестри та по два семестрові модулі в кожному. Здобувачі протягом 3 семестру готуються до лекційних та лабораторних занять, загалом виконують 2 модульні контрольні роботи, курсову роботу.
 
Модульні контрольні роботи № 1, № 2 в 3 семестрі виконуються у письмовій формі. Модульна робота складається з теоретичної частини (2 запитання) та практичної частини (1 задача). Відповідь на кожне теоретичне питання оцінюється максимум 10 балами. Правильне розв’язання задачі оцінюється в 10 балів.
 
Кожний модуль оцінюється у максимально можливі 50 балів.
 
Семестровий модуль № 1
 
ПКО1 та ПКО2 – на базі отриманих результатів по відповідних лабораторних роботах, оцінка за кожне 10 балів. Термін проведення 3 та 7 тижні.
МКР1. Модульна контрольна робота – 30 балів (8 тиждень). Перескладання можливе протягом 9–11 тижнів за розкладом консультацій.

Семестровий модуль № 2
 
ПКО3 та ПКО4 – на базі отриманих результатів по відповідних лабораторних роботах, оцінка за кожне 10 балів. Термін проведення 11 та 14 тижні.
МКР2. Модульна контрольна робота – 30 балів (15 тиждень).
 
Максимальна оцінка за повний обсяг виконаних навчальних елементів дисципліни за кожний семестр – 100 балів.
 
Підсумковим контролем з дисципліни є усний екзамен, білет до якого складається з теоретичної частини (3 запитання) та практичної частини (1 задача). Максимальна оцінка за правильні відповіді на всі питання екзаменаційного білету становить 100 балів. 
 
Курсова робота оцінюється у 2 етапи: 30 балів (термін надання результатів – 8 тиждень) та 70 балів (термін надання та захист – 14–15 тижні).
 
Максимальна оцінка за повний обсяг виконання курсової роботи – 100 балів
 
Умови допуску до підсумкового контролю
 
До екзамену допускаються здобувачі вищої освіти, які виконали всі види навчальних елементів навчальної дисципліни на не менш, ніж на 60 %.

Екзамен відбувається за всіма тематичними (змістовними) модулями дисципліни.

Політика освітнього процесу

Здобувач зобов’язаний своєчасно та якісно виконувати всі отримані завдання; за необхідністю з метою з’ясування всіх не зрозумілих під час самостійної та індивідуальної роботи питань, відвідувати консультації викладача. Дотримуватись принципів академічної доброчесності. 

Виконаний не свій варіант завдання здобувачем не оцінюється.
 
Робота, яка виконана після встановлених викладачем термінів, не приймається.
 
Складання/перескладання екзаменів – за встановленим деканатом розкладом.
 
Відсутність здобувача на екзамені або на контрольній роботі відповідає оцінці «0».
 
Під час лекції здійснювати телефонні дзвінки забороняється.
 
Літературні джерела:
1. Монахов В.В. Мова програмування Java і середовище NetBeans / В.В. Монахов. - СПб .: БХВ-Петербург, 2011. - 704 с.
2. Блінов І.М. Java. Методи програмування / І. Н. Блінов, В. С. Романчик. - Мінськ: «Чотири чверті», 2013. - 896 с. https://drive.google.com/open?id=1KNvsfr5AGCV9YCOCiStS0S2UL4fLqHCC ava 2. Бібліотека професіонала, том 1 / С. Хорстманн, Г.Корнелл. - М .: Вільямс, 2013. - 816 с.
4. Хорстманн С.Java 2. Бібліотека професіонала, том 2 / С. Хорстманн, Г.Корнелл. - М .: Вільямс, 2013. - 992 с.
5. Машнін Т.С. JavaFX 2.0: розробка RIA-додатків / Т.С. Машнін.- СПб.: БХВ-Петербург, 2012. - 320 с.
6. Чакон С. Git для професійного програміста / С. Чакон, Б. Штрауб. - СПб .: Пітер, 2016. - 496 с.
7. Mitesh Soni Jenkins 2.x Continuous Integration Cookbook / Soni Mitesh, Alan Mark Berg. - Packt Publishing, 2017. - 438 p.
8. Керівництво по Maven (повна версія) [Електроний ресурс]. - Режим доступу:] https://proselyte.net/tutorials/maven/
9. Тестування в Java [Електроний ресурс]. - Режим доступу: https://habr.com/ru/post/120101/
10. Статичний аналіз коду: що можуть інструментальні засоби [Електроний ресурс]. - Режим доступу: http://www.jetinfo.ru/stati/staticheskij-analiz-koda-chto-mogut-instrume...
11. Робота з базою даних Java DB [Електроний ресурс]. - Режим доступу: https://netbeans.org/kb/docs/ide/java-db_ru.html
12. Рудніченко М.Д. Методичні вказівки до Виконання лабораторних робіт з дисципліни «Об'єктно-орієнтоване програмування» для студентів спеціальності 126 - Інформаційні системи та технології / Укл .: Рудніченко М.Д., Козлов А.Ю., Косенко О.Д. - Одеса: ОНПУ, 2019. - 144 с. (Електронна версія), Реєстраційний номер № 6405-РС-2019.
13. Багриновский К.А. Хрустальов Є.Ю. Нові інформаційні технології. - М .: ЕКО, 2015. - 212 с.
14. Гавриков М.М. Теоретичні основи розробки та реалізації мов програмування: Навчальний посібник. - М .: КНОРУС, 2013. - 178 с.
15. Голіцина О.Л. Мови програмування: Навчальний посібник. - М .: Форум; ИНФРА-М, 2015. - 400 с.
16. Жилов Д.А. Теорія інформаційних систем: досвід побудови. - М .: Світ, 2013. -523 с.
17. Іванова Г.С. Основи програмування Підручник для вузів. - М .: Изд-во МГТУ ім. Н.е. Баумана, 2013. - 303 с.
18. Лафоре Р. Структури даних і алгоритми в Java. Класика Computers Science. 2-е изд. - СПб .: Пітер, 2013. - 704 с.
19. Вайсфельд Метт. Об'єктно-орієнтоване мислення. - СПб .: Пітер, 2014. - 304 с.
20. Гамма Е., Хелм Р. Прийоми об'єктно-орієнтованого проектування. Патерни проектування. - СПб .: Пітер; ДМК Пресс, 2010. - 366 с.
21. Кауфман В.Ш. Мови програмування. Концепції та принципи. - Саратов: профосвіти, 2017. - 464 с.
22. Хорев П.Б. Об'єктно-орієнтоване програмування. - Москва: Академія, 2015