Лектори:
Седмица 1 (19.10.2016)
Относно курса
Що е то функционално програмиране? История на Haskell
Въведение в Haskell. Основени типове и синтаксис.
Седмица 2 (26.10.2016)
Въведение част 2 Lists, Guards and Pattern matching
Домашно: Езика на разбойниците (secret-lang)
Седмица 3 (02.11.2016)
Работа със списъци
Задачи от часа: Lists.hs, Colorize (colorize)
Домашно: Домашно Lists (lists)
Седмица 4 (09.11.2016)
List comprehension
Задачи от часа: List comprehensions (list-comp)
Домашно: Пермутации (permutations)
Седмица 5 (16.11.2016)
Полиморфични функции
Локални променливи let и where
Задачи от часа: Histogram (histogram)
Домашно: Форматиране на данни в Markdown таблица (md-table)
Седмица 6 (23.11.2016)
Tuples
Algebraic Data Types (ADTs)
Задачи от часа: Markdown (md-processor)
Домашно: задачи 2 - 5 от Markdown (md-processor)
Седмица 7 (30.11.2016)
Параметричен полиморфизъм с Algebraic Data Types
Задачи от часа: Funky.hs (funky)
Седмица 8 (07.12.2016)
Имплементиране на прост интерпретатор
Задачи от часа: Funky (funky)
Седмица 9 (14.12.2016)
Задачи от часа: qsort.c, Qsort.hs, Plotter.hs
Седмица 10 (21.12.2016)
map, filter, fold
Задачи от часа: Histogram (histogram) чрез map
/filter
/fold
Седмица 11 (19.01.2017)
Currying & Composition
Задачи от часа: Функционална геометрия (funcgeo)
Седмица 11 (26.01.2017)
Входно-изходни операции
Задачи от часа: TicTacToe.hs (tic-tac-toe)
Седмица 12 (01.02.2017)
Задачи от часа: Decrypt.hs (decrypt)