Detail předmětu

Funkcionální a logické programování

FLP Ak. rok 2004/2005 zimní semestr 6 kreditů

Aktuální akademický rok

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

česky

Zakončení

zkouška

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