FI:IB016 Seminář z funkc. programování - Informace o předmětu
IB016 Seminář z funkcionálního programování
Fakulta informatikyjaro 2015
- Rozsah
- 0/2. 2 kr. (plus ukončení). Ukončení: z.
- Vyučující
- RNDr. Vladimír Štill, Ph.D. (cvičící)
RNDr. Martin Ukrop, Ph.D. (cvičící) - Garance
- prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky - Rozvrh seminárních/paralelních skupin
- IB016/01: St 14:00–15:50 A219, V. Štill, M. Ukrop
IB016/02: Út 14:00–15:50 B130, V. Štill, M. Ukrop - Předpoklady
- IB015 Neimperativní programování
Pro zapsání do kurzu stačí mít znalost v rozsahu předmětu IB015 Neimperativní programování a kladný vztah k funkcionálnímu programování. - Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
Předmět si smí zapsat nejvýše 40 stud.
Momentální stav registrace a zápisu: zapsáno: 0/40, pouze zareg.: 0/40, pouze zareg. s předností (mateřské obory): 0/40 - Mateřské obory/plány
- Aplikovaná informatika (program FI, B-AP)
- Bioinformatika (program FI, B-AP)
- Informatika a druhý obor (program FI, B-EB)
- Informatika a druhý obor (program FI, B-FY)
- Informatika a druhý obor (program FI, B-IO)
- Informatika a druhý obor (program FI, B-MA)
- Informatika a druhý obor (program FI, B-TV)
- Matematická informatika (program FI, B-IN)
- Paralelní a distribuované systémy (program FI, B-IN)
- Počítačová grafika a zpracování obrazu (program FI, B-IN)
- Počítačové sítě a komunikace (program FI, B-IN)
- Počítačové systémy a zpracování dat (program FI, B-IN)
- Programovatelné technické struktury (program FI, B-IN)
- Programovatelné technické struktury (program FI, N-IN)
- Služby - výzkum, řízení a inovace (program FI, N-AP)
- Sociální informatika (program FI, B-AP)
- Umělá inteligence a zpracování přirozeného jazyka (program FI, B-IN)
- Cíle předmětu
- Studenti předmětu si podstatně rozšíří své znalosti funkcionálního programování. Po absolvování kurzu by měli být schopni řešit netriviální programátorské problémy s pomocí Haskellu a získat přehled o praktických využitích tohoto funkcionálního jazyka.
- Osnova
- GHC(i), příkazy interpretu, kompilace programů v Haskellu.
- Větvení programů, rekurze, anonymní funkce, funkce vyšších řádů, operátory skládání a aplikace funkce.
- Moduly: důležité moduly v Haskellu 2010, jejich import, psaní vlastních modulů.
- Podpůrné nástroje, balíčky, cabal, Hackage.
- Typové třídy Show, Read, číselné typové třídy a další. Vlastní typové třídy.
- Datové struktury: asociační seznamy, záznamy, pole, implementace vlastních datových struktur.
- Vstup a výstup: práce se soubory, systémové programování, možnosti V/V v Haskellu.
- Funktory, applicative, monády.
- Zpracování chyb a výjimek: Maybe, Either, odchytávání a nastavování výjimek, ošetření chybových stavů.
- Testování, optimalizace, dokumentace: QuickCheck, koncová rekurze, přidávání striktnosti. Dokumentované programování a generování dokumentace.
- Parsování: regulární výrazy, generátor parserů Parsec.
- Paralelní programování: vlákna, paralelní programování a strategie.
- Zajímavá syntaktická rozšíření v GHC a další
- Literatura
- Záložky
- https://is.muni.cz/ln/tag/FI:IB016!
- Výukové metody
- Kurz se sestává z dvouhodinových cvičení, ve kterých jsou studentům prezentována témata využití funkcionalního programování v praxi. Kromě toho je požadováno řešení pěti domácích úloh týkajících se probírané látky.
- Metody hodnocení
- Podmínkou pro získání zápočtu je získání minimálně 50 % bodů z domácích úloh. Účast na cvičeních je nepovinná, ale důrazně doporučená.
- Navazující předměty
- Informace učitele
- https://is.muni.cz/auth/el/1433/jaro2015/IB016/index.qwarp
- Další komentáře
- Studijní materiály
Předmět je vyučován každoročně.
- Statistika zápisu (jaro 2015, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/jaro2015/IB016