FI:IB015 Neimperativní programování - Informace o předmětu
IB015 Neimperativní programování
Fakulta informatikypodzim 2020
- Rozsah
- 2/1/1. 4 kr. (plus ukončení). Ukončení: zk.
- Vyučující
- prof. RNDr. Jiří Barnat, Ph.D. (přednášející)
Mgr. Jakub Balabán (cvičící)
RNDr. Mgr. Jaroslav Bayer (cvičící)
Mgr. Libor Caha, PhD. (cvičící)
Mgr. Adam Fiedler (cvičící)
Bc. Matej Focko (cvičící)
Mgr. et Mgr. Vladimír Chlup (cvičící)
Mgr. Matúš Kropuch (cvičící)
Mgr. Daniela Krúželová (cvičící)
Mgr. Adam Matoušek (cvičící)
Mgr. Henrieta Micheľová (cvičící)
RNDr. Jan Mrázek (cvičící)
Mgr. David Pavlík (cvičící)
Mgr. Anna Řechtáčková (cvičící)
Mgr. Tomáš Szaniszlo (cvičící)
Bc. Jakub Šárník (cvičící)
RNDr. Vladimír Štill, Ph.D. (cvičící)
Bc. Dávid Šutor (cvičící)
RNDr. Martin Jonáš, Ph.D. (pomocník)
Mgr. Juraj Major (pomocník)
Hana Válková (pomocník) - 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
- Út 12:00–13:50 Virtuální místnost
- Rozvrh seminárních/paralelních skupin:
IB015/01FP: každou lichou středu 8:00–9:50 B130, V. Chlup, A. Matoušek
IB015/02: každou sudou středu 8:00–9:50 B130, V. Chlup, A. Matoušek
IB015/02FP: každou sudou středu 8:00–9:50 B130, V. Chlup, A. Matoušek
IB015/03: každý lichý čtvrtek 18:00–19:50 B130, A. Fiedler, H. Micheľová
IB015/03FP: každý lichý čtvrtek 18:00–19:50 B130, A. Fiedler, H. Micheľová
IB015/04: každý sudý čtvrtek 18:00–19:50 B130, A. Fiedler, H. Micheľová
IB015/04FP: každý sudý čtvrtek 18:00–19:50 B130, A. Fiedler, H. Micheľová
IB015/05: každý sudý pátek 8:00–9:50 B130, A. Řechtáčková, V. Štill
IB015/05FP: každý sudý pátek 8:00–9:50 B130, A. Řechtáčková, V. Štill
IB015/06: každou sudou středu 12:00–13:50 Virtuální místnost, J. Mrázek, D. Šutor
IB015/06FP: každou sudou středu 12:00–13:50 Virtuální místnost, J. Mrázek, D. Šutor
IB015/07: každé liché úterý 8:00–9:50 B130, M. Focko, V. Štill
IB015/07FP: každé liché úterý 8:00–9:50 B130, M. Focko, V. Štill
IB015/08: každé sudé úterý 8:00–9:50 B130, M. Focko, V. Štill
IB015/08FP: každé sudé úterý 8:00–9:50 B130, M. Focko, V. Štill
IB015/09: každý lichý pátek 8:00–9:50 B130, A. Řechtáčková, V. Štill
IB015/09FP: každý lichý pátek 8:00–9:50 B130, A. Řechtáčková, V. Štill
IB015/10: každé sudé pondělí 12:00–13:50 Virtuální místnost, D. Pavlík, T. Szaniszlo
IB015/10FP: každé sudé pondělí 12:00–13:50 Virtuální místnost, D. Pavlík, T. Szaniszlo
IB015/11: každý lichý čtvrtek 16:00–17:50 B130, H. Micheľová, J. Mrázek
IB015/11FP: každý lichý čtvrtek 16:00–17:50 B130, H. Micheľová, J. Mrázek
IB015/12: každý sudý čtvrtek 16:00–17:50 B130, H. Micheľová, J. Mrázek
IB015/12FP: každý sudý čtvrtek 16:00–17:50 B130, H. Micheľová, J. Mrázek
IB015/13: každé liché úterý 10:00–11:50 Virtuální místnost, J. Balabán, A. Matoušek
IB015/13FP: každé liché úterý 10:00–11:50 Virtuální místnost, J. Balabán, A. Matoušek
IB015/14: každé sudé úterý 10:00–11:50 Virtuální místnost, J. Balabán, A. Matoušek
IB015/14FP: každé sudé úterý 10:00–11:50 Virtuální místnost, J. Balabán, A. Matoušek
IB015/15: každý lichý čtvrtek 8:00–9:50 B130, J. Bayer, D. Krúželová
IB015/15FP: každý lichý čtvrtek 8:00–9:50 B130, J. Bayer, D. Krúželová
IB015/16: každý sudý čtvrtek 8:00–9:50 B130, J. Bayer, D. Krúželová
IB015/16FP: každý sudý čtvrtek 8:00–9:50 B130, J. Bayer, D. Krúželová
IB015/17: každý lichý pátek 10:00–11:50 B130, V. Chlup, J. Šárník
IB015/17FP: každý lichý pátek 10:00–11:50 B130, V. Chlup, J. Šárník
IB015/18A: každý sudý pátek 10:00–11:50 B130, V. Chlup, J. Šárník
IB015/18AFP: každý sudý pátek 10:00–11:50 B130, V. Chlup, J. Šárník
IB015/19B: každé liché pondělí 12:00–13:50 Virtuální místnost, D. Pavlík, T. Szaniszlo
IB015/19BFP: každé liché pondělí 12:00–13:50 Virtuální místnost, D. Pavlík, T. Szaniszlo
IB015/20FP: každou lichou středu 12:00–13:50 Virtuální místnost, J. Mrázek, D. Šutor - 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
- Analýza a zpracování obrazu (program FI, N-VIZ)
- Aplikovaná informatika (program FI, B-AP)
- Bioinformatika a systémová biologie (program FI, N-UIZD)
- Bioinformatika (program FI, B-AP)
- Computer Games Development (program FI, N-VIZ_A)
- Computer Graphics and Visualisation (program FI, N-VIZ_A)
- Computer Networks and Communications (program FI, N-PSKB_A)
- Cybersecurity Management (program FI, N-RSSS_A)
- Formální analýza počítačových systémů (program FI, N-TEI)
- Grafický design (program FI, N-VIZ)
- Graphic Design (program FI, N-VIZ_A)
- Hardware Systems (program FI, N-PSKB_A)
- Hardwarové systémy (program FI, N-PSKB)
- Image Processing and Analysis (program FI, N-VIZ_A)
- Informační bezpečnost (program FI, N-PSKB)
- Informatika a druhý obor (program FI, B-EB)
- Informatika a druhý obor (program FI, B-FY)
- Informatika a druhý obor (program FI, B-IO)
- Informatika a druhý obor (program FI, B-MA)
- Informatika a druhý obor (program FI, B-TV)
- Informatika (program FI, B-INF) (2)
- Informatika ve vzdělávání (program FI, B-IVV) (2)
- Information Security (program FI, N-PSKB_A)
- Kvantové a jiné neklasické výpočetní modely (program FI, N-TEI)
- Matematická informatika (program FI, B-IN)
- Paralelní a distribuované systémy (program FI, B-IN)
- Počítačová grafika a vizualizace (program FI, N-VIZ)
- Počítačová grafika a zpracování obrazu (program FI, B-IN)
- Počítačové sítě a komunikace (program FI, B-IN)
- Počítačové sítě a komunikace (program FI, N-PSKB)
- Počítačové systémy a zpracování dat (program FI, B-IN)
- Principy programovacích jazyků (program FI, N-TEI)
- Programování a vývoj aplikací (program FI, B-PVA)
- Programovatelné technické struktury (program FI, B-IN)
- Programovatelné technické struktury (program FI, N-IN)
- Řízení kyberbezpečnosti (program FI, N-RSSS)
- Řízení vývoje služeb (program FI, N-RSSS)
- Řízení vývoje softwarových systémů (program FI, N-RSSS)
- Services Development Management (program FI, N-RSSS_A)
- Služby - výzkum, řízení a inovace (program FI, N-AP)
- Sociální informatika (program FI, B-AP)
- Software Systems Development Management (program FI, N-RSSS_A)
- Software Systems (program FI, N-PSKB_A)
- Softwarové systémy (program FI, N-PSKB)
- Strojové učení a umělá inteligence (program FI, N-UIZD)
- Učitel informatiky a správce sítě (program FI, N-UCI)
- Učitelství informatiky pro střední školy (program FI, N-UCI) (2)
- Umělá inteligence a zpracování přirozeného jazyka (program FI, B-IN)
- Vývoj počítačových her (program FI, N-VIZ)
- Zpracování a analýza rozsáhlých dat (program FI, N-UIZD)
- Zpracování přirozeného jazyka (program FI, N-UIZD)
- Cíle předmětu
- 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.
- Osnova
- 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
- 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!
- Výukové metody
- Kurs probíhá formou přednášek a samostatné domácí práce, a je doplněn nepovinným cvičením.
- Metody hodnocení
- 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ě.
https://is.muni.cz/auth/el/fi/podzim2020/IB015/index.qwarp. - Nachází se v prerekvizitách jiných předmětů
- Statistika zápisu (podzim 2020, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/podzim2020/IB015