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

Fakulta informatiky
jaro 2024
Rozsah
1/1/0. 2 kr. (plus ukončení). Ukončení: z.
Vyučováno prezenčně.
Vyučující
RNDr. Martin Jonáš, Ph.D. (přednášející)
Bc. Jakub Šárník (pomocník)
Garance
RNDr. Martin Jonáš, Ph.D.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
St 10:00–11:50 B130
Předpoklady
IB015 Neimperativní programování
Pro zapsání do kursu stačí mít znalost Haskellu 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 45 stud.
Momentální stav registrace a zápisu: zapsáno: 41/45, pouze zareg.: 0/45, pouze zareg. s předností (mateřské obory): 0/45
Mateřské obory/plány
předmět má 71 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í kursu 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.
Výstupy z učení
Student bude po absolvování předmětu schopen:
— napsat pokročilejší Haskellový program o cca 100 až 200 řádcích;
— zadaný problém analyzovat a vhodně funkcionálně dekomponovat;
— používat podpůrné nástroje pro vývoj v Haskellu, jako je správce balíků Cabal, repositář balíků Hackage, linter HLint a testovací framework QuickCheck;
— dokázat popsat teoretické funkcionální koncepty;
— mít představu o některých pokročilejších funkcionálních technikách používaných v praxi.
Osnova
  • Pokročilá syntaxe, systém modulů, vlastní typové třídy, pokročilé datové struktury.
  • Systém balíčků (Hackage/Stackage), podpůrné nástroje (Cabal, HLint, Haddock).
  • Funktory, aplikativní funktory, monády.
  • Automatické generování testů dle specifikace (QuickCheck).
  • Vstup a výstup v Haskellu, zpracování chyb a výjimek (Maybe, Either, výjimky, chybové stavy).
  • Pologrupy, monoidy, třídy Foldable a Traversable.
  • Vyhodnocovací strategie (lenost vs. striktnost).
  • Pokročilé techniky procházení datových struktur (Zippers, Lens).
  • Monadické parsování (Parsec).
  • Monády pro sdílený zápis, čtení a udržování stavu (Writer, Reader, State).
  • Transformátory monád (MaybeT, ErrorT).
  • Práce s řetězci a další užitečná rozšíření v GHC.
  • Využití Haskellu v praxi.
Literatura
  • LIPOVAČA, Miran. Learn You a Haskell for Great Good!: A Beginner's Guide. First Edition. San Francisco, CA, USA: No Starch Press, 2011, 400 s. ISBN 978-1-59327-283-8. URL info
  • 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
Cvičení kombinující výklad a samostatné programování; domácí úlohy.
Metody hodnocení
Podmínkou pro získání zápočtu je získání dostatečného množství 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/jaro2023/IB016/index.qwarp
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 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023.

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

Fakulta informatiky
jaro 2023
Rozsah
1/1/0. 2 kr. (plus ukončení). Ukončení: z.
Vyučováno prezenčně.
Vyučující
RNDr. Martin Jonáš, Ph.D. (přednášející)
Bc. Jakub Šárník (pomocník)
Garance
RNDr. Martin Jonáš, Ph.D.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
Út 14. 2. až Út 9. 5. Út 18:00–19:50 B130
Předpoklady
IB015 Neimperativní programování
Pro zapsání do kursu stačí mít znalost Haskellu 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 45 stud.
Momentální stav registrace a zápisu: zapsáno: 32/45, pouze zareg.: 0/45, pouze zareg. s předností (mateřské obory): 0/45
Mateřské obory/plány
předmět má 71 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í kursu 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.
Výstupy z učení
Student bude po absolvování předmětu schopen:
— napsat pokročilejší Haskellový program o cca 100 až 200 řádcích;
— zadaný problém analyzovat a vhodně funkcionálně dekomponovat;
— používat podpůrné nástroje pro vývoj v Haskellu, jako je správce balíků Cabal, repositář balíků Hackage, linter HLint a testovací framework QuickCheck;
— dokázat popsat teoretické funkcionální koncepty;
— mít představu o některých pokročilejších funkcionálních technikách používaných v praxi.
Osnova
  • Pokročilá syntaxe, systém modulů, vlastní typové třídy, pokročilé datové struktury.
  • Systém balíčků (Hackage/Stackage), podpůrné nástroje (Cabal, HLint, Haddock).
  • Funktory, aplikativní funktory, monády.
  • Automatické generování testů dle specifikace (QuickCheck).
  • Vstup a výstup v Haskellu, zpracování chyb a výjimek (Maybe, Either, výjimky, chybové stavy).
  • Pologrupy, monoidy, třídy Foldable a Traversable.
  • Vyhodnocovací strategie (lenost vs. striktnost).
  • Pokročilé techniky procházení datových struktur (Zippers, Lens).
  • Monadické parsování (Parsec).
  • Monády pro sdílený zápis, čtení a udržování stavu (Writer, Reader, State).
  • Transformátory monád (MaybeT, ErrorT).
  • Práce s řetězci a další užitečná rozšíření v GHC.
  • Využití Haskellu v praxi.
