Функциональное программирование
Курс Хит
Курс знакомит слушателей с функциональным подходом к программированию, все более набирающим силу в последнее время (наблюдается взрывной рост популярности языков Erlang, Scala, F#). Ключевые свойства этого подхода - борьба со сложностью программ через использование мощных механизмов абстракции и акцент на важность математических свойств программ.
Курс в значительной мере основан на знаменитейшем курсе и книге "Структура и интерпретация компьютерных программ" из MIT, однако адаптирован под ряд особенностей современного программирования и профессиональную подготовку слушателей: обсуждаемые идеи иллюстрируются как в "чистом" виде, так и в контексте типичных повседневных задач.
В курсе рассматриваются следующие наиболее важные идеи из мира функционального программирования:
- лямбда-исчисление,
 - рекурсивные и итеративные процессы,
 - функции высшего порядка и замыкания,
 - абстрактные типы данных,
 - свёртки (данная тема особенно важна в контексте параллельного и распределенного программирования),
 - мини-языки,
 - модель окружений,
 - введение в системы типов.