Інженерія даних - Робоча програма навчальної дисципліни (Силабус)
Реквізити навчальної дисципліни
Рівень вищої освіти | Другий (магістерський) |
Галузь знань | 12 Інформаційні технології |
Спеціальність | 126 Інформаційні системи та технології |
Освітня програма | Інтегровані інформаційні системи |
Статус дисципліни | Нормативна |
Форма навчання | очна(денна)/заочна/дистанційна |
Рік підготовки, семестр | 1 курс, осінній семестр |
Обсяг дисципліни | 105 годин (36 годин – лекції, 18 годин – лабораторні, 51 година – СРС) |
Семестровий контроль/ контрольні заходи | Залік/залікова робота |
Розклад занять | http://rozklad.kpi.ua |
Мова викладання | Українська |
Інформація про керівника курсу / викладачів | Лектор: ст. викладач Тимофєєва Юлія Сергіївна, yulia.s.timofeeva@gmail.com, Лабораторні: ст. викладач Тимофєєва Юлія Сергіївна, yulia.s.timofeeva@gmail.com, |
Розміщення курсу | https://campus.kpi.ua |
Програма навчальної дисципліни
Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання
Опис дисципліни
Під час навчання студенти отримають теоретичні знання та практичні навички обробки даних, ознайомляться з основними етапами та підпроцесами циклу інженерії даних. Навчаться видобувати, зберігати, перетворювати та подавати дані, обирати інструменти для реалізації всіх етапів інженерії даних. Передбачено контроль якості отриманих знань у вигляді модульної контрольної роботи.
Предмет навчальної дисципліни
обробка даних, етапи циклу інженерії даних.
Міждисциплінарні зв’язки
Дисципліна Аналіз даних з використанням мови Python базується на дисциплінах:
- Вища математика
- Програмування – 1. Основи програмування
- Інфраструктура інформаційних технологій
- Теорія ймовірностей та математична статистика
Мета навчальної дисципліни
Метою навчальної дисципліни є формування у студентів теоретичних знань і практичних здатностей застосовувати методи, засоби та обробки та подання даних.
Основні завдання навчальної дисципліни
Загальні компетенції:
ЗК01. Здатність до абстрактного мислення, аналізу та синтезу. ЗК02. Здатність спілкуватися іноземною мовою. ЗК04. Здатність розробляти проекти та управляти ними. ЗК05. Здатність оцінювати та забезпечувати якість виконуваних робіт.
Фахові компетенції:
СК01. Здатність розробляти та застосувати ІСТ, необхідні для розв’язання стратегічних і поточних задач. СК02. Здатність формулювати вимоги до етапів життєвого циклу сервіс-орієнтованих інформаційних систем. СК03. Здатність проектувати інформаційні системи з урахуванням особливостей їх призначення, неповної/недостатньої інформації та суперечливих вимог. СК04. Здатність розробляти математичні, інформаційні та комп’ютерні моделі об’єктів і процесів інформатизації. СК05. Здатність використовувати сучасні технології аналізу даних для оптимізації процесів в інформаційних системах. СК07. Розробляти і реалізовувати інноваційні проекти у сфері ІСТ.
Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)
Пререквізити
мати знання з програмування, структур даних та алгоритмів, вищої математики, теорії ймовірностей та математичної статистики, інфраструктури інформаційних технологій.
Постреквізити
після проходження дисципліни студенти матимуть теоретичні знання та практичні навички, які необхідні для провадження інженерної та наукової діяльності в області інженерії даних і створення відповідних прикладних інформаційних програм.
Зміст навчальної дисципліни
Очна форма
Лекційні заняття
- Розділ 1. Загальні поняття та етапи циклу інженерії даних
- Розділ 2. Інструменти для обробки та подання даних
Лабораторні заняття
- Встановлення та налаштування Spark.
- Базове знайомство з Spark.
- Spark SQL.
- Робота з файлами в Spark Streaming.
- Базове знайомство з Apache Airflow.
- Побудова конвеєрів з обробки даних в Apache Airflow.
- Побудова конвеєрів за шаблоном ELT в Apache Airflow.
- Використання умов в конвеєрі Apache Airflow.
- Підсумкове заняття
Заочна форма
Лекційні заняття
- Розділ 1. Загальні поняття та етапи циклу інженерії даних
- Розділ 2. Інструменти для обробки та подання даних
Лабораторні заняття
- Базове знайомство з Apache Spark та Spark SQL
- Базове знайомство з Apache Airflow
- Побудова конвеєрів за шаблоном ELT в Apache Airflow
Навчальні матеріали та ресурси
Базова література
- Joe Reis, Matt Housley - Fundamentals of Data Engineering. – O`Reilly, 2022. – 446 p.
- Scott Haines. Modern Data Engineering with Apache Spark. – Apress, 2022. – 592 p.
- Paul Crickard. Data Engineering with Python. — Packt Publishing, 2020. – 357 p.
- Adi Wijaya. Data Engineering with Google Cloud Platform — Packt Publishing , 2022. — 440 p.
- Gareth Eagar. Data Engineering with AWS. — Packt Publishing, 2021. — 395p.
Допоміжна література
- Ситник В.Ф., Краснюк М.Т. Інтелектуальний аналіз даних (дейтамайнінг): Навч. пос. — К:КНЕУ,2007 — 376 с.
- Олійник А. О. Інтелектуальний аналіз даних : навчальний посібник. — Запоріжжя : ЗНТУ, 2012. — 278 с.
- Phil Simon. Too Big to Ignore: The Business Case for Big Data. — Wiley, 2019. — 257p.
Навчальний контент
Методика опанування навчальної дисципліни (освітнього компонента)
Очна форма
Лекційні заняття
№ | Назва теми лекції та перелік основних питань (перелік дидактичних засобів, посилання на літературу та завдання на СРС) |
1 | Лекція 1. Основні поняття інженерії даних |
Структура дисципліни та РСО. Поняття інженерії даних. Основні етапи циклу інженерії даних. Підпроцеси, що підтримуються протягом всього циклу. Вимоги до інженера даних, роль в компанії | |
Література: ( 1,2 ) | |
Завдання на СРС. Поглиблене вивчення матеріалів лекції | |
2 | Лекція 2. Етап генерації даних |
Характеристики вихідної системи. Питання стосовно вхідної системи, які необхідно вирішити. Типи даних. Види вхідних систем та робота з ними. | |
Література: (4,5) | |
Завдання на СРС. Поглиблене вивчення матеріалів лекції. | |
3 | Лекція 3. Етапи зберігання та перетворення даних |
Критерії вибору сховищ даних. Визначення операцій перетворення, їх доцільності та ізольованості. Подання даних для аналітики. | |
Література: ( 2,3) | |
Завдання на СРС. Поглиблене вивчення матеріалів лекції. | |
4 | Лекція 4. Підпроцеси циклу інженерії даних. |
Безпека даних. Управління даними та його складові. Поняття оперування даними (DataOps). Основні складові оперування даними. Архітектура даних | |
Література: (4) | |
Завдання на СРС. Поглиблене вивчення матеріалів лекції | |
5 | Лекція 5. Архітектура даних |
Основні принципи архітектури даних. Існуючі архітектурні концепції. Приклади архітектури даних. Критерії вибору інструментів на різних етапах циклу інженерії даних. | |
Література: (4,5) | |
Завдання для СРС. Поглиблене вивчення матеріалів лекції. | |
6 | Лекція 6. Вихідна система |
Види вихідних систем. Методи вилучення даних з баз даних. Журнали даних про зміни. Черги повідомлень та потокові платформи як джерела даних. Вплив підпроцесів на вихідну систему. | |
Література: ( 4,5) | |
Завдання для СРС. Поглиблене вивчення матеріалів лекції. Підготовка до першої частини модульної контрольної роботи. | |
7 | **Лекція 7.**Системи для зберігання даних |
Перша частина модульної контрольної роботи. Види систем для зберігання даних та їх властивості. Особливості та вимоги до зберігання різних типів даних. Підпроцеси з точку зору зберігання даних. | |
Література: ( 2,3) | |
Завдання для СРС. Поглиблене вивчення матеріалів лекції. | |
8 | Лекція 8. Перетворення даних |
Перетворення пакетних даних. Особливості перетворення потокових даних: види вікон, затримки. Перетворення потокових даних у Spark Streaming. Основні моделі даних. | |
Література: ( 2,3) | |
Завдання для СРС. Поглиблене вивчення матеріалів лекції. | |
9 | Лекція 9. Подання даних |
Основні проблеми і задачі процесу створення продукту даних. Правильність подання даних. Подання даних для бізнес-аналітики. Подання даних для машинного навчання. Вплив підпроцесів на подання даних. | |
Література: (3, 5 ) | |
Завдання для СРС. Поглиблене вивчення матеріалів лекції. | |
10 | Лекція 10. Платформи для організації конвеєрів обробки даних |
Задача організації конвеєрів. Платформа Apache Airflow. Особливості застосування Apache Airflow. Орієнтовані ациклічні графи як спосіб представлення етапів обробки даних. | |
Література: (5) | |
Завдання для СРС. Поглиблене вивчення матеріалів лекції. | |
11 | Лекція 11. Конвеєри в Apache Airflow |
Основні налаштування конвеєрів в Apache Airflow. Види операторів. Визначення завдань DAG. Планувальник Apache Airflow. | |
Література: (5) | |
Завдання для СРС. Поглиблене вивчення матеріалів лекції. | |
12 | Лекція 12. Змінні в Apache Airflow |
Змінні контексту завдання в Apache Airflow. Доступ до змінних. Види залежностей між завданнями в Apache Airflow. Правила запуску конвеєрів. Передача змінних через Xcom. | |
Література: (5) | |
Завдання для СРС. Поглиблене вивчення матеріалів лекції. Підготовка до другої частини модульної контрольної роботи. | |
13 | Лекція 13. Безпека даних |
Друга частина модульної контрольної роботи. Фактори безпеки на етапах циклу інженерії даних. Підходи до організації безпеки. | |
Література: (5) | |
Завдання для СРС. Поглиблене вивчення матеріалів лекції. | |
14 | Лекція 14. Платформа Google Cloud |
Сервіси Google Cloud Platform для інженерії даних. Сховище об’єктів. Робота з BigQuery. Формування запитів. | |
Література: (5) | |
*Завдання для СРС.*Поглиблене вивчення матеріалів лекції. | |
15 | Лекція 15. Потокові дані в Google Cloud Platform |
Pub/Sub як система потокових повідомлень. Основні складові Pub/Sub. Dataflow для обробки потокових даних. | |
Література: (1,2,3) | |
Завдання для СРС. Поглиблене вивчення матеріалів лекції. | |
16 | Лекція 16. Вебсервіси Амазон для інженерії даних |
Налаштування кластеру Hadoop в хмарі вебсервісів Амазон. Налаштування віртуальних машин. Вебсервіси для зберігання та обробки даних. | |
Література: ( 1, 5) | |
Завдання для СРС. . Поглиблене вивчення матеріалів лекції. | |
17 | Лекція 17. Фреймворк Apache Flink |
Розгортання Apache Flink. Обробка потокових даних. Види перетворень в Apache Flink. Налаштування вікон для операцій зі збереженням стану. | |
Література: (2,5) | |
Завдання для СРС. Поглиблене вивчення матеріалів лекції. | |
18 | Лекція 18. Залікова робота. |
Лабораторні заняття
№ | Назва лабораторної роботи | Кількість ауд. годин |
1 | Встановлення та налаштування Spark | 2 |
2 | Базове знайомство з Spark | 2 |
3 | Spark SQL | 2 |
4 | Робота з файлами в Spark Streaming | 2 |
5 | Базове знайомство з Apache Airflow | 2 |
6 | Побудова конвеєрів з обробки даних в Apache Airflow | 2 |
7 | Побудова конвеєрів за шаблоном ELT в Apache Airflow | 2 |
8 | Використання умов в конвеєрі Apache Airflow | 2 |
9 | Підсумкове заняття | 2 |
Заочна форма
Лекційні заняття
№ | Назва теми лекції та перелік основних питань (перелік дидактичних засобів, посилання на літературу та завдання на СРС) |
1 | Лекція 1. Основні поняття інженерії даних |
Структура дисципліни та РСО. Поняття інженерії даних. Основні етапи циклу інженерії даних. Підпроцеси, що підтримуються протягом всього циклу. Вимоги до інженера даних, роль в компанії.Характеристики вихідної системи. Питання стосовно вхідної системи, які необхідно вирішити. Типи даних. Види вхідних систем та робота з ними. Критерії вибору сховищ даних. Визначення операцій перетворення, їх доцільності та ізольованості. Подання даних для аналітики. | |
Література: ( 1,2,4,5) | |
Завдання на СРС. Поглиблене вивчення матеріалів лекції. | |
2 | Лекція 2. Платформи для організації конвеєрів обробки даних |
Задача організації конвеєрів. Платформа Apache Airflow. Особливості застосування Apache Airflow. Орієнтовані ациклічні графи як спосіб представлення етапів обробки даних. Основні налаштування конвеєрів в Apache Airflow. Види операторів. Визначення завдань DAG. Планувальник Apache Airflow. Змінні контексту завдання в Apache Airflow. Доступ до змінних. Види залежностей між завданнями в Apache Airflow. Правила запуску конвеєрів. Передача змінних через Xcom. | |
Література: (4,5) | |
Завдання для СРС. Поглиблене вивчення матеріалів лекції. | |
3 | Лекція 3. Платформа Google Cloud |
Сервіси Google Cloud Platform для інженерії даних. Сховище об’єктів. Робота з BigQuery. Формування запитів.Pub/Sub як система потокових повідомлень. Основні складові Pub/Sub. Dataflow для обробки потокових даних. | |
Література: (1,2,5) | |
Завдання для СРС. Встановлення та налаштування бібліотеки Sсіkіt-lеаrn. Методи класифікації даних. Основи кластерного аналізу. |
Лабораторні заняття
№ | Назва лабораторної роботи | Кількість ауд. годин |
1 | Базове знайомство з Spark і Spark SQL | 2 |
2 | Побудова конвеєрів з обробки даних в Apache Airflow | 2 |
3 | Використання умов в конвеєрі Apache Airflow | 2 |
Самостійна робота студента/аспіранта
№ | Назва теми, що виноситься на самостійне опрацювання | Кількість годин СРС |
1 | Основні поняття інженерії даних | 3 |
2 | Етап генерації даних | 3 |
3 | Підпроцеси циклу інженерії даних | 3 |
4 | Архітектура даних | 2 |
5 | Підготовка до першої частини модульної контрольної роботи | 4 |
6 | Системи для зберігання даних | 3 |
7 | Етапи зберігання та перетворення даних | 3 |
8 | Перетворення даних | 3 |
9 | Подання даних | 4 |
10 | Платформи для організації конвеєрів обробки даних | 3 |
11 | Конвеєри в Apache Airflow | 2 |
12 | Підготовка до другої частини модульної контрольної роботи | 3 |
13 | Змінні в Apache Airflow | 3 |
14 | Безпека даних | 2 |
15 | Платформа Google Cloud | 2 |
16 | Потокові дані в Google Cloud Platform | 3 |
17 | Вебсервіси Амазон для інженерії даних | 2 |
18 | Фреймворк Apache Flink | 3 |
Політика та контроль
Політика навчальної дисципліни (освітнього компонента)
Система вимог, які ставляться перед студентом:
- відвідування лекційних та лабораторних занять є обов’язковою складовою вивчення матеріалу;
- на лекції викладач користується власним презентаційним матеріалом; використовує гугл-диск для викладання матеріалу поточної лекції, додаткової інформації, завдань до лабораторних робіт та інше;
- питання на лекції задаються у відведений для цього час;
- звіти з лабораторних робіт завантажуються напередодні захисту; для захисту лабораторної роботи необхідно продемонструвати роботу відповідної завданню програми та відповісти на питання щодо програми та контрольні питання;
- модульні контрольні роботи пишуться на лекційних заняттях без застосування допоміжних засобів (мобільні телефони, планшети та ін.); результат завантажується у файлі через гугл-форму до відповідної директорії гугл-диску;
- заохочувальні бали виставляються за: участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць тощо. Кількість заохочуваних балів не більше 10;
- штрафні бали виставляються за: несвоєчасну здачу лабораторних робіт без поважних причин; переписування модульної контрольної роботи. Кількість штрафних балів не більше 10.
Види контролю та рейтингова система оцінювання результатів навчання (РСО)
Рейтинг студента складається з балів, що він отримує за:
- виконання та захист лабораторних робіт;
- виконання модульної контрольної роботи;
- заохочувальні та штрафні бали.
Система рейтингових балів та критерії оцінювання
Денна форма навчання:
Лабораторні завдання
- «відмінно», пповна відповідь на питання під час захисту (не менш ніж 90% потрібної інформації), повне виконання завдання лабораторної роботи – 10 балів;
- «добре», достатньо повна відповідь на питання під час захисту (не менш ніж 75% потрібної інформації), повне виконання завдання лабораторної роботи – 8 балів;
- «задовільно», неповна відповідь на питання під час захисту (не менш ніж 60% потрібної інформації), незначні помилки у виконанні завдання лабораторної роботи – 6 балів;
- «незадовільно», незадовільна відповідь та/або значні помилки у виконання завдання лабораторної роботи – 0 балів.
За запізнення з поданням лабораторної роботи до захисту від встановленого терміну оцінка знижується на 1 бал.
Модульні контрольні роботи
- «відмінно», повна відповідь (не менш ніж 90% потрібної інформації), завдання виконано без помилок, дії обґрунтовано – 15 балів;
- «добре», достатньо повна відповідь (не менш ніж 75% потрібної інформації), завдання виконано без значних помилок – 12-14 балів;
- «задовільно», неповна відповідь, в деяких завданнях можуть бути присутні значні помилки, але не менше 60% виконано правильно – 9-11 балів;
- «незадовільно», незадовільна відповідь (неправильне виконання завдань), потребує обов’язкового повторного написання в кінці семестру – 0 балів.
Заохочувальні бали
за виконання творчих робіт з кредитного модуля (наприклад, участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць тощо) 1-2 бали, але в сумі не більше 10.
Міжсесійна атестація
За результатами навчальної роботи за перші 7 тижнів максимально можлива кількість балів – 45 балів (3 лабораторних завдань, перша частина модульної контрольної роботи). На першій атестації (8-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 22 бали.
За результатами 13 тижнів навчання максимально можлива кількість балів – 90 балів (6 лабораторних завдань, модульна контрольна робота). На другій атестації (14-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 45 балів.
Максимальна сума вагових балів контрольних заходів протягом семестру складає:
RD = 8*rл.р.+2*rмкр+ (rз - rш)=7*10+2*15+(rз - rш)=100 + (rз - rш), де rл.р. – бал за лабораторну роботу (0…10); rмкр – бал за написання МКР (0…15); rз – заохочувальні бали (0…10); rзш – штрафні бали (0…10);.
Заочна форма навчання:
Лабораторні завдання
- «відмінно», пповна відповідь на питання під час захисту (не менш ніж 90% потрібної інформації), повне виконання завдання лабораторної роботи – 20 балів;
- «добре», достатньо повна відповідь на питання під час захисту (не менш ніж 75% потрібної інформації), повне виконання завдання лабораторної роботи – 16-19 балів;
- «задовільно», неповна відповідь на питання під час захисту (не менш ніж 60% потрібної інформації), незначні помилки у виконанні завдання лабораторної роботи – 12-15 балів;
- «незадовільно», незадовільна відповідь та/або значні помилки у виконання завдання лабораторної роботи – 0 балів.
За запізнення з поданням лабораторної роботи до захисту від встановленого терміну оцінка знижується на 1 бал.
Модульна контрольна робота
- «відмінно», повна відповідь (не менш ніж 90% потрібної інформації), завдання виконано без помилок, дії обґрунтовано – 40 балів;
- «добре», достатньо повна відповідь (не менш ніж 75% потрібної інформації), завдання виконано без значних помилок – 31-39 балів;
- «задовільно», неповна відповідь, в деяких завданнях можуть бути присутні значні помилки, але не менше 60% виконано правильно – 24-30 балів;
- «незадовільно», незадовільна відповідь (неправильне виконання завдань), потребує обов’язкового повторного написання в кінці семестру – 0 балів.
Заохочувальні бали
за виконання творчих робіт з кредитного модуля (наприклад, участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць тощо) 1-2 бали, але в сумі не більше 10.
Максимальна сума вагових балів контрольних заходів протягом семестру складає:
RD = 3*rл.р.+rмкр+ (rз - rш)=3*20+40+(rз - rш)=100 + (rз - rш), де rл.р. – бал за лабораторну роботу (0…20); rмкр – бал за написання МКР (0…40); rз – заохочувальні бали (0…10); rзш – штрафні бали (0…10);
Залік
Студенти, які виконали всі умови допуску до семестрової атестації (написали всі модульні контрольні, виконали і захистили всі лабораторні роботи) та набрали протягом семестру необхідну кількість балів (RD ≥ 60), отримують залікову оцінку (залік) автоматично відповідно до набраного рейтингу (табл. 1, що наведена нижче). У такому разі до заліково-екзаменаційної відомості вносяться бали RD та відповідні оцінки. Студенти, які набрали протягом семестру менше ніж 60 балів та не мають заборгованостей, зобов’язані виконувати залікову контрольну роботу. Залікова контрольна робота містить п’ять питань. Кожне питання оцінюється у 20 балів. Студентам, які протягом семестру набрали більш ніж 60 балів та виконали всі умови допуску, надається можливість виконувати залікову контрольну роботу з метою підвищення оцінки. В такому разі, попередній рейтинг студента з кредитного модуля скасовується і він отримує оцінку з урахуванням результатів залікової контрольної роботи (табл. 1, що наведена нижче).
Система оцінювання питань
- «відмінно», повна відповідь (не менше 90% потрібної інформації) – 18-20 балів;
- «добре», достатньо повна відповідь (не менше 75% потрібної інформації, або незначні неточності) – 15-17 балів;
- «задовільно», неповна відповідь (не менше 60% потрібної інформації та деякі помилки) – 12-14 балів;
- «незадовільно», незадовільна відповідь – 0-11 балів.
Сума набраних балів RD або балів за залікову роботу переводиться до залікової оцінки згідно з таблицею:
Таблиця 1. Переведення рейтингових балів до оцінок за університетською шкалою
Кількість балів | Оцінка |
---|---|
100-95 | Відмінно |
94-85 | Дуже добре |
84-75 | Добре |
74-65 | Задовільно |
64-60 | Достатньо |
Менше 60 | Незадовільно |
Не виконані умови допуску | Не допущено |
Додаткова інформація з дисципліни (освітнього компонента)
Робочу програму навчальної дисципліни (Силабус): Складено ст. викладач, Тимофєєва Юлія Сергіївна Ухвалено кафедрою ІТС (протокол № 13 від 15.06.2022 р.) Погоджено Методичною комісією факультету[1] (протокол № 11 від 07.07.2022 р.)