Функциональное программирование
Программа занятий по функциональному программированию включает в себя лекции и решение задач на программирование в функциональном стиле на языке Haskell.
Примерное содержание лекций:
Тема 1. Основы функционального программирования
Понятие о функциональном программировании; введение в Haskell; списки и определение новых типов данных в Haskell; функции высших порядков; карринг и функциональное представление данных; ленивые вычисления и бесконечные списки; потоки изавязывание узлов; регулярные выражения; представление графов; классы; другие стили функционального программирования: LISP и FP.
Тема 2. Лямбда-исчисление
Основы лямбда-исчисления; рекурсия в лямбда-исчислении и чистое лямбда-исчисление.
Тема 3. Интерпретация и компиляция функциональных программ
Представление функциональных программ; Eval/Apply интерпретатор; функциональная SECD-машина.
Тема 4. Введение в редукцию графов
Введение в редукцию графов; введение в комбинаторную редукцию; комбинаторная редукция на графах.
Студентам будет предложено для самостоятельного решения около 15 задач. Решение всех этих и некоторых других задач будут разобраны на занятиях. Общий объем курса, включающий лекции и решение задач, составляет примерно 40 часов.
Рекомендуемая литература:
— А. Филд, П. Харрисон. Функциональное программирование. М.: Мир, 1993.
— Р. В. Душкин Функциональное программирование на языке Haskell (+ CD-ROM) Издательство: ДМК Пресс, 2007 г., Мягкая обложка, 608 стр.
— Graham Hutton. Programming in Haskell. 2007 г., Мягкая обложка, 184 стр.
— Пол Хьюдак, Джон Петерсон, Джозеф Фасел. Мягкое введение в Haskell.RSDN Magazin, 2006 № 4 и 2007 № 1
Страница лекции на сайте Computer Science Center
АвторАлександр Кубенский
ОрганизаторComputer Science Center
Лекции
14- Функциональное программирование. Лекция 1
- Функциональное программирование. Лекция 2, часть 1
- Функциональное программирование. Лекция 2, часть 2
- Функциональное программирование. Лекция 3, часть 1
- Функциональное программирование. Лекция 3, часть 2
- Функциональное программирование. Лекция 4, часть 1
- Функциональное программирование. Лекция 4, часть 2
- Функциональное программирование. Лекция 5, часть 1
- Функциональное программирование. Лекция 5, часть 2
- Функциональное программирование. Лекция 6, часть 1
- Функциональное программирование. Лекция 6, часть 2
- Функциональное программирование. Лекция 7
- Функциональное программирование. Лекция 8
- Функциональное программирование. Лекция 9
Онлайн-курсы по программированию
3
Машинное обучение для анализа текстов
От бизнес-идеи к ее реализации: учимся инновационному предпринимательству с нуля.
С платными опциями

Разработка игры-платформера на Defold: базовый уровень
Создайте свой первый платформер с нуля! За 7 недель вы не просто освоите движок Defold, а пройдете весь путь геймдев-разработчика: от кода и анимаций до дизайна и сюжета.
Бесплатный

Python для начинающих
Курс посвящен основам программирования на языке Python — одном из самых популярных и понятных языков, идеально подходящих для первого знакомства с IT.
Бесплатный