Vyučující
|
-
Satrapa Pavel, doc. RNDr. Ph.D.
|
Obsah předmětu
|
Přednášky: 1. Přehled paradigmat programování 2. Úvod do Prologu, základní pojmy 3. Rezoluční mechanismus 4. Pravdivostní a číselné hodnoty, seznamy 5. Vzory volání, řez 6. Soubory 7. Operátory, návrh aplikace v Prologu 8. Úvod do Scheme, seznamy a jejich použití 9. Definice funkce, rekurze 10. Zpracování seznamů, datové struktury 11. Řazení čísel, rekurzivní data 12. Stromy, zpracování více seznamů 13. Lokální definice, funkcionální parametry 14. Funkce jako hodnota, lambda výrazy, set! Cvičení: 1. Paradigmata a programovací jazyky 2. SWI Prolog - seznámení s prostředím 3. Jednoduché příklady v Prologu 4. Výpočty, zpracování seznamů 5. Využití řezu, determinované predikáty 6. Práce se soubory 7. Definice operátorů, aplikace v Prologu 8. DrScheme - seznámení s prostředím 9. Jednoduché příklady ve Scheme, rekurze místo iterace 10. Zpracování seznamů, datové struktury 11. Rekurzivní datové struktury a práce s nimi 12. Reprezentace datových struktur ve Scheme 13. Lokální definice, funkcionální parametry 14. Funkce jako hodnota, lambda výrazy ---- Rozsah přímé výuky pro kombinované studium: přednášky: 10 hodin/semestr cvičení: 10 hodin/semestr
|
Studijní aktivity a metody výuky
|
Monologický výklad (přednáška, prezentace, vysvětlování)
- Domácí příprava na výuku
- 24 hodin za semestr
- Příprava na zápočet
- 30 hodin za semestr
- Příprava na zkoušku
- 40 hodin za semestr
- Účast na výuce
- 56 hodin za semestr
|
Výstupy z učení
|
Předmět se zabývá principiálními přístupy k programování a koncepty programovacích jazyků. V jeho rámci se studenti seznámí vedle následovníků klasického procedurálního programování, jako je programování modulární, objektové a událostmi řízené, i s programováním funkcionálním a logickým, jakožto jeho alternativami. Důraz je kladen především na tyto méně obvyklé přístupy, se kterými studenti dosud nejsou obeznámeni.
Studenti získají teoretické znalosti i praktické zkušenosti s přístupy k programování, které se diametrálně liší od obvyklého imperativního přístupu běžných programovacích jazyků. Poznají jazyky Prolog a Scheme.
|
Předpoklady
|
Znalost procedurálního programování.
|
Hodnoticí metody a kritéria
|
Kombinovaná zkouška
Podmínkou zápočtu je aktivní účast na cvičeních, úspěšné absolvování testů. Zkouška je písemná a ústní.
|
Doporučená literatura
|
-
Bratko I.: Prolog Programming for Artificial Itelligence, Addison Wesley, 3. vydání, 2000.
-
Dybvig, R. Kent: Scheme Programming Language, MIT Press, 3. vydání, 2003.
-
Felleisen M., Findler R. B., Flatt M., Krishnamurthi S.: How to Design Programs, MIT Press, 2001.
-
Salus, Peter H.:. The Handbook of Programming Languages. Volume 1: Object-Oriented Programming Languages Volume 2: Imperative Programming Languages Volume 3: Little Languages and Tools Volume 4: Functional and Logic Programming Languages.. Macmillan Technical Public, 1998.
|