Literatura
  • LIPOVAČA, Miran. Learn You a Haskell for Great Good!: A Beginner's Guide. First Edition. San Francisco, CA, USA: No Starch Press, 2011, 400 s. ISBN 978-1-59327-283-8. URL info
  • 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
Cvičení kombinující výklad a samostatné programování; domácí úlohy.
Metody hodnocení
Podmínkou pro získání zápočtu je získání dostatečného množství 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/jaro2023/IB016/index.qwarp
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 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2024.

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

Fakulta informatiky
jaro 2022
Rozsah
1/1/0. 2 kr. (plus ukončení). Ukončení: z.
Vyučováno prezenčně.
Vyučující
Mgr. Vladimír Chlup (přednášející)
Mgr. Adam Matoušek (přednášející)
RNDr. Vladimír Štill, Ph.D. (přednášející)
Bc. František Bráblík (pomocník)
Mgr. Henrieta Micheľová (pomocník)
Garance
RNDr. Vladimír Štill, Ph.D.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
St 16. 2. až St 11. 5. St 12:00–13:50 B130
Předpoklady
IB015 Neimperativní programování
Pro zapsání do kursu stačí mít znalost Haskellu 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 36 stud.
Momentální stav registrace a zápisu: zapsáno: 22/36, pouze zareg.: 0/36, pouze zareg. s předností (mateřské obory): 0/36
Mateřské obory/plány
předmět má 68 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í kursu 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.
Výstupy z učení
Student bude po absolvování předmětu schopen:
— napsat pokročilejší Haskellový program o cca 100 až 200 řádcích;
— zadaný problém analyzovat a vhodně funkcionálně dekomponovat;
— používat podpůrné nástroje pro vývoj v Haskellu, jako je správce balíků Cabal, repositář balíků Hackage, linter HLint a testovací framework QuickCheck;
— dokázat popsat teoretické funkcionální koncepty;
— mít představu o některých pokročilejších funkcionálních technikách používaných v praxi.
Osnova
  • Pokročilá syntaxe, systém modulů, vlastní typové třídy, pokročilé datové struktury.
  • Systém balíčků (Hackage/Stackage), podpůrné nástroje (Cabal, HLint, Haddock).
  • Funktory, aplikativní funktory, monády.
  • Automatické generování testů dle specifikace (QuickCheck).
  • Vstup a výstup v Haskellu, zpracování chyb a výjimek (Maybe, Either, výjimky, chybové stavy).
  • Pologrupy, monoidy, třídy Foldable a Traversable.
  • Vyhodnocovací strategie (lenost vs. striktnost).
  • Pokročilé techniky procházení datových struktur (Zippers, Lens).
  • Monadické parsování (Parsec).
  • Monády pro sdílený zápis, čtení a udržování stavu (Writer, Reader, State).
  • Transformátory monád (MaybeT, ErrorT).
  • Práce s řetězci a další užitečná rozšíření v GHC.
  • Využití Haskellu v praxi.
Literatura
  • LIPOVAČA, Miran. Learn You a Haskell for Great Good!: A Beginner's Guide. First Edition. San Francisco, CA, USA: No Starch Press, 2011, 400 s. ISBN 978-1-59327-283-8. URL info
  • 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
Cvičení kombinující výklad a samostatné programování; domácí úlohy.
Metody hodnocení
Podmínkou pro získání zápočtu je získání dostatečného množství 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/jaro2020/IB016/index.qwarp
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 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2023, jaro 2024.

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

Fakulta informatiky
jaro 2021
Rozsah
0/2/0. 2 kr. (plus ukončení). Ukončení: z.
Vyučováno online.
Vyučující
Mgr. Vladimír Chlup (přednášející)
Mgr. Adam Matoušek (přednášející)
RNDr. Vladimír Štill, Ph.D. (přednášející)
Mgr. Martin Kurečka (pomocník)
Garance
RNDr. Vladimír Štill, Ph.D.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
St 8:00–9:50 Virtuální místnost
  • Rozvrh seminárních/paralelních skupin:
