Vyučující
|
|
Obsah předmětu
|
1. základní principy funcionálního programování 2. lispovské datové struktury (s-výrazy) 3. funkce a speciální formy 4. rekurze a práce se seznamy 5. lambda funkce a currying 6. funkcionály (map, zip, fold) 7. kontinuace a korutiny 8. statický typový systém (seznamy, n-tice) 9. unifikace vzorů 10. seznamové komprehenze 11. algebraické datové typy 12. monády (principy, seznamové monády)
|
Studijní aktivity a metody výuky
|
nespecifikováno
|
Výstupy z učení
|
Kurs je zaměřen na základní principy a prostředky funkcionálního programování. Základem je detailní popis jazyka Scheme a základní přehled jazyka F# resp. Haskellu (jako zástupce moderních funkcionálních jazyků). Hlavním cílem však je však praktická znalost funkcionálních programovacích technik (rekurze, funkcionály, uzávěry, lenivé vyhodnocování) a jejich využití v současných objektově orientovaných jazycích (jako je C# nebo Python), které jsou sice primárně imperativní, ale podporují i mnohé funkcionální konstrukce (a vývoj vede k jejich dalšímu rozšiřování).
|
Předpoklady
|
nespecifikováno
|
Hodnoticí metody a kritéria
|
nespecifikováno
seminární práce malý ukázkový program v jednom z vyučovaných jazyků s využitím přístupů funkcionálního programování (s diskusí při odevzdávání)
|
Doporučená literatura
|
-
Skoupil D. Programy a projekty v jazyce Scheme I. Katedra informatiky PřF UP Olomouc.
|