Кросплатформне програмування

Спеціальність: Інженерія програмного забезпечення
Код дисципліни: 6.121.00.O.031
Кількість кредитів: 4.00
Кафедра: Програмне забезпечення
Лектор: Дяконюк Л.М.
Семестр: 5 семестр
Форма навчання: денна
Мета вивчення дисципліни: Ознайомити студентів з основами кросплатформного програмування з практичною реалізацією на прикладі мови Java.
Завдання: Внаслідок вивчення навчальної дисципліни студент повинен бути здатним продемонструвати такі результати навчання (необхідно сформулювати 6 - 8 результатів навчання): 1. Вміти відрізняти переваги і недоліки кросплатформного програмування. 2. Оволодіти навичками програмування на мові Java. 3. Вміти реалізовувати основні принципи ООП на мові Java. 4. Ефективно вибирати відповідно до цілей колекції та реалізовувати дії над ними. 5. Оволодіти основними механізмами обробки текстової інформації, включаючи регулярні вирази. 6. Вміти реалізовувати основні принципи ООП на мові Java. 7. Розробляти багатопотокові програмні застосунки. 8. Обробляти виняткові ситуації в програмах. 9. Реалізовувати шаблони проектування на мові Java. Вивчення навчальної дисципліни передбачає формування та розвиток у студентів компетентностей загальних: 1. ІНТ Здатність розв’язувати складні спеціалізовані завдання або практичні проблеми інженерії програмного забезпечення, що характеризуються комплексністю та невизначеністю умов, із застосуванням теорій та методів інформаційних технологій. 2. К02 Здатність застосовувати знання у практичних ситуаціях. фахових: 1. СК2. Здатність брати участь у проектуванні програмного забезпечення, включаючи проведення моделювання (формальний опис) його структури, поведінки та процесів функціонування. 2. СК3 Здатність розробляти архітектури, модулі та компоненти програмних систем. 3. СК10 Здатність накопичувати, обробляти та систематизувати професійні знання щодо створення і супроводження програмного забезпечення та визнання важливості навчання протягом всього життя. 4. СК13 Здатність обґрунтовано обирати та освоювати інструментарій з розробки та супроводження програмного забезпечення.
Результати навчання: Результати навчання: ПР07. Знати і застосовувати на практиці фундаментальні концепції, парадигми і основні принципи функціонування мовних, інструментальних і обчислювальних засобів інженерії програмного забезпечення. ПР12 Застосовувати на практиці ефективні підходи щодо проектування програмного забезпечення. ПР13 Знати і застосовувати методи розробки алгоритмів, конструювання програмного забезпечення та структур даних і знань. ПР14 Застосовувати на практиці інструментальні програмні засоби доменного аналізу, проектування, тестування, візуалізації, вимірювань та документування програмного забезпечення. ПР15 Мотивовано обирати мови програмування та технології розробки для розв’язання завдань створення і супроводження програмного забезпечення.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Попередні навчальні дисципліни: 1.Операційні системи 2. Об’єктно-орієнтоване програмування Супутні і наступні навчальні дисципліни: 1. Програмування для мобільних платформ 2. Програмування мультимедійних систем
Короткий зміст навчальної програми: Дисципліна передбачає вивчення основ кросплатформного програмування, базових конструкцій, способів реалізації основних принципів ООП на мові Java. Лекції дисципліни включають матеріал про типи колекцій та правила їх застосування, серіалізацію даних та створення jar-архівів, вивчення стандартних можливостей для обробки текстової інформації, включаючи роботу з регулярними виразами, подання ієрархії класів для роботи з файловою системою, опрацювання виняткових ситуацій, основи побудови багатопотокових застосунків, створення графічних інтерфейсів користувача, використання механізмів рефлексії.
Опис: Назви тем: 1. Історія виникнення кросплатформенного програмування. Особливості мови Java. 2. Огляд основних конструкцій мови. Типи примітиви та класи. Особливості передачі параметрів в методи класів. Оболонкові типи та їх застосування. Реалізація основних принципів ООП. 3. Огляд колекцій. Інтерфейси. Класи колекцій. Базові прийоми роботи зі списками. Ітерація по колекції. Базові прийоми впорядкування колекцій різних типів. 4. Аcоціативні контейнери. Робота з класами, що реалізують множини та карти. Використання стандартних алгоритмів для колекцій. 5. Cеріалізація складних об’єктів. Створення документації. Jar-архівування. 6. Засоби обробки текстової інформації. Робота з текстовими файлами. 7. Регулярні вирази. 8. Ієрархія класів для роботи з файлами. 9. Створення потоків. Обговорення проблем, що виникають при багатопотоковому програмуванню. 10. Організація різних типів взаємодій між потоками. 11. Побудова графічного інтерфейсу користувача. 12. Рефлексія та способи її застосування. 13. Огляд основ та можливостей Spring. 14. Особливості різних версій мови. Основні тенденції розвитку.
Методи та критерії оцінювання: 1. Захист лабораторних робіт. 2. Усне опитування під час захисту. 3. Захист групового проєкту. 3. Екзаменаційний контроль (письмова компонента, усна компонента).
Критерії оцінювання результатів навчання: Поточний контроль (ПК), Екзаменаційний контроль.
Порядок та критерії виставляння балів та оцінок: 100-88 балів - атестований з оцінкою «відмінно» - Високий рівень: здобувач освіти демонструє поглиблене володіння поняттєвим та категорійним апаратом навчальної дисципліни, системні знання, вміння і навички їх практичного застосування. Освоєні знання, вміння і навички забезпечують можливість самостійного формулювання цілей та організації навчальної діяльності, пошуку та знаходження рішень у нестандартних, нетипових навчальних і професійних ситуаціях. Здобувач освіти демонструє здатність робити узагальнення на основі критичного аналізу фактичного матеріалу, ідей, теорій і концепцій, формулювати на їх основі висновки. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку, самостійної науково-дослідної діяльності, що реалізується за підтримки та під керівництвом викладача. 87-71 балів - атестований з оцінкою «добре» - Достатній рівень: передбачає володіння поняттєвим та категорійним апаратом навчальної дисципліни на підвищеному рівні, усвідомлене використання знань, умінь і навичок з метою розкриття суті питання. Володіння частково-структурованим комплексом знань забезпечує можливість їх застосування у знайомих ситуаціях освітнього та професійного характеру. Усвідомлюючи специфіку задач та навчальних ситуацій, здобувач освіти демонструє здатність здійснювати пошук та вибір їх розв’язання за поданим зразком, аргументувати застосування певного способу розв’язання задачі. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку. 70-50 балів - атестований з оцінкою «задовільно» - Задовільний рівень: окреслює володіння поняттєвим та категорійним апаратом навчальної дисципліни на середньому рівні, часткове усвідомлення навчальних і професійних задач, завдань і ситуацій, знання про способи розв’язання типових задач і завдань. Здобувач освіти демонструє середній рівень умінь і навичок застосування знань на практиці, а розв’язання задач потребує допомоги, опори на зразок. В основу навчальної діяльності покладено ситуативність та евристичність, домінування мотивів обов’язку, неусвідомлене застосування можливостей для саморозвитку. 49-00 балів - атестований з оцінкою «незадовільно» - Незадовільний рівень: свідчить про елементарне володіння поняттєвим та категорійним апаратом навчальної дисципліни, загальне уявлення про зміст навчального матеріалу, часткове використання знань, умінь і навичок. В основу навчальної діяльності покладено ситуативно-прагматичний інтерес.
Рекомендована література: 1. D. Bloch. Effective Java. -Addisson-Wesley. - 2021. - 810p. 2. C. S. Horstmann. Core Java for the Impatient, Third Edition, is a complete yet concise guide that reflects all changes through Java SE 17. – Oracle, 2021. -1020p.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).