FI:I015 Úvod do funkc. progr. - Informace o předmětu
I015 Úvod do funkcionálního programování
Fakulta informatikyzima 1996
- Rozsah
- 0/2. 2 kr. Doporučované ukončení: k. Jiná možná ukončení: z.
- Vyučující
- RNDr. Libor Škarvada (přednášející)
- Garance
- Kontaktní osoba: RNDr. Libor Škarvada
- 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
- Informatika (program FI, B-IN)
- Informatika (program FI, M-IN)
- Učitelství výpočetní techniky pro střední školy (program FI, M-IN)
- Učitelství výpočetní techniky pro střední školy (program FI, M-SS)
- Výpočetní technika (program FI, B-IN)
- Osnova
- Kurs podává úvodní informace o funkcionálním programování. Po jeho absolvování by posluchači měli být schopni psát jednoduché programy v čistě funkcionálním stylu.
- Základní pojmy: term, hodnota, redukce.
- Pořadí vyhodnocování, striktní a líné vyhodnocování.
- Lambda abstrakce a výrazy s let a letrec.
- Vyšší funkce, částečná aplikace, currifikace.
- 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ů.
- Nekonečné seznamy a stromy.
- Rekursivní funkce, operace na seznamech a stromech, složitost.
- Moduly, abstraktní datové typy.
- Informace učitele
Termín
Přednáška probíhá v zimním semestru.
Letos (1998 zima) je vždy v pondělí a v úterý od 18 hodin v posluchárně D1.Náplň
Kurs podává úvodní informace o funkcionálním programování. Kromě výkladu teorie budeme řešit jednoduché úlohy a psát malé programy v čistě funkcionálním jazyce s líným vyhodnocováním. Doporučuji také samostatně řešit domácí úlohy, které jsou průběžně zadávány na přednáškách.
Jsou také k disposici zápisky z přednášek (ve formátech PS, PDF, DVI). Tyto zápisky také prodává levně (za cenu kopírování) knihkupec Pavel Mareček. Dále je možno si vyzkoušet některé příklady funkcionálních programů v Haskellu.
Pro experimentování s vlastními programy je na fakultních strojích instalován Hugs, interpret Haskellu.Podmínky absolvování kursu
Nutnou podmínkou ukončení kursu je úspěšné zvládnutí závěrečného testu.
Ukázky testů ze dvou minulých semestrů: 1996zima, 1997zima.Užitečné a zajímavé odkazy
- FAQ -- Často se vyskytující otázky o funkcionálním programování a funkcionálních jazycích
- článek Johna Hughese Why functional programming matters
- Ukázky aplikačních programů napsaných ve funkcionálních jazycích
- Co se dělá ve světě, třeba v Nottinghamu, v Glasgowě, v Yale, v Chalmers...
- Funkcionální jazyky ve výuce
- domovská stránka jazyka Haskell
- dokument A Gentle Introduction to Haskell
- Statistika zápisu (zima 1996, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/zima1996/I015