Enrolment options

Курс присвячено вивченню парадигми функціонального програмування як сучасного підходу до розробки програмного забезпечення, що базується на ідеї опису що робити, а не як робити. Теоретична частина охоплює базові концепції функціональної парадигми: чисті функції та відсутність побічних ефектів, рекурсію як основний механізм обчислень, використання функцій вищого порядку, лямбда-обчислення як математичну основу функціонального стилю, а також роботу з виразами, типами та структурами даних. Окремо розглядаються питання композиції функцій, ледачих обчислень і модульності програм.

Практична частина орієнтована на застосування функціональних ідей у різних мовах програмування. На прикладі Haskell розглядаються “чисті” функціональні засоби — типи, списки, рекурсія, робота з вбудованими функціями (map, filter, fold). На прикладі Python аналізуються можливості інтеграції функціонального стилю у мову загального призначення: функції map, filter, reduce, генератори, лямбда-функції, модуль functools. У JavaScript детально розглядається робота з масивами через функціональні методи (map, filter, reduce), замикання та роль функцій як об’єктів першого класу.

Кредити: 3
Guests cannot access this course. Please log in.