IB016 Seminář z funkcionálního programování

Fakulta informatiky
jaro 2010
Rozsah
0/2. 2 kr. (plus ukončení). Ukončení: z.
Vyučující
RNDr. Libor Škarvada (cvičící)
Ing. Mgr. Pavel Mises (cvičící)
Peter Molnár (cvičící)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování - Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
Út 16:00–17:50 B130
Předpoklady
IB015 Úvod do funkc. programování && SOUHLAS
Pro povolení zápisu do kurzu stačí mít znalost v rozsahu předmětu IB015 Neimperativní programování a kladný vztah k funkcionálnímu programování. Do žádosti o souhlas stručně zmiňte své dosavadní zkušenosti s Haskellem a případně s dalšími funkcionálními jazyky.
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory
předmět má 20 mateřských oborů, zobrazit
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), další zajímavé nástroje a projekty v Haskellu (lambdabot, hackage, darcs, cabal...). Příkazy interpretu, kompilace programů v Haskellu.
  • Větvení programů (vzory, stráže, if, case), rekurze, anonymní funkce, funkce vyšších řádů (mapy, filtry, foldy), operátory skládání a aplikace funkce.
  • Moduly a typové třídy: ukázka důležitých modulů v Haskellu 98, import, psaní vlastních modulů, strukturování kódu. Show, read, číselné typy, porovnávání.
  • Datové struktury: asociační seznamy, záznamy, pole, implementace vlastních datových struktur (např. stromů).
  • Vstup a výstup: práce se soubory, systémové programování, líný a striktní IO, bezpečný (safe) IO.
  • Monády: Maybe/Either, stavové monády, programování s monádami.
  • Zpracování chyb a výjimek: odchytávání a nastavování výjimek, ošetření chybových stavů.
  • Testování, optimalizace, dokumentace: QuickCheck, pokrytí kódu, profilování, prostá rekurze, přidávání striktnosti, dokumentované programování a generování dokumentace.
  • Parsování: regulární výrazy, ParSec.
  • Databáze: rozhraní HDBC, SQL.
  • Webové a síťové služby: programování webových aplikací pomocí frameworků, používání síťových protokolů.
  • GUI (nebo práce s multimédii): gtk2hs/zpracování obrázků.
  • Paralelní programování: vlákna, paralelní programování a strategie.
Literatura
  • O'SULLIVAN, Bryan, John GOERZEN a Don STEWART. Real World Haskell. First Edition. : O'Reilly Media, Inc., 2009. 670 s. ISBN 978-0-596-51498-3. URL info
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 povinná a velké množství absencí může negativně ovlivnit výsledný bodový zisk.
Navazující předměty
Informace učitele
http://vyuka.haskell.cz/
Další komentáře
Studijní materiály
Předmět je vyučován každoročně.
Předmět je zařazen také v obdobích jaro 2011, jaro 2012, jaro 2013, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019.

Nahoru | Aktuální datum a čas: 24. 10. 2018 07:46, 43. (lichý) týden

Kontakty: istech(zavináč/atsign)fi(tečka/dot)muni(tečka/dot)cz, studijní odd., správci práv, is-technici, e-technici, IT podpora | Použití cookies | Více o Informačním systému