Přeskočit na hlavní obsah
Přeskočit hlavičku

Praktické funkcionální programování

Typ studia navazující magisterské
Jazyk výuky angličtina
Kód 460-4144/02
Zkratka PFP
Název předmětu česky Praktické funkcionální programování
Název předmětu anglicky Practical Functional Programming
Kreditů 4
Garantující katedra Katedra informatiky
Garant předmětu Ing. Marek Běhálek, Ph.D.

Osnova předmětu

Osnova přednášek

Seznámení se s jazykem Haskell, úvod do funkcionálního programování.
1. Úvod – platforma Haskell, interpret GHCI, Jednoduché funkce využití rekurze
2. Funkce – řešení složitějších problému, základní knihovny, problematika typových tříd
3. Seznamy a uživatelské datové typy – základní způsob práce, generátory seznamů, funkcionální způsob řešení problémů.

Nástroje pro funkcionální programování
4. Nástroje pro správu projektů a knihoven (Stack, Cabal) a podpůrné nástroje pro vývoj (např. debugger).
5. Testování

Pokročilé aspekty programování v jazyce Haskell
6. Programování s akcemi – teoretické aspekty, monády, příklady (monáda ST).
7. Vstup a výstup, řešení chyb.

Vybrané knihovny jazyka Haskell
8. Zpracování vybraných formátu dat (JSON, XML), překlad vstupu.
9. Paralelní programování, práce se sítí, webové REST api.
10. Použití databáze.
11. GUI v jazyce Haskell

Webové GUI v jazyce ELM.
12. Elm – základní komponenty.
13. ELM – vybrané technologie, aplikace stylů.
14. Elm – propojení s backend v jazyce Haskell.

Cvičení budou korespondovat s přednáškami, předpokládá se, že všechna cvičení budou na počítačových učebnách.

E-learning

Základní materiály jsou dostupné na webu pedagoga: http://behalek.cs.vsb.cz/wiki/index.php/Practical_Functional_Programming
Konzultace prostřednictvím MS Teams.

Povinná literatura

[1] Bryan O'Sullivan, John Goerzen, and Don Stewart. 2008. Real World Haskell (1st. ed.). O'Reilly Media, Inc. Dostupné online: http://book.realworldhaskell.org/

[2] Lipovaca M.:Learn You a Haskell for Great Good!: A Beginner's Guide (1st ed.). No Starch Press, San Francisco, CA, USA, 2011. Dostupné online: http://learnyouahaskell.com/

Doporučená literatura

[3] Thompson S.: The Haskell: The Craft of Functional Programming (3nd ed.). Addison-Wesley Professional, October 2, 2011, ISBN-10: 0201882957 .