IB016/virtual: Rozvrh nebyl do ISu vložen. V. Chlup, A. Matoušek, V. Štill, (Z technických důvodů potřebujeme mít v ISu seminární skupinu)
Předpoklady
IB015 Neimperativní programování
Pro zapsání do kursu stačí mít znalost Haskellu 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 36 stud.
Momentální stav registrace a zápisu: zapsáno: 6/36, pouze zareg.: 0/36, pouze zareg. s předností (mateřské obory): 0/36
Mateřské obory/plány
předmět má 68 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í kursu 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.
Výstupy z učení
Student bude po absolvování předmětu schopen:
— napsat pokročilejší Haskellový program o cca 100 až 200 řádcích;
— zadaný problém analyzovat a vhodně funkcionálně dekomponovat;
— používat podpůrné nástroje pro vývoj v Haskellu, jako je správce balíků Cabal, repositář balíků Hackage, linter HLint a testovací framework QuickCheck;
— dokázat popsat teoretické funkcionální koncepty;
— mít představu o některých pokročilejších funkcionálních technikách používaných v praxi.
Osnova
  • Pokročilá syntaxe, systém modulů, vlastní typové třídy, pokročilé datové struktury.
  • Systém balíčků (Hackage/Stackage), podpůrné nástroje (Cabal, HLint, Haddock).
  • Funktory, aplikativní funktory, monády.
  • Automatické generování testů dle specifikace (QuickCheck).
  • Vstup a výstup v Haskellu, zpracování chyb a výjimek (Maybe, Either, výjimky, chybové stavy).
  • Pologrupy, monoidy, třídy Foldable a Traversable.
  • Vyhodnocovací strategie (lenost vs. striktnost).
  • Pokročilé techniky procházení datových struktur (Zippers, Lens).
  • Monadické parsování (Parsec).
  • Monády pro sdílený zápis, čtení a udržování stavu (Writer, Reader, State).
  • Transformátory monád (MaybeT, ErrorT).
  • Práce s řetězci a další užitečná rozšíření v GHC.
  • Využití Haskellu v praxi.
Literatura
  • LIPOVAČA, Miran. Learn You a Haskell for Great Good!: A Beginner's Guide. First Edition. San Francisco, CA, USA: No Starch Press, 2011, 400 s. ISBN 978-1-59327-283-8. URL info
  • 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
Cvičení kombinující výklad a samostatné programování; domácí úlohy.
Metody hodnocení
Podmínkou pro získání zápočtu je získání dostatečného množství 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/jaro2020/IB016/index.qwarp
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 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2022, jaro 2023, jaro 2024.

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

Fakulta informatiky
jaro 2020
Rozsah
1/1/0. 2 kr. (plus ukončení). Ukončení: z.
Vyučující
Mgr. Vladimír Chlup (přednášející)
Mgr. Martin Kurečka (přednášející)
Mgr. Adam Matoušek (přednášející)
RNDr. Vladimír Štill, Ph.D. (přednášející)
Mgr. Henrieta Micheľová (pomocník)
Garance
RNDr. Vladimír Štill, Ph.D.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh seminárních/paralelních skupin
IB016/01: Po 17. 2. až Pá 15. 5. St 10:00–11:50 B130, V. Chlup, M. Kurečka, A. Matoušek, V. Štill
IB016/02: Po 17. 2. až Pá 15. 5. Čt 18:00–19:50 B130, V. Chlup, M. Kurečka, A. Matoušek, V. Štill
Předpoklady
IB015 Neimperativní programování
Pro zapsání do kursu stačí mít znalost Haskellu 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 36 stud.
Momentální stav registrace a zápisu: zapsáno: 2/36, pouze zareg.: 0/36, pouze zareg. s předností (mateřské obory): 0/36
Mateřské obory/plány
předmět má 68 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í kursu 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.
Výstupy z učení
Student bude po absolvování předmětu schopen:
— napsat pokročilejší Haskellový program o cca 100 až 200 řádcích;
— zadaný problém analyzovat a vhodně funkcionálně dekomponovat;
— používat podpůrné nástroje pro vývoj v Haskellu, jako je správce balíků Cabal, repositář balíků Hackage, linter HLint a testovací framework QuickCheck;
— dokázat popsat teoretické funkcionální koncepty;
— mít představu o některých pokročilejších funkcionálních technikách používaných v praxi.
Osnova
  • Pokročilá syntaxe, systém modulů, vlastní typové třídy, pokročilé datové struktury.
  • Systém balíčků (Hackage/Stackage), podpůrné nástroje (Cabal, HLint, Haddock).
  • Funktory, aplikativní funktory, monády.
  • Automatické generování testů dle specifikace (QuickCheck).
  • Vstup a výstup v Haskellu, zpracování chyb a výjimek (Maybe, Either, výjimky, chybové stavy).
  • Pologrupy, monoidy, třídy Foldable a Traversable.
  • Vyhodnocovací strategie (lenost vs. striktnost).
  • Pokročilé techniky procházení datových struktur (Zippers, Lens).
  • Monadické parsování (Parsec).
  • Monády pro sdílený zápis, čtení a udržování stavu (Writer, Reader, State).
  • Transformátory monád (MaybeT, ErrorT).
  • Práce s řetězci a další užitečná rozšíření v GHC.
  • Využití Haskellu v praxi.
