Код: 315208Назва:
Функціональне програмування
Анотація: Курс передбачає вивчення парадигм функціонального програмування на прикладі мови Haskell. В курсі розглядаються основні методи і засоби конструювання функцій-програм та алгебраїчних типів даних. Студенти ознайомляться з системою типів мови Haskell, кортежами, списками, деревами і іншими структурами даних, в тому числі нескінченними, отримують теоретичні знання і практичні навички в роботі з монадами: Maybe, List, State, введення-виведення та синтаксичні аналізаториТип дисципліни: нормативнаРік навчання: 3Семестр: осіннійКількість кредитів: 4,0 (загальна кількість годин - 120 год.; аудиторні години - 42 год.; лекції - 20 год.; практичні заняття - 22 год.; самостійна робота - 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 балів (залік).Мова навчання: українська