Логічне і функціональне програмування (са)
Тип: Нормативний
Кафедра: програмування
Навчальний план
| Семестр | Кредити | Звітність |
| 6 | 3.5 | Іспит |
Лекції
| Семестр | К-сть годин | Лектор | Група(и) |
| 6 | 32 | доцент Ярошко С. А. | ПМа-31, ПМа-32, ПМа-33 |
Лабораторні
| Семестр | К-сть годин | Група | Викладач(і) |
| 6 | 32 | ПМа-31 | |
| ПМа-32 | |||
| ПМа-33 |
Опис курсу
Фокус уваги курсу спрямовано на вивчення засад декларативного програмування. Засоби та методи написання програм у логічному стилі проілюстровано мовою Prolog, засоби та методи функціонального програмування – з використанням Lisp і Python. Для опису задачі логічний стиль застосовує твердження і правила, функціональний – оголошення та виклики функцій. Розглянуто питання правильної побудови рекурсії, використання монад. Курс пов’язаний з дисциплінами “Основи програмування”, “Програмування (.Net, Python)”, “Алгоритми обчислювальних процесів”.
Після завершення цього курсу студент буде :
Знати
- синтаксис мови Prolog, засади функціонування її машини виводу, вбудовані засоби;
- синтаксис мови Lisp та особливості функціонування її інтерпретатора, стандартні функції;
- прийоми написання програм у логічному стилі;
- правила написання функціональних програм.
Вміти
- описувати предметну область задачі мовою Prolog;
- формулювати прості та рекурсивні правила мовою Prolog;
- створювати та використовувати структури (у тому числі й бази даних) мовою Prolog;
- оголошувати та використовувати функції мовою Lisp, у тому числі функції вищих порядків;
застосовувати засоби функціонального програмування мови Python.
Рекомендована література
Основна література
- SWI Prolog Reference manual – Електронний ресурс. Режим доступу: https://www.swi-prolog.org/pldoc/doc_for?object=manual
- Prolog Tutorial – Електронний ресурс. Режим доступу: https://www.tutorialspoint.com/prolog/index.htm
- Ivan Bratko Prolog Programming For Artificial Intelligence. Fourth Edition – Addison Wesley, 2021. – 697 с.
- Шумейко О. О. Visual Prolog. Опануй на прикладах : навч. посіб. / О. О. Шумейко, В.М. Кнуренко. – Дніпропетровськ : Біла К. О., 2014. – 404 с.
- Learn Lisp – Електронний ресурс. Режим доступу: https://www.tutorialspoint.com/lisp/index.htm
- Steven Lott Functional Python Programming – Packt Publishing Ltd., 2015 – 339 p.
Додаткова література
- Learn Common Lisp – Електронний ресурс. Режим доступу: https://lisp-lang.org/learn/
- Christian Neumanns Simple Introduction to Monads – CodeProject [Електронний ресурс] – Режим доступу: https://www.codeproject.com/Articles/5290753/Simple-Introduction-to-Monads
- David Mertz Functional Programming in Python – O’Reilly Media, Inc., 2015 – 39 p.
Online courses – https://www.classcentral.com/report/best-free-prolog-courses/