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

Fakulta informatiky
podzim 1998
Rozsah
2/0. 2 kr. Doporučované ukončení: zk. Jiná možná ukončení: k, 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
Klíčová témata
    • 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 letletrec.
    • 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.
Odkaz a informace vyučujících

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

Další komentáře
Předmět je vyučován každoročně.
Výuka probíhá každý týden.
Předmět je zařazen také v obdobích zima 1995, zima 1996, zima 1997, podzim 1999, podzim 2000, podzim 2001.