Лектори:
- Георги Наков, nakov.gl at gmail com
- Марин Маринов, marinov.ms+tues at gmail com
-
Седмица 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)