IB016 Seminář z funkcionálního programování
Fakulta informatikyjaro 2025
- Rozsah
- 1/1/0. 2 kr. (plus ukončení). Ukončení: z.
Vyučováno kontaktně - 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 - 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: 0/45, pouze zareg.: 0/45, pouze zareg. s předností (mateřské obory): 0/45 - Mateřské obory/plány
- předmět má 40 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
- Předmět je vyučován každoročně.
Výuka probíhá každý týden.
IB016 Seminář z funkcionálního programování
Fakulta informatikyjaro 2024
- Rozsah
- 1/1/0. 2 kr. (plus ukončení). Ukončení: z.
- 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: 33/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ě.
IB016 Seminář z funkcionálního programování
Fakulta informatikyjaro 2023
- Rozsah
- 1/1/0. 2 kr. (plus ukončení). Ukončení: z.
- 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: 25/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ě.
IB016 Seminář z funkcionálního programování
Fakulta informatikyjaro 2022
- Rozsah
- 1/1/0. 2 kr. (plus ukončení). Ukončení: z.
- Vyučující
- Mgr. et 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. 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: 14/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ě.
IB016 Seminář z funkcionálního programování
Fakulta informatikyjaro 2021
- Rozsah
- 0/2/0. 2 kr. (plus ukončení). Ukončení: z.
- Vyučující
- Mgr. et 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:
- 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ě.
IB016 Seminář z funkcionálního programování
Fakulta informatikyjaro 2020
- Rozsah
- 1/1/0. 2 kr. (plus ukončení). Ukončení: z.
- Vyučující
- Mgr. et 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ě.
IB016 Seminář z funkcionálního programování
Fakulta informatikyjaro 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, MSc (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ě.
IB016 Seminář z funkcionálního programování
Fakulta informatikyjaro 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ě.
IB016 Seminář z funkcionálního programování
Fakulta informatikyjaro 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ě.
IB016 Seminář z funkcionálního programování
Fakulta informatikyjaro 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ě.
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
- 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
- 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ě.
IB016 Seminář z funkcionálního programování
Fakulta informatikyjaro 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
- 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ě.
IB016 Seminář z funkcionálního programování
Fakulta informatikyjaro 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
- 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ě.
IB016 Seminář z funkcionálního programování
Fakulta informatikyjaro 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
- 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ě.
IB016 Seminář z funkcionálního programování
Fakulta informatikyjaro 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
- 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ě.
IB016 Seminář z funkcionálního programování
Fakulta informatikyjaro 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
- 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.
- Statistika zápisu (jaro 2025, nejnovější)