Přístupnostní navigace
E-přihláška
Vyhledávání Vyhledat Zavřít
Detail předmětu
FSI-VFLAk. rok: 2026/2027
Tento předmět se zaměřuje na hlubší pochopení principů funkcionálního programování prostřednictvím jazyka F#. Studenti se seznámí s teoretickými základy funkcionálního paradigmatu, jako jsou algebraické datové typy, kompozice funkcí, immutabilita nebo práce s efektivními datovými strukturami, a naučí se tyto koncepty aplikovat při návrhu robustních a bezpečných softwarových systémů. Kurz se věnuje také pokročilejším technikám, mezi které patří pattern matching, funkcionální error-handling, computation expressions či asynchronní a paralelní výpočty, a klade důraz na architektonické zásady typické pro funkcionální svět, jako je separation of concerns či modelování domény pomocí typů. Součástí výuky je nejen teorie, ale i praktická tvorba aplikací, které studenty povedou k porozumění tomu, jak lze funkcionální přístup efektivně využít v moderním softwarovém vývoji.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Vstupní znalosti
Základní znalosti programování.
Pravidla hodnocení a ukončení předmětu
Hodnocení je založeno na aktivitě studentů v předmětu a obhajobě zadaného projektu.
Učební cíle
Cílem předmětu je seznámit studenty s neimperativními přístupy k řešení problémů a prohloubit jejich znalosti principů metod funkcionálního programování.
Základní literatura
Zařazení předmětu ve studijních plánech
Cvičení s počítačovou podporou
Vyučující / Lektor
Osnova
1. F# v moderním .NET ekosystému2. Funkcionální jádro: funkce, kompozice a expresivita3. Pokročilé typy: records, unions, tuples4. Pattern matching jako základní mechanismus řízení toku5. Higher-order funkce a funkcionální design6. Kolekce, sekvence a lazy evaluace7. Error handling v profesionálních FP aplikacích8. Moduly, architektura a návrhové vzory ve F#9. Práce se stavem ve funkcionálních systémech10. Asynchronní a paralelní funkcionální programování11. Computation expressions – custom workflow, syntactic sugar12. Funkcionální doménový návrh (FDD / DDD ve F#)13. Moderní trendy
Přednáška
1. Funkcionální programování v moderním světě2. Funkce a kompozice jako hlavní stavební kámen3. Algebraické datové typy – teorie a modelování domén4. Pattern matching – deterministické řízení toku5. Higher-order funkce a funkcionální design6. Kolekce, lazy evaluace a nekonečné struktury7. Funkcionální error-handling – od teorie k praxi8. Architekturální principy ve funkcionálním světě9. Práce se stavem – teorie a praxe10. Asynchronní a paralelní FP11. Computation expressions – obecný mechanismus pro abstrakci výpočtů12. Funkcionální doménový návrh (FDD)13. Výstavba plně funkcionální architektury