IB015 Neimperativní programování

Fakulta informatiky
podzim 2014
Rozsah
2/2. 4 kr. (plus ukončení). Ukončení: zk.
Vyučující
prof. RNDr. Jiří Barnat, Ph.D. (přednášející)
Mgr. Petr Bauch, Ph.D. (cvičící)
Mgr. Juraj Major (cvičící)
Mgr. Eva Mráková, Ph.D. (cvičící)
Mgr. Tomáš Szaniszlo (cvičící)
Mgr. Martin Škrovina (cvičící)
RNDr. Vladimír Štill, Ph.D. (cvičící)
Mgr. Eva Tesařová (cvičící)
RNDr. Martin Ukrop, Ph.D. (cvičící)
Mgr. Lukáš Másilko (pomocník)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: prof. RNDr. Jiří Barnat, Ph.D.
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
Po 14:00–15:50 D1
  • Rozvrh seminárních/paralelních skupin:
IB015/T01: Po 15. 9. až Pá 19. 12. Po 9:40–11:15 Učebna S9 (55), Út 16. 9. až Pá 19. 12. Út 9:40–11:15 Učebna S9 (55), E. Mráková, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
IB015/T02: Po 22. 9. až Pá 19. 12. St 14:40–16:15 Učebna S4 (35a), M. Škrovina, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
IB015/01: Čt 10:00–11:50 B130, E. Mráková
IB015/02: Pá 12:00–13:50 B130, E. Mráková
IB015/03: Čt 16:00–17:50 B130, V. Štill
IB015/04: St 14:00–15:50 B130, V. Štill
IB015/05: Čt 8:00–9:50 B130, M. Ukrop
IB015/06: Út 8:00–9:50 B130, M. Ukrop
IB015/07: Čt 14:00–15:50 B130, T. Szaniszlo
IB015/08: Čt 12:00–13:50 B130, T. Szaniszlo
IB015/09: St 16:00–17:50 B130, J. Major
IB015/10: Po 18:00–19:50 B130, J. Major
IB015/11: Út 12:00–13:50 B130, E. Tesařová
IB015/12: St 18:00–19:50 B130, P. Bauch
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
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.
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. xx, 500 s. ISBN 0-201-40357-9. 1996. info
Záložky
https://is.muni.cz/ln/tag/FI:IB015!
Výukové metody
Kurs probíhá formou přednášek a je doplněn nepovinným cvičením.
Metody hodnocení
Zkouška je písemná a má dvě části -- v polovině semestru a na jeho konci. Průběžná zkouška má váhu 24 %, závěrečná 76 %. Do závěrečného hodnocení se navíc mohou promítnout i "prémiové body" za domácí úlohy a aktivitu ve cvičení.
Navazující předměty
Informace učitele
http://www.fi.muni.cz/~xbarnat/IB015/
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ů
Předmět je zařazen také v obdobích podzim 2002, podzim 2003, podzim 2004, podzim 2005, podzim 2006, podzim 2007, jaro 2008, podzim 2008, jaro 2009, podzim 2009, jaro 2010, podzim 2010, jaro 2011, podzim 2011, jaro 2012, podzim 2012, podzim 2013, podzim 2015, podzim 2016, podzim 2017, podzim 2018, podzim 2019, podzim 2020, podzim 2021, podzim 2022, podzim 2023.