Literatura
  • LIPOVAČA, Miran. Learn You a Haskell for Great Good!: A Beginner's Guide. First Edition. San Francisco, CA, USA: No Starch Press, 2011, 400 s. ISBN 978-1-59327-283-8. URL info
  • 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
Cvičení kombinující výklad a samostatné programování; domácí úlohy.
Metody hodnocení
Podmínkou pro získání zápočtu je získání dostatečného množství 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/jaro2020/IB016/index.qwarp
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 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2021, jaro 2022, jaro 2023, jaro 2024.

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

Fakulta informatiky
jaro 2019
Rozsah
0/2. 2 kr. (plus ukončení). Ukončení: z.
Vyučující
Mgr. Adam Matoušek (přednášející)
Mgr. Henrieta Micheľová (přednášející)
RNDr. Vladimír Štill, Ph.D. (přednášející)
RNDr. Martin Ukrop, Ph.D. (přednášející)
Bc. et Bc. Martin Zahradníček (pomocník)
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
Čt 21. 2. až Čt 16. 5. Čt 18:00–19:50 B130
Předpoklady
IB015 Neimperativní programování
Pro zapsání do kurzu stačí mít znalost Haskellu 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 18 stud.
Momentální stav registrace a zápisu: zapsáno: 0/18, pouze zareg.: 0/18, pouze zareg. s předností (mateřské obory): 0/18
Mateřské obory/plány
předmět má 17 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.
Výstupy z učení
Student bude po absolvování předmětu schopen:
- napsat pokročilejší Haskellový program o cca 100 až 200 řádcích;
- zadaný problém analyzovat a vhodně funkcionálně dekomponovat;
- používat podpůrné nástroje pro vývoj v Haskellu, jako je balíčkovací manažer cabal, repozitář balíků Hackage, linter HLint a testovací framework QuickCheck;
- dokázat popsat teoretické funkcionální koncepty;
- mít představu o některých pokročilejších funkcionálních technikách používaných v praxi.
Osnova
  • Pokročilá syntaxe, systém modulů, vlastní typové třídy, pokročilé datové struktury.
  • Systém balíčků (Hackage/Stackage), podpůrné nástroje (cabal, HLint, Haddock).
  • Funktory, aplikativní funktory, monády.
  • Automatické generování testů dle specifikace (QuickCheck).
  • Vstup a výstup v Haskellu, zpracování chyb a výjimek (Maybe, Either, výjimky, chybové stavy).
  • Monoidy, zpracování argumentů příkazové řádky.
  • Vyhodnocovací strategie (lenost vs. striktnost).
  • Kontextové procházení datových struktur (Zippers, Lens).
  • Monadické parsování (Parsec).
  • Monády pro sdílený zápis, čtení a udržování stavu (Writer, Reader, State).
  • Transformátory monád (MaybeT, ErrorT).
  • Práce s řetězci a další užitečná rozšíření v GHC.
  • Využití Haskellu v praxi.
Literatura
  • LIPOVAČA, Miran. Learn You a Haskell for Great Good!: A Beginner's Guide. First Edition. San Francisco, CA, USA: No Starch Press, 2011, 400 s. ISBN 978-1-59327-283-8. URL info
  • 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 (implemetace + peer-review).
Metody hodnocení
Podmínkou pro získání zápočtu je získání dostatečného množství 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/jaro2019/IB016/index.qwarp
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 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024.

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

