Detail předmětu
Funkcionální a logické programování
FLP Ak. rok 2004/2005 zimní semestr 6 kreditů
Praktické aplikace a širší úvod do lambda kalkulu a predikátové logiky v prostředí funkcionálních a logických programovacích jazyků. Jsou diskutovány abstraktní datové typy, použití rekurze a indukce, práce se seznamy a nekonečnými datovými strukturami. Základy programování v jazycích Haskell, Prolog a Goedel: principy jejich implementace.
Garant předmětu
Jazyk výuky
Zakončení
Rozsah
- 39 hod. přednášky
- 12 hod. pc laboratoře
- 14 hod. projekty
Zajišťuje ústav
Získané dovednosti, znalosti a kompetence z předmětu
Studenti získají základní znalosti a praktické zkušenosti ve funkcionálním a logickém programování, což jsou významní představitelé deklarativního programování. Kromě toho obdrží základní informace o teoretických základech obou paradigmat a způsobu implementace.
Cíle předmětu
Zvládnutí funkcionálního a logického programování a formálních základů, které jsou při použití obou paradigmat využívány.
Požadované prerekvizitní znalosti a dovednosti
Nejsou žádné prerekvizity.
Osnova přednášek
- Úvod do funkcionálního programování, lambda kalkul
- Programovací jazyk Haskell, úvod, práce se seznamy
- Uživatelské datové typy, typové třídy, pole
- Vstupy/výstupy
- Praktické úlohy
- Dokazování ve funkcionálním programování
- Denotační sémantika, implementace funkcionálních jazyků
- Prolog, úvod
- Seznamy, operátor řezu, řazení
- Datové struktury, řetězce, operátory
- Stavový prostor, práce s klauzulemi, analýza jazyků
- Goedel
- Implementace logických jazyků, CLP, shrnutí, diskuse
Osnova počítačových cvičení
- Seznámení s prostředím jazyka Haskell (Hugs), jednoduché funkce, rekurze, seznamy
- Nekonečné datové struktury
- Uživatelské datové typy, vstupy/výstupy
- Praktická úloha, samostatná práce
- Seznámení s prostředím jazyka Prolog, seznamy
- Praktická úloha, samostatná práce
Průběžná kontrola studia
Hodnocení studia je založeno na bodovacím systému. Pro úspěšné absolvování předmětu je nutno dosáhnout 50 bodů.
Nejsou stanoveny.
Kontrolovaná výuka
- Půlsemestrální zkouška - písemná, formou otázek a úkolů (vyskytují se i otázky s výběrem jedné z nabízených odpovědí) - 20 bodů.
- Vypracování projektů - 2 projekty, jeden ve funkcionálním a druhý v logickém programovacím jazyce - jednoduché programy, dle zadání - 20 bodů celkem.
- Závěrečná zkouška - písemná, formou otázek a úkolů (vyskytují se i otázky s výběrem jedné z nabízených odpovědí) - 60 bodů.