Теорія складності обчислень (КН 3)
Викладачі:
Богдана Віталіївна Олійник
Віта Анатоліївна Ольшевська
Логічне програмування
"Логічне програмування"
Кафедра інформатики
Викладач
Ющенко Юрій Олексійович, кандидат фіз.-мат. наук, старший викладач
Yury.Yuschenko@ukma.edu.ua
Дисципліна "Логічне програмування" є нормативною дисципліною для студентів спеціальності «Комп`ютерні науки» та "Інженерія програмного забезпечення" факультету інформатики, що ведеться на 3 курсі в ІI семестрі.
Головні дані:
Всього годин – 122(ІПЗ) та 120(КН), з них: лекційних – 20 (ІПЗ) та 14 (КН), практичних – 24 (ІПЗ) та 28(КН), самостійна робота – 78
Форма контролю – екзамен
Кредитів за курс - 4
Мета курсу – познайомитися з функціональним програмуванням і навчитися складати логічні програми для розв'язку логічних задач, для розробки реляційних баз даних, ігор тощо.
Тематика лекцій:
Вступна лекція (про все).
Місце дисципліни.
Основні поняття. Логічний вивід. Правила виводу.
Приклади.
Структура логічної програми. Правила, факти, запит.
Мова предикатів першого порядку.
Атоми, імена індивідуумів, предикати, формули, речення.
Інтерпретація. Квантори. Оцінення речень на істину та хибність.
Уніфікація. Подстановка. Загальна резолюція зверху-вниз.
Здобуття відповіді.
Оператор відсікання. Бектрекінг.
Процедурна інтерпретація логічного програмування.
Розділ, процедура, виклик процедури, вхід в процедуру, процедура відповідає на виклик, вихід з процедури, розв'язаний/вирішений виклик.
Стандартна стратегія вибору виклику, вибору процедури.
Стандартна стратегія керування виконанням програми.
Послідовне виконання предикатів. Розгалуження. Цикли. Рекурсія.
Заключна лекція. Підведення підсумків. Висновки.
Модулі і класи. Модулі. Операції введення-виведенняю Класи типів.
Робота з Haskell. Монади. Управління проектом.
Оцінювання
За виконання завдань в семестрі можна отримати до 75 балів.
Робота студентів протягом семестру оцінюється за результатами виконання
самостійних тематичних завдань.
Студенти виконують індивідуальне завдання на розробку реляційної бази даних на Пролозі.
Під час останньої лекції студенти проходять тестування.
За екзамен (при дистанційній формі навчання) проводиться у формі тестування.
Максимальна кількість балів за іспит – 25 балів.
Для допуску до екзамену потрібно протягом семестру отримати не меньше 45 балів.
Література
Вступ до загальної топології
Фундаментальна математична дисципліна. Розглядаються основні властивості топологічних просторів та неперервних відображень між ними. Курс має на меті узагальнити поняття і результати класичного аналізу та забезпечити студентів теоретичною базою для вивчення багатьох розділів сучасної математики, зокрема: функціонального аналізу, теорії динамічних систем та топологічного аналізу даних.
Вибрані питання програмної інженерії. Стратегії проектування.
Науковий семінар за книгою А.Александреску "Современное проектирование на С++"
Вибрані питання програмної інженерії. Проектні взірці.
Вибрані питання програмної інженерії.
Науковий семінар за книгою Е.Гамми, Р.Хелма, Р.Джонсона, Дж.Влісідес "Приемы объектно-ориентированного проектирования. Патерны проектирования" та на прохання студентів додатково за іншими джерелами, наприклад, книгами О.Швеця "Занурення в патерни проектування", А.Будая "Дизайн патерн - просто як двері" та ін.