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

Спеціальність: Інженерія програмного забезпечення
Код дисципліни: 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–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–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).