Формальні методи розробки та супроводу програмних систем
Анотація навчальної дисципліни
Мета дисципліни: освоєння формальних методів в програмній інженерії і розвиток навичок їх практичного застосування
Завдання дисципліни:
Ознайомитись з концепціями формальних методів для розробки та супроводу програмних систем
Навчитися використовувати різноманітні формальні моделі та методи для вирішення практичних завдань
Основні результати навчання
Оцінювати і вибирати ефективні методи і моделі розроблення, впровадження, супроводу програмного забезпечення та управління відповідними процесами на всіх етапах життєвого циклу.
Модифікувати існуючі та розробляти нові алгоритмічні рішення детального проєктування програмного забезпечення.
Збирати, аналізувати, оцінювати необхідну для розв’язання наукових і прикладних задач інформацію, використовуючи науково-технічну літературу, бази даних та інші джерела.
Форми організації освітнього процесу та види навчальних занять
Л – лекційні заняття; ЛЗ – лабораторні заняття; СРС – самостійна робота здобувача вищої освіти; МКР – модульна контрольна робота; К – консультації.
Тематика та види навчальних занять
1 тиждень
Л1. Вступ. Огляд формальних методів в програмній інженерії
ЛЗ1. Вивчення інструментів
СРС. К.
2 тиждень
Л2. Ефективні алгоритми, складність алгоритмів.
СРС. К.
3 тиждень
Л3. Ефективні алгоритми на графах.
ЛЗ2. Алгоритми на графах
СРС. К.
4 тиждень
Л4. Рекурсія та бінарний пошук
СРС. К.
5 тиждень
Л5. Алгоритми обчислювальної геометрії
ЛЗ3. Рекурсія, бінарний пошук
СРС. К.
6 тиждень
Л6. Глибинне навчання для машинного зору Глибинні згорткові нейронні мережі.
СРС. К.
7 тиждень
Л7. Перенос навчання. Тонка настройка попередньо навченої нейронної мережі (Fine Tuning)
ЛЗ4. Обчислювальна геометрія
СРС. К.
8 тиждень
Л8. Огляд типів згорткових нейронних мереж
МКР1. СРС. К.
9 тиждень
Л9. Витяг ознак із попередньо навченої нейронної мережі.
ЛЗ5. Перенос навчання та тонка настройка попередньо навченої нейронної мережі
СРС. К.
10 тиждень
Л10. Доповнення даних для навчання нейронної мережі (Data Augmentation). Візуалізація ознак нейронної мережі
СРС. К.
11 тиждень
Л11. Машинне навчання і нейронні мережі для аналізу текстів
ЛЗ6. Візуалізація ознак згорткової глибинної нейронної мережі
СРС. К.
12 тиждень
Л12. Представлення тексту у цифровому вигляді для обробки за допомогою нейронної мережі
СРС. К.
13 тиждень
Л13. Глибинні рекурентні нейронні мережі. LSTM.
ЛЗ7. Представлення текстів для аналізу відгуків IMDB
СРС. К.
14 тиждень
Л14. Глибинні рекурентні нейронні мережі. GRU
СРС. К.
15 тиждень
Л15. Одновимірні згорткові нейронні мережі для класифікації текстів.
ЛЗ8. Мережі LSTM та GRU для визначення тональності відгуків IMDB
МКР2. СРС. К.
Самостійна робота
Самостійна робота складає 89 години. Розподіл самостійної роботи за видами навчальних робіт:
підготовка до лекційних занять – 22 годин;
підготовка до лабораторних занять - 37 годин;
пдготовка до екзамену - 30 годин
Індивідуальна робота. Не передбачена
Процедура оцінювання
Модульні контрольні роботи №1 і №2 виконуються у письмовій формі. Максимальна оцінка за бездоганне виконання модульних контрольних робіт становить 30 балів.
Модульні контрольні роботи містять відповіді на теоретичні питання, а також виконання розробку практичних завдань у вигляді програм. Для модульної контрольної роботи №1 бали по завданням розподіляються наступним чином: максимально – 6, 6, 6, 12 (всього – 30 балів). Для модульної контрольної роботи №2 бали по завданням розподіляються наступним чином: максимально – 6, 6, 6, 12 (всього – 30 балів).
Якщо відповідь на теоретичне питання правильна та повна, то ставиться максимальний бал; якщо правильна, але неповна, то знімається 1/2 або 1/3 від максимального балу в залежності від ступеня повноти; якщо відповідь невірна, то знімаються всі бали.
Завдання практичної частини складаються в розробці програми. Якщо написав програму вірно, то він одержує максимальний бал; якщо виконав не всю програму, то знімається 3/4, 1/2 або 1/3 від максимального балу в залежності від ступеня повноти; якщо програма повність, то знімаються всі бали.
За результатами виконання лабораторних робіт та захисту протоколів студент може отримати до 15 балів за кожний модуль, тобто 30 балів за семестр.
За результатами опитувань на лабораторних заняттях студент може отримати до 5 балів за кожний модуль, тобто 10 балів за семестр.
Якщо студент виконав лабораторну роботу або відповів на опитування бездоганно та своєчасно, то ставиться максимальний бал; якщо правильно, але неповно, то знімається 1/2 або 1/3 від максимального балу в залежності від ступеня повноти; якщо невірно, то знімаються всі бали.
Максимальна оцінка, яку може отримати здобувач за всі виконані види робіт – 100 балів.
Семестровий модуль № 1
ЛЗ1- ЛЗ3. Оцінка за виконання – 20 балів. Термін виконання – 1-8 тиждень.
МК1. Модульна контрольна робота – 30 балів (8 тиждень). Перескладання можливе протягом 9–11 тижнів за розкладом консультацій.
Семестровий модуль № 2
ЛЗ5- ЛЗ8. Оцінка за виконання – 20 балів. Термін виконання – 9-15 тиждень.
МК2. Модульна контрольна робота – 30 балів (15 тиждень).
Підсумковим контролем з дисципліни є екзамен.
Критерії оцінювання екзамену
Підсумковим контролем з дисципліни є екзамен. Екзамен з дисципліни складається з двох частин: перевірки теоретичних знань шляхом опитування та виконання практичного завдання. Мінімальна кількість балів, що зараховується як позитивний результат, дорівнює 60 (за 100-бальною системою).
Бали розподіляються наступним чином: 60 балів – теоретична частина та 40 балів – практична. Білет містить 4 теоретичних питання рівної складності.
За бездоганну відповідь на кожне питання студент отримує – 10 балів. При цьому відповідь вважається бездоганною, якщо студент не зробив жодної помилки та повністю виклав зміст питання. За кожне запитання знімається 10 балів, якщо була здійснена невірна відповідь або за відсутність відповіді, 5 балів знімається за виправлення відповіді на запитання (за кожне виправлення).
Білет містить 1 практичне завдання. За бездоганне виконання завдання практичної частини студент отримує – 40 балів. Практична частина екзамену вважається виконаною бездоганно, якщо при наявності розв’язання приклада, при цьому усі дії виконані вірно, без помилок; всі записи, щодо розв’язання записані послідовно, зроблена перевірка (якщо потрібно). Крім цього усі малюнки, креслення та схеми виконані охайно, без помилок.
Екзамен вважається не складаним, якщо студент отримав незадовільну оцінку.
Політика освітнього процесу
Здобувач зобов’язаний своєчасно та якісно виконувати всі отримані завдання; за необхідністю з метою з’ясування всіх не зрозумілих під час самостійної та індивідуальної роботи питань відвідувати консультації викладача. Дотримуватись принципів академічної доброчесності.
Виконаний не свій варіант завдання здобувачем не оцінюється.
Робота, яка виконана після встановлених викладачем термінів, не приймається.
Відсутність здобувача на екзамені або на контрольній роботі відповідає оцінці «0».
Складання/перескладання екзаменів – за встановленим деканатом розкладом.
Під час лекції здійснювати телефонні дзвінки забороняється.
Заборонено використання будь-яких підручників, посібників, конспектів лекцій, шпаргалок під час проходження модульних контролів та екзамену з дисципліни.
Література
Базова
1. Николенко А. Глубокое обучение. Погружение в мир нейронных сетей. / А. Николенко Е. Кадурин, С. Архангельская — СПб.: Питер – 2018. – с. 449.
2. Алгоритмы: вводный курс.: Пер. с англ. – Москва, СПб., Киев ООО «Вильямс» – 2014 – 208 с.
Додаткова
3. Курс «Программирование глубоких нейронных сетей на Python» [Електронний ресурс]. – Режим доступу: URL: https://www.asozykin.ru/courses/nnpython
4. Guide to Competitive Programming: Learning and Improving Algorithms Through Contests (Undergraduate Topics in Computer Science), 1st ed. – Springer - 2017 - Edition by Antti Laaksonen
Методична
5. Методичні вказівки до лабораторних робіт з дисципліни “Штучний інтелект та методи машинного навчання” для студентів спеціальності 121 – Інженерія програмного забезпечення / Укл.: В.М. Рувінська, Л.С .Жиро. – Одеса: ОНПУ, 2021. – с. 30