Předmět: Alternativní metody programování

» Seznam fakult » FM » NTI
Název předmětu Alternativní metody programování
Kód předmětu NTI/AMP
Organizační forma výuky Přednáška + Cvičení
Úroveň předmětu Magisterský
Rok studia nespecifikován
Semestr Letní
Počet ECTS kreditů 5
Vyučovací jazyk Čeština
Statut předmětu Povinný, Povinně-volitelný
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
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.


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr
Fakulta: Fakulta přírodovědně-humanitní a pedagogická Studijní plán (Verze): Učitelství informatiky pro střední školy (20) Kategorie: Pedagogika, učitelství a sociální péče - Doporučený ročník:-, Doporučený semestr: Letní
Fakulta: Fakulta mechatroniky, informatiky a mezioborových studií Studijní plán (Verze): Informační technologie (2013) Kategorie: Informatické obory 1 Doporučený ročník:1, Doporučený semestr: Letní