Fakulta informatiky
jaro 2018
Rozsah
0/2. 2 kr. (plus ukončení). Ukončení: z.
Vyučující
RNDr. Vladimír Štill, Ph.D. (přednášející)
RNDr. Martin Ukrop, Ph.D. (přednášející)
Mgr. Adam Matoušek (pomocník)
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
Čt 10:00–11:50 B130
Předpoklady
IB015 Neimperativní programování
Pro zapsání do kurzu stačí mít znalost Haskellu 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 30 stud.
Momentální stav registrace a zápisu: zapsáno: 0/30, pouze zareg.: 0/30, pouze zareg. s předností (mateřské obory): 0/30
Mateřské obory/plány
předmět má 17 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.
Výstupy z učení
Student bude po absolvování předmětu schopen:
- napsat pokročilejší Haskellový program o cca 100 až 200 řádcích;
- zadaný problém analyzovat a vhodně funkcionálně dekomponovat;
- používat podpůrné nástroje pro vývoj v Haskellu, jako je balíčkovací manažer cabal, repozitář balíků Hackage, linter HLint a testovací framework QuickCheck;
- dokázat popsat teoretické funkcionální koncepty;
- mít představu o některých pokročilejších funkcionálních technikách používaných v praxi.
Osnova
  • Pokročilá syntaxe, systém modulů, vlastní typové třídy, pokročilé datové struktury.
  • Systém balíčků (Hackage/Stackage), podpůrné nástroje (cabal, HLint, Haddock).
  • Funktory, aplikativní funktory, monády.
  • Automatické generování testů dle specifikace (QuickCheck).
  • Vstup a výstup v Haskellu, zpracování chyb a výjimek (Maybe, Either, výjimky, chybové stavy).
  • Monoidy, zpracování argumentů příkazové řádky.
  • Vyhodnocovací strategie (lenost vs. striktnost).
  • Kontextové procházení datových struktur (Zippers, Lens).
  • Monadické parsování (Parsec).
  • Monády pro sdílený zápis, čtení a udržování stavu (Writer, Reader, State).
  • Transformátory monád (MaybeT, ErrorT).
  • Práce s řetězci a další užitečná rozšíření v GHC.
  • Využití Haskellu v praxi.
Literatura
  • LIPOVAČA, Miran. Learn You a Haskell for Great Good!: A Beginner's Guide. First Edition. San Francisco, CA, USA: No Starch Press, 2011, 400 s. ISBN 978-1-59327-283-8. URL info
  • 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í čtyř domácích úloh týkajících se probírané látky (implemetace + peer-review).
Metody hodnocení
Podmínkou pro získání zápočtu je získání dostatečného množství 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/jaro2018/IB016/index.qwarp
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 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2015, jaro 2016, jaro 2017, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024.

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

Fakulta informatiky
jaro 2017
Rozsah
0/2. 2 kr. (plus ukončení). Ukončení: z.
Vyučující
RNDr. Vladimír Štill, Ph.D. (přednášející)
RNDr. Martin Ukrop, Ph.D. (přednášejí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
St 14:00–15:50 B130
Předpoklady
IB015 Neimperativní programování
Pro zapsání do kurzu stačí mít znalost Haskellu 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 30 stud.
Momentální stav registrace a zápisu: zapsáno: 0/30, pouze zareg.: 0/30, pouze zareg. s předností (mateřské obory): 0/30
Mateřské obory/plány
předmět má 17 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), 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.
  • Zajímavá syntaktická rozšíření v GHC
Literatura
  • LIPOVAČA, Miran. Learn You a Haskell for Great Good!: A Beginner's Guide. First Edition. San Francisco, CA, USA: No Starch Press, 2011, 400 s. ISBN 978-1-59327-283-8. URL info
  • 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 nepovinná, ale důrazně doporučená.
Navazující předměty
Informace učitele
https://is.muni.cz/auth/el/1433/jaro2017/IB016/index.qwarp
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 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2015, jaro 2016, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024.

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

Fakulta informatiky
jaro 2016
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: Po 16:00–17:50 A219, V. Štill, M. Ukrop
IB016/02: Čt 14:00–15:50 A219, V. Štill, M. Ukrop
Předpoklady
IB015 Neimperativní programování
Pro zapsání do kurzu stačí mít znalost Haskellu 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
předmět má 17 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), 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.
  • Zajímavá syntaktická rozšíření v GHC
