1-AIN-506 Introduction to Declarative Programming
Prebiehajúca výučba
Výučba kurzu UDP
v letnom semesteri a. r. 2014/15
má svoju vlastnú stránku.
O kurze
Cieľ
Cieľom kurzu Úvod do deklaratívneho programovania je
poskytnúť študentom iný pohľad na programovanie,
než aký umožňujú imperatívne a objektovoorientované jazyky
(Delphi/Object Pascal, C++, C#, Java atď.),
a zoznámiť ich so základnými technikami a dátovými štruktúrami,
ktoré sú použiteľné vo všetkých deklaratívnych jazykoch –
tak funkcionálnych (Lisp/Scheme, ML/CAML, Haskell, ...),
ako aj logických (Prolog).
Symbolické dátové štruktúry deklaratívnych jazykov
úzko súvisia s XML.
Sylabus
- Explicitné definície
- Primitívna rekurzia
- Chvostová rekurzia
- Rekurzia na notácii čísel (binárnej, diadickej)
- Párovanie, zoznamy a zoznamová rekurzia
- Kódovanie množín zoznamami a množinové operácie
- Triedenie zoznamov
- Binárne stromy
- Všeobecné rekurzívne dátové štruktúry
a ich korešpondencia s XML
- Transformácia XML štruktúr
Jazyk a softvér
Pri výučbe používame prostredie programovacieho jazyka
a dokazovacieho asistenta CL.
CL je jedným z najjednoduchších deklaratívnych jazykov,
dá sa považovať za ich spoločný prienik,
čo ho robí vhodným pre úvodný kurz.
Kurz UDP súvisí s ďalšími predmetmi z programu Aplikovaná informatika.
V nasledujúcom zozname sú usporiadané od teoretických po praktické:
- Úvod do matematickej logiky pre programátorov (1-AIN-625)
-
Cieľom teórie programovania je dať programom matematický význam,
určiť, akým matematickým objektom programy zodpovedajú.
Programy v CL sa dajú veľmi priamočiaro charakterizovať ako podtrieda
tzv. rekurzívnych funkcií,
ktorých výskum je súčasťou matematickej logiky.
Viac sa dozviete na predmete Ing. Jána Komaru.
- Špecifikácia a verifikácia programov (1-AIN-470)
-
Významnou výhodou deklaratívnych jazykov je,
že je výrazne jednoduchšie dokazovať vlastnosti programov v nich napísaných.
V tomto smere na kurz UDP nadväzuje kurz Ing. Jána Komaru.
- Programovacie paradigmy (1-AIN-430)
-
Širší prehľad rôznych prístupov k programovaniu
s dôrazom na funkcionálne (jazyk Haskell)
a logické (jazyk Prolog) programovanie
poskytuje predmet dr. Petra Borovanského.
- Moderný prístup k webdesignu (1-AIN-636)
-
O XML a špecializovanom deklaratívnom transformačnom jazyku XSLT
sa môžete viac dozvedieť na kurze
Mgr. Martina Homolu.
Dušan Guller: Poznámky k prednáškam z CL. Skriptá.
Formát A4:
PDF,
PostScript;
dve strany na jednu:
PDF PostScript;
knižka:
PDF PostScript (vytlačte obojstranne,
po preložení v strede vznikne „knižka“ formátu A5).
Archív výučby