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

Спеціальність: Комп'ютерні науки (Системи штучного інтелекту)
Код дисципліни: 6.122.13.O.009
Кількість кредитів: 6.00
Кафедра: Системи штучного інтелекту
Лектор: Михайлишин В. Ю.
Семестр: 2 семестр
Форма навчання: денна
Мета вивчення дисципліни: знати: основні можливості та обмеження мов програмування Java типи даних та основні конструкції мов Java реалізацію концепції об’єктно-орієнтованого програмування у Java як реалізовувати взаємодію із базами даних та файловою системою вміти: здійснювати пошук інформації в різних джерелах для розв’язання задач спеціальності; ефективно працювати як індивідуально, так і у складі команди, представляти результати роботи; уміти здійснювати пошук інформації в різних джерелах для розв’язання задач спеціальності; уміти системно мислити та застосовувати творчі здібності до формування принципово нових ідей; створити власний програмний продукт, використовуючи концепцію об’єктно-орієнтованого програмування і асинхронність обробки; створити модуль з можливістю його використання сторонніми розробниками; працювати із популярними реляційними базами використовуючи моделі, написані на мові Java; використовувати багатопотоковість і багатоядерні процесори для розробки ПЗ за допомогою Java; розробляти тести для автоматичної перевірки функціонування програмного продукту.
Завдання: Сформувати у студентів науково-обґрунтовані погляди на сучасні технологічні процеси в інформаційній галузі. Ознайомити їх з об’єктно-орієнтованим програмуванням. Його концепцією, основними сутностями та способами застосування. Навчити дотримуватись SOLID принципів та використовувати дизайн патерни у процесі розробки.
Результати навчання: 1. Використовувати методологію системного аналізу об’єктів, процесів і систем для задач аналізу, прогнозування, управління та проектування динамічних процесів в макроекономічних, технічних, технологічних і фінансових об’єктах. 2. Застосовувати знання методології та CASE-засобів проектування складних систем, методів структурного аналізу систем, об'єктно- орієнтованої методології проектування при розробці і дослідженні функціональних моделей організаційно-економічних і виробничо- технічних систем.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Алгоритмізація та програмування ч.1 Командна робота та презентаційні навички Алгоритмізація та програмування ч.2
Короткий зміст навчальної програми: Метою курсу є формування знань студента щодо проєктування та розробки програмного забезпечення із застосуванням об'єктно-орієнтованої парадигми програмування. У курсі розглядаються принципи об'єктно-орієнтованого програмування (інкапсуляція, успадкування, поліморфізм), необхідність оптимального балансу між наслідуванням та композицією, специфіка використання абстрактних класів та інтерфейсів, елементи об’єктно орієнтованого аналізу та проектування, підходи до проектування інформаційних систем з використання об’єктно-орієнтованого дизайну, принципи DRY, KISS, SOLID та шаблони проєктування. Для створення об'єктно-орієнтованих комп’ютерних програм в курсі використовуються мови програмування C#, С++, Java та інтегровані середовища розробки Visual Studio Community (JetBrains Rider, Visual Studio Code, Intelij Idea). Навчальна дисципліна «Мови та парадигми програмування» відноситься до циклу загальної підготовки навчальної програми бакалавра за спеціальністю 122 «Комп’ютерні науки» (спеціалізація «Системи штучного інтелекту»).
Опис: Основні принципи ООП. SOLID принципи. Оголошення та ініціалізація змінних; приведення примітивних типів; різниця між примітивними типами та вказівниковими типами; читання і запис полів об’єкта; життєвий цикл об’єкта Використання Java операторів СТВОРЕННЯ І ВИКОРИСТАННЯ МАСИВІВ МОВОЮ ЯВА ВИКОРИСТАННЯ ЦИКЛІВ МОВИ JAVA РОБОТА З МЕТОДАМИ ТА ІНКАПСУЛЯЦІЄЮ ЗАСОБАМИ МОВИ JAVA РОБОТА З НАСЛІДУВАННЯМ ЗАСОБАМИ МОВИ ЯВА РОБОТА З СПЕЦІАЛІЗОВАНИМИ КЛАСАМИ МОВИ JAVA БАГАТОПОТОКОВІСТЬ І АСИНХРОННІСТЬ ЗАСОБАМИ МОВИ JAVA
Методи та критерії оцінювання: 1. Виконання лабораторних та практичних робіт та їх захист. 2. Написання контрольних робіт. 3. Написання розрахунково-графічної роботи 4. Екзамен.
Критерії оцінювання результатів навчання: Лабораторна робота, Практична робота, Розрахунково-графічна робота - 40 балів Іспит, Усна компонента - 60 балів
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: Joshua Bloch. Effective Java, Second Edition. – Addison-Wesley – 2008 – 346p. Raoul-Gabriel Urma. Java 8 in Action: Lambdas, Streams, and functional-style programming, First Edition. – Manning Publications – 2014 – 424p Ho, Clarence, Harrop, Rob, Schaefer, Chris. Pro Spring 4. – Apress – 2014 – 683 p
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).