Literatura
  • LIPOVAČA, Miran. Learn You a Haskell for Great Good!: A Beginner's Guide. First Edition. San Francisco, CA, USA: No Starch Press, 2011, 400 s. ISBN 978-1-59327-283-8. URL info
  • 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 nepovinná, ale důrazně doporučená.
Navazující předměty
Informace učitele
https://is.muni.cz/auth/el/1433/jaro2016/IB016/index.qwarp
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 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2015, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024.

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

Fakulta informatiky
jaro 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
předmět má 17 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), 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
  • 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 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ě.
Předmět je zařazen také v obdobích jaro 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024.

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

Fakulta informatiky
jaro 2013
Rozsah
0/2. 2 kr. (plus ukončení). Ukončení: z.
Vyučující
RNDr. Libor Škarvada (cvičící)
Mgr. Matej Kollár (cvičící)
Mgr. Petr Pilař (cvičící)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
Čt 18:00–19:50 B130
Předpoklady
IB015 Úvod do funkc. 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.
Mateřské obory/plány
předmět má 17 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), 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 a typové třídy: důležité moduly v Haskellu 98, jejich import, psaní vlastních modulů. Typové třídy Show, Read, číselné typové třídy a další.
  • 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 VV v Haskellu.
  • Monády: funktory, programování s monádami.
  • 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, pokrytí kódu, profilování, koncová rekurze, přidávání striktnosti, dokumentované programování a generování dokumentace.
  • Parsování: regulární výrazy, generátor parserů 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/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
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 2010, jaro 2011, jaro 2012, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024.

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

Fakulta informatiky
jaro 2012
Rozsah
0/2. 2 kr. (plus ukončení). Ukončení: z.
Vyučující
RNDr. Libor Škarvada (cvičící)
Mgr. Matej Kollár (cvičící)
Mgr. Petr Pilař (cvičící)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh seminárních/paralelních skupin
IB016/01: Út 18:00–19:50 B130, M. Kollár
IB016/02: Út 14:00–15:50 B130, P. Pilař
Předpoklady
IB015 Úvod do funkc. 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.
Mateřské obory/plány
předmět má 17 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), 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 a typové třídy: důležité moduly v Haskellu 98, jejich import, psaní vlastních modulů. Typové třídy Show, Read, číselné typové třídy a další.
  • 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 VV v Haskellu.
  • Monády: funktory, programování s monádami.
  • 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, pokrytí kódu, profilování, koncová rekurze, přidávání striktnosti, dokumentované programování a generování dokumentace.
  • Parsování: regulární výrazy, generátor parserů 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/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
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 2010, jaro 2011, jaro 2013, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024.

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

Fakulta informatiky
jaro 2011
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í)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh seminárních/paralelních skupin
IB016/01: Út 16:00–17:50 B130, P. Mises
IB016/02: Pá 10:00–11:50 B130, P. Mises
Předpoklady
IB015 Úvod do funkc. 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.
Mateřské obory/plány
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), 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 a typové třídy: důležité moduly v Haskellu 98, jejich import, psaní vlastních modulů. Typové třídy Show, Read, číselné typové třídy a další.
  • 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 VV v Haskellu.
  • Monády: funktory, programování s monádami.
  • 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, pokrytí kódu, profilování, koncová rekurze, přidávání striktnosti, dokumentované programování a generování dokumentace.
  • Parsování: regulární výrazy, generátor parserů 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/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 2010, jaro 2012, jaro 2013, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024.

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/plány
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, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024.

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

Fakulta informatiky
jaro 2014

Předmět se v období jaro 2014 nevypisuje.

Rozsah
0/2. 2 kr. (plus ukončení). Ukončení: z.
Vyučující
RNDr. Libor Škarvada (cvičící)
Mgr. Matej Kollár (cvičící)
Mgr. Petr Pilař (cvičící)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
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.
Mateřské obory/plány
předmět má 17 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), 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 a typové třídy: důležité moduly v Haskellu 98, jejich import, psaní vlastních modulů. Typové třídy Show, Read, číselné typové třídy a další.
  • 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 VV v Haskellu.
  • Monády: funktory, programování s monádami.
  • 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, pokrytí kódu, profilování, koncová rekurze, přidávání striktnosti, dokumentované programování a generování dokumentace.
  • Parsování: regulární výrazy, generátor parserů 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/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
Další komentáře
Předmět je vyučován každoročně.
Výuka probíhá každý týden.
Předmět je zařazen také v obdobích jaro 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024.