Програмна інженерія для систем аналітики даних

Elective discipline
Навчальна дисципліна професійної підготовки
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 4.0.
Кількість аудиторних занять: 
30 аудиторних годин – лекційні заняття; 16 аудиторних годин – практичні заняття .
Семестровий контроль: 
Test.
Освітню компоненту забезпечує: 
Анотація: 

Мета дисципліни формування у висококваліфікованих фахівців з інженерії програмного забезпечення сучасного рівня інформаційної та цифрової культури, оволодіння  здобувачами сучасними методами і програмними засобами обробки структурованих та неструктурованих великих даних; умінь застосувати математичні основи, алгоритмічні принципи в моделюванні, проектуванні, розробці та супроводі програмних систем; застосовувати теоретичні і практичні методи інженерії програмування з використанням засобів перевірки специфікацій об’єктів програмування шляхом їх верифікації, валідації та тестування. Застосовувати ефективні інструментальні засоби відображення великих даних та сприяння системному уявленню архітектури відповідних технологічних платформ на основі веб-рішень та хмарних обчислень; вивчення моделей, методів і засобів аналітичної обробки великих масивів даних, а також придбання практичних навичок у розв’язуванні прикладних задач з використанням ПЕОМ; отримання практичних навичок з аналізу та обробки великих даних із застосуванням сучасних технологій. Володіння інструментами послідовного трансформування специфікацій до результуючого коду; інженерія оцінки і сертифікації різних показників якості (надійності, продуктивності, ефективності тощо) виготовленого програмного продукту. Задачі дисципліни є: формування у здобувачів вищої освіти теоретичних знань про методи та моделі інструментальних засобів обробки даних, розробка інтерфейсного програмного забезпечення для поєднання джерела великих даних (ВД) з відповідним програмним середовищем; здатність реалізовувати обчислювальний процес на основі хмарних сервісів і технологій, паралельних і розподілених обчислень, використання методів обробки структурованих та неструктурованих даних, із застосуванням різних програмних засобів, методик та технологій; розуміння базових підходів до конструювання програмного забезпечення, способів управління ним, практичних аспектів, що виникають при розробці програмного забезпечення; Набуття знань, практичних навичок та умінь у використанні сучасних методів, алгоритмів обробки високо-вимірних, велико-об’ємних,  різноформатних даних, що швидко змінюються, застосовувати методи аналізу великих даних, вміти реалізовувати програми для аналітики великих даних, а також у формування навичок з організації і проведення тестування програмного забезпечення довільного типу і рівня складності.
 
 
Основні результати навчання
 
Вміти приймати технічні, методологічні,  організаційно-управлінські рішення в умовах невизначеності. Цілеспрямовано шукати, розуміти, аналізувати, необхідні для рішення професійних наукових задач інформаційно-довідникові та науково-технічні ресурси і джерела знань з урахуванням сучасних досягнень науки і техніки. Знати та вміти аналізувати фундаментальні та сучасні праці провідних зарубіжних та вітчизняних вчених у обраній проблематиці дослідження, формулювати мету та завдання власного наукового дослідження як складові загальноцивілізаційного процесу. Вивчати, узагальнювати та впроваджувати в навчальний процес інновації в інженерії програмного забезпечення. Усвідомлювати та використовувати в повсякденній діяльності тенденції розвиту інформаційних технологій. Знати основні концепції та розуміти теоретичні та практичні проблеми в сучасному науковому напрямку досліджень. Набувати нові наукові та професійні знання, вдосконалювати навички, прогнозувати розвиток програмних систем та інформаційних технологій. Розуміння теоретичних засад, що лежать в основі методів досліджень інформаційних систем та програмного забезпечення, методології проведення досліджень та обчислювальних експериментів. Уміти з нових дослідницьких позицій формулювати загальну методологічну базу власного наукового дослідження, визначити його актуальність, мету і значення для розвитку інших галузей науки, суспільно-політичного, економічного життя. Володіти загальнонауковими філософськими знаннями, необхідними для формулювання наукового світогляду, професійної етики, та культурного кругозору. Вміти досліджувати робочі параметри процесів життєвого циклу програмного забезпечення, а також здійснювати аналіз вибраних методів та засобів підтримки цих процесів  та бути спроможним обґрунтувати свій вибір. Вміти вести спеціалізовані наукові семінари, організовувати та проводити навчальні заняття. Володіти способами організації навчально-пізнавальної та практичної діяльності.
 
Форми організації освітнього процесу та види навчальних занять

Л – лекційні заняття; СРЗ – самостійна робота здобувача вищої освіти; ПЗ – практичні заняття; К – консультації викладача; МКР – модульна контрольна робота.
 
 
Тематика та види навчальних занять
 
1 тиждень
Л1. Предмет та задачі курсу «Програмна інженерія для систем аналітики даних». Вступ в аналіз і обробку великих даних. Основні поняття та визначення.
ПЗ1. Порівняння характеристик сучасних рішень інструментальних засобів при аналізі даних.
СРЗ, К

2 тиждень
Л2. Життєвий цикл проекту по аналітиці великих даних.
СРЗ, К.

3 тиждень
Л3. Основні техніки (підходи) щодо роботи з великими даними.
ПЗ2. Робота із середовищем Microsoft Power BI.
СРЗ, К

4 тиждень
Л4. Особливості технологій глибинного аналізу даних (Data Mining), сховищ даних (Data Warehousing).
СРЗ, К.

