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
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 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.
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

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.