FI:IB015 Neimperativní programování - Informace o předmětu
IB015 Neimperativní programování
Fakulta informatikypodzim 2026
- Rozsah
- 2/1/1. 4 kr. (plus ukončení). Ukončení: zk.
Vyučováno kontaktně - Vyučující
- prof. RNDr. Jiří Barnat, Ph.D. (přednášející)
Bc. Klára Barnatová (cvičící)
RNDr. Jakub Gajarský, Ph.D. (cvičící)
Adam Hrnčárek (cvičící)
RNDr. Martin Jonáš, Ph.D. (cvičící)
Bc. Ján Kapko (cvičící)
Michal Křipač (cvičící)
RNDr. Vít Musil, Ph.D. (cvičící)
Karel Pýcha (cvičící)
Mgr. Jindřich Sedláček (cvičící)
Bc. Tereza Siková (cvičící)
Mgr. Dávid Šutor (cvičící)
Bc. Pavol Trnavský (cvičící)
Bc. et Bc. Andrea Večerková (cvičící) - Garance
- prof. RNDr. Jiří Barnat, Ph.D.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: prof. RNDr. Jiří Barnat, Ph.D.
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky - Rozvrh
- St 16. 9. až St 9. 12. St 8:00–9:50 Velký sál kina ART, St 10:00–11:50 Velký sál kina ART
- Rozvrh seminárních/paralelních skupin:
IB015/02: Út 29. 9. až Út 8. 12. každé sudé úterý 8:00–9:50 C122, K. Barnatová
IB015/03: Čt 24. 9. až Čt 17. 12. každý lichý čtvrtek 8:00–9:50 C122, J. Gajarský
IB015/04: Čt 1. 10. až Čt 10. 12. každý sudý čtvrtek 8:00–9:50 C122, J. Gajarský
IB015/05: Čt 24. 9. až Čt 17. 12. každý lichý čtvrtek 10:00–11:50 C122, J. Gajarský
IB015/06: Čt 1. 10. až Čt 10. 12. každý sudý čtvrtek 10:00–11:50 C122, J. Gajarský
IB015/07: Čt 24. 9. až Čt 17. 12. každý lichý čtvrtek 14:00–15:50 C121, M. Jonáš
IB015/08: Čt 1. 10. až Čt 10. 12. každý sudý čtvrtek 14:00–15:50 C121, M. Jonáš
IB015/09: Po 21. 9. až Po 14. 12. každé liché pondělí 14:00–15:50 C122, J. Kapko
IB015/10: Po 12. 10. až Po 7. 12. každé sudé pondělí 14:00–15:50 C122, J. Kapko
IB015/11: Po 21. 9. až Po 14. 12. každé liché pondělí 16:00–17:50 S405, V. Musil
IB015/12: Po 12. 10. až Po 7. 12. každé sudé pondělí 16:00–17:50 S405, V. Musil
IB015/13: Pá 25. 9. až Pá 18. 12. každý lichý pátek 8:00–9:50 S405, K. Pýcha
IB015/14: Pá 2. 10. až Pá 11. 12. každý sudý pátek 8:00–9:50 S405, K. Pýcha
IB015/15: Po 21. 9. až Po 14. 12. každé liché pondělí 18:00–19:50 C121, J. Sedláček
IB015/16: Po 12. 10. až Po 7. 12. každé sudé pondělí 18:00–19:50 C121, J. Sedláček
IB015/17: Čt 24. 9. až Čt 17. 12. každý lichý čtvrtek 10:00–11:50 S405, T. Siková
IB015/18: Čt 1. 10. až Čt 10. 12. každý sudý čtvrtek 10:00–11:50 S405, T. Siková
IB015/19: Út 22. 9. až Út 15. 12. každé liché úterý 18:00–19:50 C122, D. Šutor
IB015/20: Út 29. 9. až Út 8. 12. každé sudé úterý 18:00–19:50 C122, D. Šutor
IB015/21: Po 21. 9. až Po 14. 12. každé liché pondělí 12:00–13:50 S405, P. Trnavský
IB015/22: Po 12. 10. až Po 7. 12. každé sudé pondělí 12:00–13:50 S405, P. Trnavský
IB015/23: Čt 24. 9. až Čt 17. 12. každý lichý čtvrtek 18:00–19:50 C121, A. Večerková
IB015/24: Čt 1. 10. až Čt 10. 12. každý sudý čtvrtek 18:00–19:50 C121, A. Večerková
IB015/25: Po 21. 9. až Po 14. 12. každé liché pondělí 12:00–13:50 C121, A. Hrnčárek
IB015/26: Po 12. 10. až Po 7. 12. každé sudé pondělí 12:00–13:50 C121, A. Hrnčárek
IB015/27: Čt 24. 9. až Čt 17. 12. každý lichý čtvrtek 8:00–9:50 C121, M. Křipač
IB015/28: Čt 1. 10. až Čt 10. 12. každý sudý čtvrtek 8:00–9:50 C121, M. Křipač
IB015/29: Po 21. 9. až Po 14. 12. každé liché pondělí 18:00–19:50 C122, M. Jonáš, rezervní skupina
IB015/30: Po 12. 10. až Po 7. 12. každé sudé pondělí 18:00–19:50 C122, M. Jonáš, rezervní skupina - Předpoklady
- Studenti by měli vystačit s běžnými středoškolskými znalostmi a jistou schopností matematické abstrakce.
- 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á 36 mateřských oborů, zobrazit
- Anotace
- Kurz seznamuje posluchače s funkcionálním a logickým programovacím paradigmatem. Programovací jazyky vynucující deklarativní způsob popisu algoritmu mají přivést studenty ke správným návykům, jichž využijí při pozdější tvorbě větších programových celků a to i v imperativních jazycích.
- Výstupy z učení
- Student bude po absolvování předmětu: - chápat principy funkcionálního výpočetního paradigmatu, - schopen dekomponovat výpočetní problém na jednotlivé funkce a tuto schopnost používat při vytváření vlastních kódů i v imperativních programovacích jazycích, - mít základní znalost programovacího jazyka Haskell, - schopen navrhovat a implementovat jednoduché rekurzivní funkce, - použít rekurzivně definované datové struktury.
- Klíčová témata
- Funkcionální výpočetní paradigma a Haskell
- Programování a funkce;
- Seznamy, Typy, Rekurze
- Funkce vyšších řádů, Lambda funkce
- Akumulační funkce, Definice typů, Vstup/Výstup
- Redukční strategie, Nekonečné seznamy
- Vztah rekurze a indukce, Rekurzivní datové typy
- Časová složitost výpočtu, Typové třídy, Moduly
- Ukázky funkcionálně řešených problémů
- Logické výpočetní paradigma a Prolog
- Neimperativní programování v Prologu
- Seznamy, Aritmetika, Tail rekurze v Prologu
- Řezy, vstup-výstup, všechna řešení
- Programování s omezujícími podmínkami
- Studijní zdroje a literatura
- THOMPSON, Simon. Haskell :the craft of functional programming. Harlow: Addison-Wesley, 1996, xx, 500 s. ISBN 0-201-40357-9. info
- 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
- BLACKBURN, Patrick a Johan BOS. Learn Prolog Now! London: College Publications, 2016. Texts in Computing, volume 7. ISBN 1-904987-17-6. URL info
- Záložky
- https://is.muni.cz/ln/tag/FI:IB015!
- Přístupy, postupy a metody používané ve výuce
- Kurs probíhá formou přednášek a samostatné domácí práce, a je doplněn nepovinným cvičením.
- Způsob ověření výstupů z učení a požadavky na ukončení
- Zkouška je písemná a má dvě části, povinnou a nepovinnou. Do závěrečného hodnocení se navíc mohou promítnout i body za domácí úlohy a aktivitu ve cvičení. Pro úspěšné absolvování je třeba uspět u povinné části zkoušky a získat minimální stanovený počet bodů za domácí úlohy.
- Navazující předměty
- Další komentáře
- Studijní materiály
Předmět je vyučován každoročně. - Nachází se v prerekvizitách jiných předmětů
- Statistika zápisu (nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/podzim2026/IB015