IB015 Úvod do funkcionálního programování

Fakulta informatiky
jaro 2011
Rozsah
2/1. 3 kr. (plus ukončení). Ukončení: zk.
Vyučující
prof. RNDr. Jiří Barnat, Ph.D. (přednášející)
Mgr. Marek Klučár (cvičící)
Mgr. Matej Kollár (cvičící)
Mgr. Tomáš Szaniszlo (cvičící)
doc. RNDr. David Šafránek, Ph.D. (cvičící)
Mgr. Adam Šiška (cvičící)
Mgr. Tomáš Zábojník (cvičící)
Mgr. et Mgr. Tomáš Sklenák (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.
Rozvrh
Čt 10:00–11:50 D1
  • Rozvrh seminárních/paralelních skupin:
IB015/01: každý sudý čtvrtek 14:00–15:50 B130, D. Šafránek
IB015/02: každý lichý čtvrtek 14:00–15:50 B130, D. Šafránek
IB015/03: každé sudé úterý 16:00–17:50 B311, A. Šiška
IB015/04: každé liché úterý 16:00–17:50 B311, A. Šiška
IB015/05: každé sudé úterý 18:00–19:50 B130, T. Szaniszlo
IB015/06: každé liché úterý 18:00–19:50 B130, T. Szaniszlo
IB015/07: každé sudé úterý 8:00–9:50 B130, T. Zábojník
IB015/08: každé liché úterý 8:00–9:50 B130, T. Zábojník
IB015/09: každé sudé pondělí 10:00–11:50 B130, M. Klučár
IB015/10: každé liché pondělí 10:00–11:50 B130, M. Klučár
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á 17 mateřských oborů, zobrazit
Cíle předmětu
Kurs seznamuje posluchače s funkcionálním programovacím paradigmatem. Prostředí vynucující čistý zápis programů bez vedlejších efektů má mimo jiné přivést studenty k návykům, jichž využijí při pozdější tvorbě větších programových celků i v imperativních jazycích.
Osnova
  • Základní pojmy: term, hodnota, redukce.
  • Lambda abstrakce.
  • Vyšší funkce, částečná aplikace, curryifikace.
  • Jednoduché typy: základní typy a typové konstruktory, součinové typy.
  • Polymorfní typy, otypování.
  • Definice nových typových konstruktorů, součtové typy, rekursivní typy; definice podle vzoru.
  • Seznamy, výčtový a intensionální zápis seznamů.
  • Pořadí vyhodnocování, striktní a líné vyhodnocování.
  • Nekonečné datové struktury.
  • Rekursivní funkce, operace na seznamech a stromech, složitost.
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 povinný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 32 %, závěrečná 68 %. Do závěrečného hodnocení se navíc mohou promítnout i "prémiové body" ze cvičení a domácích úloh.
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ždý semestr.
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, podzim 2011, jaro 2012, podzim 2012, podzim 2013, podzim 2014, podzim 2015, podzim 2016, podzim 2017, podzim 2018, podzim 2019, podzim 2020, podzim 2021, podzim 2022, podzim 2023.