Код: 315429Назва:
Функціональне програмування
Анотація: В курсі вивчаються парадигми функціонального програмування, використовуючи мову Haskell. Розглядаються основні методи і засоби конструювання функцій-програм та структури даних, що використовуються. Для оволодіння навиками функціонального програмування студентам пропонуються тематичні завдання на обробку даних: біноміальні купи, суфіксні дерева, бінарні діаграми рішень, дерева ухвалення рішень, регулярні вирази, обробка XML-документів, синтаксичний аналіз, виведення типу і т.і. Тип дисципліни: нормативнаРік навчання: 3Семестр: осіннійКількість кредитів: 4,0 (загальна кількість годин - 120 год.; аудиторні години - 42 год.; лекції - 14 год.; практичні заняття - 28 год.; самостійна робота - 78 год.)Форма контролю: екзаменВикладач(і): Проценко В.С.,к.ф.м.н.,доц.Результати навчання: Студенти повинні вивчити: списки, в тому числі нескінченні; функції; розвинуту систему типів даних; модулі; класи типів; монади. Для опанування конструкції мови програмування Haskell студенти розв`язуючи відомі задачі: структури даних (графи, дерева пошуку) і їх ефективна реалізація; розв`язок системи лінійних рівнянь (метод Гауса); реалізація моделей обчислень; синтаксичний аналіз і побудова аналізаторів; інтерпретація процедурних мов програмуванняСпосіб навчання: аудиторнийЗміст дисципліни: Мова Haskell створювалася як стандарт мови функціонального програмування, в якій реалізуються всі відомі концепції функціонального програмування. Оволодівши мовою Haskell легко зрозуміти як ефективно використовувати елементи функціональності в мовах Java, Clojure, Scala.
Студенти повинні знати основи дискретної математики та програмування на мові Java або Ci++ (в об»ємі одного семестру). Студенти повинні вміти ефективно застосовувати отримані знання для розв?язку прикладних задач.
Рекомендована література: Lipovaca M., Lean You a Haskell for Great Good!: A Beginner`s Guide, No Starch Press, 2011. URL: http://learnyouahaskell.com. (Переклад українською https://haskell.trygub.com ) Kurt W. Get Programming with Haskell. Manning Publications, 2018.Mena A.S., Practical Haskell: A Real World Guide to Programming. Second Edition, Apress, 2019. – 595 p. Форми та методи навчання: лекції, семінарські заняття, самостійна роботаМетоди й критерії оцінювання: рейтингове оцінювання за 100-бальною системою: поточний контроль - 72 балів (домашні завдання, реферати, проекти, 3 контрольні роботи);
підсумковий контроль - 28 балів (письмовий екзамен).Мова навчання: українська