FI:IB015 Úvod do funkc. programování - Informace o předmětu
IB015 Úvod do funkcionálního programování
Fakulta informatikypodzim 2007
- Rozsah
- 2/1. 3 kr. (plus ukončení). Ukončení: zk.
- Vyučující
- RNDr. Libor Škarvada (přednášející)
Mgr. Jiří Appl (cvičící)
doc. RNDr. Jan Bouda, Ph.D. (cvičící)
RNDr. Václav Brožek, Ph.D. (cvičící)
doc. RNDr. Aleš Horák, Ph.D. (cvičící)
Bc. Tomáš Janoušek (cvičící)
Mgr. Matej Kollár (cvičící)
RNDr. Václav Lorenc (cvičící)
Mgr. Eva Mráková, Ph.D. (cvičící)
RNDr. Petr Ročkai, Ph.D. (cvičící)
RNDr. David Sehnal, Ph.D. (cvičící)
doc. RNDr. David Šafránek, Ph.D. (cvičící)
Mgr. Adam Šiška (cvičící) - Garance
- prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada - Rozvrh
- Po 18:00–19:50 D1, Po 18:00–19:50 D3, Po 18:00–19:50 D2
- Rozvrh seminárních/paralelních skupin:
IB015/02: každé sudé úterý 10:00–11:50 B130, J. Appl
IB015/03: každé liché úterý 12:00–13:50 B130, L. Škarvada
IB015/04: každé sudé úterý 12:00–13:50 B130, A. Horák
IB015/05: každé liché úterý 14:00–15:50 B130, A. Šiška
IB015/06: každé sudé úterý 14:00–15:50 B130, A. Šiška
IB015/07: každé liché úterý 16:00–17:50 B130, D. Šafránek
IB015/08: každé sudé úterý 16:00–17:50 B130, D. Šafránek
IB015/09: každé liché úterý 18:00–19:50 B130, V. Brožek
IB015/10: každé sudé úterý 18:00–19:50 B130, V. Brožek
IB015/11: každou lichou středu 10:00–11:50 B130, P. Ročkai
IB015/12: každou sudou středu 10:00–11:50 B130, P. Ročkai
IB015/13: každou lichou středu 16:00–17:50 B130, V. Brožek
IB015/14: každou sudou středu 16:00–17:50 B130, V. Brožek
IB015/15: každou lichou středu 18:00–19:50 B130, V. Lorenc
IB015/16: každou sudou středu 18:00–19:50 B130, V. Lorenc
IB015/17: každý lichý čtvrtek 8:00–9:50 B130, J. Bouda
IB015/18: každý sudý čtvrtek 8:00–9:50 B130, J. Bouda
IB015/19: každý lichý čtvrtek 10:00–11:50 B130, J. Bouda
IB015/20: každý sudý čtvrtek 10:00–11:50 B130, J. Bouda
IB015/21: každý lichý čtvrtek 12:00–13:50 B130, T. Janoušek
IB015/22: každý sudý čtvrtek 12:00–13:50 B130, T. Janoušek
IB015/23: každý lichý pátek 8:00–9:50 B130, M. Kollár
IB015/24: každý sudý pátek 8:00–9:50 B130, M. Kollár
IB015/25: každý lichý pátek 10:00–11:50 B130, D. Sehnal
IB015/26: každý sudý pátek 10:00–11:50 B130, D. Sehnal
IB015/27: každý lichý pátek 12:00–13:50 B130, D. Sehnal
IB015/28: každý sudý pátek 12:00–13:50 B130, D. Sehnal - 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
- Aplikovaná informatika (program FI, B-AP)
- Bioinformatika (program FI, B-AP)
- Informatika a druhý obor (program FI, B-BI)
- Informatika a druhý obor (program FI, B-FY)
- Informatika a druhý obor (program FI, B-GE)
- Informatika a druhý obor (program FI, B-GK)
- Informatika a druhý obor (program FI, B-CH)
- Informatika a druhý obor (program FI, B-IO)
- Informatika a druhý obor (program FI, B-MA)
- Informatika a druhý obor (program FI, B-SO)
- Informatika a druhý obor (program FI, B-TV)
- Informatika (program FI, B-IN)
- Matematická informatika (program FI, B-IN)
- Paralelní a distribuované systémy (program FI, B-IN)
- 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é systémy a zpracování dat (program FI, B-IN)
- Programovatelné technické struktury (program FI, B-IN)
- Umělá inteligence a zpracování přirozeného jazyka (program FI, B-IN)
- 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, jež využijí při pozdější tvorbě větších programových celků i v imperativních jazycích. Přednáška je doplněna řadou příkladů, které si lze prakticky vyzkoušet na nepovinných cvičeních.
- Osnova
- Základní pojmy: term, hodnota, redukce.
- Definice funkcí pomocí rekursivního volání a pomocí výrazů s kombinátory.
- 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, 1996, xx, 500 s. ISBN 0-201-40357-9. info
- Záložky
- https://is.muni.cz/ln/tag/FI:IB015!
- Metody hodnocení
- Kurs probíhá formou přednášek a je doplněn nepovinným cvičením. Je ukončen písemnou zkouškou.
- Navazující předměty
- Informace učitele
- http://www.fi.muni.cz/~libor/vyuka/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ů
- Statistika zápisu (podzim 2007, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/podzim2007/IB015