5 тиждень
Л5. Основи технологій моніторингу, реєстрації та обробки великих даних.
ПЗ3. Проектування архітектури та засобів обробки даних на основі роботи з технологією Elasticsearch та Kibana.
СРЗ, К

6 тиждень
Л6. Інструментальні засоби аналізу даних. Приклад застосування Microsoft Power BI.
СРЗ, К.

7 тиждень
Л7. Проблеми уявлення і моделювання знань і їхній зв'язок з проблемою великих даних.
ПЗ4. Моніторинг стану розподілених інформаційних систем на прикладі систем Nagios, Icinga та Zabbix.
СРЗ, К, МКР1
 
8 тиждень
Л8. Багатовимірні масиви, тензорні моделі. Традиційна DataScience - Big Data - загальні риси та відмінності.
СРЗ, К.

9 тиждень
Л9. Основні принципи роботи з даними; інструменти; приклади розв'язання практичних завдань.
ПЗ5. Готові рішення аналізу даних (Rapid Miner, Weka), мови Python та R, стек бібліотек аналізу даних.
СРЗ, К
 
10 тиждень 
Л10. Основи предикативного моделювання великих даних.
СРЗ, К.

11 тиждень
Л11. «Штучний інтелект» як синтез "data mining", "knowledge discovery" і “hidden knowledge”.
ПЗ6. Розробка онтології сервісів та видів фактів. Розгортання сервісів у хмарі.
СРЗ, К
 
12 тиждень
Л12. Технології СУБД та архітектура проектних рішень на основі застосування інструментальних засобів.
СРЗ, К.

13 тиждень
Л13. Аналіз та візуалізація великих даних.
ПЗ7. Розробка програмного забезпечення для візуалізації великих даних засобами JavaScript, HTML5 та CSS3.
СРЗ, К

14 тиждень
Л14. Основні технології та інструменти роботи з великими даними.
СРЗ, К. 

15 тиждень
Л15. Наукові проблеми у сфері великих даних.
ПЗ8. Технології Grafana. Агрегація даних при передачі та обробці даних.
СРЗ, К, МКР2

Індивідуальна робота
 
Не передбачена

Самостійна робота

Самостійна робота становить 74 годин. Розподіл самостійної роботи за видами навчальних робіт: 1) підготовка до лекційних занять – 22 години; 2) підготовка до практичних занять – 52 години.

Процедура оцінювання
 
Система оцінювання рівня навчальних досягнень ґрунтується на принципах ЄКТС та є накопичувальною. Для забезпечення оперативного контролю за успішністю та якістю рівня навчальних досягнень здобувачів вищої освіти дисципліна поділяється на два семестрові модулі. Здобувачі протягом семестру готуються до лекційних та практичних занять. Кожна з двох Модульних контрольних робіт (МКР№1 та МКР№2) складається з теоретичних та практичних частин. Теоретична частина оцінюється в 20 балів, по 5 балів кожне питання рівної складності, та практична частина, яка оцінюється в 10 балів. Загальна оцінка за кожну з модульних робіт може складати 30 балів. Кожний модуль оцінюється у максимально можливі 50 балів.
Семестровий модуль № 1
ПЗ1 Оцінка за виконання – 5 балів. Термін надання – 1 тиждень.
ПЗ2 Оцінка за виконання – 5 балів. Термін надання – 3 тиждень.
ПЗ3 Оцінка за виконання – 5 балів. Термін надання – 5 тиждень.
ПЗ4 Оцінка за виконання – 5 балів. Термін надання – 7 тиждень.
МК1. Модульна контрольна робота – 30 балів (7 тиждень). Перескладання можливе протягом 9–11 тижнів за розкладом консультацій.
Семестровий модуль № 2
ПЗ5 Оцінка за виконання – 5 балів. Термін надання – 9 тиждень.
ПЗ6 Оцінка за виконання – 5 балів. Термін надання – 11 тиждень.
ПЗ7 Оцінка за виконання – 5 балів. Термін надання – 13 тиждень.
ПЗ8 Оцінка за виконання – 5 балів. Термін надання – 15 тиждень.
МК2. Модульна контрольна робота – 30 балів (15 тиждень).
Максимальна оцінка за повний обсяг виконаних навчальних елементів дисципліни – 100 балів. Підсумковий контроль виконується у формі заліку, який виставляється здобувачу вищої освіти, як сумарна оцінка за виконання всіх елементів навчальної дисципліни.
 

Умови допуску до підсумкового контролю
*
До заліку допускаються здобувачі вищої освіти, які виконали всі види навчальних елементів навчальної дисципліни на не менш, ніж на 60 %. Складання/перескладання заліку організується за встановленим деканатом розкладом.
 
 
Політика освітнього процесу

Здобувач зобов’язаний своєчасно та якісно виконувати всі отримані завдання; за необхідністю з метою з’ясування всіх не зрозумілих під час самостійної та індивідуальної роботи питань, відвідувати консультації викладача. Дотримуватись принципів академічної доброчесності. 
*
Робота, яка виконана після встановлених викладачем термінів, не приймається.
*
Відсутність здобувача на контрольній роботі або на заліку відповідає оцінці «0».
*
Під час лекції здійснювати телефонні дзвінки забороняється.
 
Складання/перескладання екзаменів – за встановленим деканатом розкладом.

Під час лекції здійснювати телефонні д
 

2020