Zpět na všechny kurzy

Programovací paradigmata

Detaily

Lektor: prof. RNDr. Josef Hynek, Ph.D., MBA
Fakulta: Fakulta informatiky a managementu
Start výuky: bude upřesněno
Časová dotace: 16 vyučovacích hodin
Přihlášky do: 15. 9. 2026 23:55
Počet míst: 10
Cena kurzu: 3 600 Kč
Jazyk: Čeština

Kontakt

Referent: Mgr. Martin Weisbauer
E-mail: martin.weisbauer@uhk.cz
Telefon: 493332266

Zatím nelze registrovat

Registrace do kurzu začíná 15. 6. 2026 06:00

Popis

Cílem předmětu je poskytnout ucelený přehled hlavních programovacích paradigmat a jelikož objektově orientované programování je detailně probíráno v jiných předmětech CŽV (PRO1 Programování I), je hlavní důraz kladen na zvládnutí základů funkcionálního a logického programovacího paradigmatu.

Jedná se o program zakončený mikrocertifikátem.

Obsah:
1. Historie programovacích jazyků, programovací paradigmata – imperativní, objektově orientované, funkcionální a logické paradigma
2. Úvod do funkcionálního programování, lambda kalkul
3. Výrazy a příkazy, funkce, funkcionální program
4. Rekurze a iterace, mapovací funkcionály, řídící struktury
5. Seznamy a práce s nimi, nekonečné seznamy, currying
6. Řešení úloh s využitím funkcionálního programování
7. Implementace funkcionálních jazyků a jejich porovnání
8. Deklarativní programovací jazyky, predikátová logika, úvod do logického programování
9. Predikáty, klauzule, fakta, operátory
10. Seznamy, predikáty pro vstup a výstup
11. Predikáty pro řízení výpočtu
12. Práce s databází, řešení praktických úloh
13. Aplikace v umělé inteligenci

 

Výsledky učení (profil absolventa)
Odborné znalosti – po absolvování předmětu prokazuje student znalosti:
• Znalost pojmů algoritmus, algoritmická složitost, proměnná, výraz, pole.
• Znalost zápisu algoritmické konstrukce pro deklaraci proměnné, podmíněný příkaz, cyklus.
• Znalost rozdílů mezi hlavními programovacími paradigmaty.
• Znalost výhod a nevýhod jednotlivých programovacích paradigmat.
• Znalost důvodů, které vedou k výhodné kombinaci těchto paradigmat při psaní konkrétních aplikací či v moderních programovacích jazycích.

Odborné dovednosti – po absolvování předmětu prokazuje student dovednosti:
• Rozložit problém na podproblémy.
• Identifikovat algoritmická primitiva pro řešení známých problémů.
• Složit algoritmus z algoritmických primitiv.
• Je schopen posoudit možnost využití funkcionálního a deklarativního programovacího jazyka.
• Ovládá základy funkcionálního a logického programování.
• Je schopen samostatně naprogramovat a ladit jednoduché aplikace (práce se seznamy, algebraické úlohy, základní úlohy na grafech, reprezentace znalostí, prohledávání stavového prostoru, aplikace v umělé inteligenci).

Obecné způsobilosti – po absolvování předmětu je student schopen:
• Posoudit vhodnost použití funkcionálního a/nebo deklarativního programovacího jazyka a samostatně navrhovat a odlaďovat jednoduché rekurzivní algoritmy.

 

Předpoklady potřebné k zápisu do programu CŽV

Pro úspěšné zvládnutí předmětu je vhodné předchozí absolvování předmětu PRO1 Programování I.

Odborné znalosti – pro úspěšné zvládnutí předmětu se předpokládá, že je student před zahájením výuky schopen:
• Zvládat základy programování v imperativním programovacím jazyku.
• Disponovat znalostmi středoškolské matematiky.
• Vysvětlit základní matematické pojmy a vztahy mezi nimi.

Odborné dovednosti – pro úspěšné zvládnutí předmětu se předpokládá, že student před zahájením výuky dokáže:
• Zapsat a odladit jednoduchý algoritmus v imperativním programovacím jazyce.
• Chápat základy výrokové logiky.
• Využívat poznatky o výrokové logice ke skládání podmínek.
• Aplikovat teoretický matematický aparát při řešení praktických úloh.


Obecné způsobilosti – před zahájením studia předmětu je student schopen:
• Samostatně a odpovědně se na základě rámcového zadání rozhodovat v souvislostech jen částečně známých.
• Používat své odborné znalosti, odborné dovednosti a obecné způsobilosti alespoň v jednom cizím jazyce.
• Rozpoznat matematický problém, objasnit jeho podstatu, rozčlenit ho na části.
• Své učení a pracovní činnost si samostatně plánovat a organizovat.
• Kriticky přistupovat ke zdrojům informací, informace tvořivě zpracovávat a využívat při svém studiu a praxi.

 

Forma způsobu ověření výsledků učení a další požadavky na studenta

Požadavky k zápočtu: Aktivní účast na cvičeních, dosažení min. 60 % z celkového počtu možných bodů ze dvou zápočtových testů.
Požadavky ke zkoušce: Získání alespoň 50 % bodů ze zkouškového testu. Ústní část zkoušky je rozpravou nad písemnou prací studenta.

 

Studijní literatura a studijní pomůcky
Základní:
Whitington, J. Haskell from the very beginning. Cambridge, 2019. ISBN 13-9-78095767113.
Hynek, J. Logické programování a Prolog. 2. přeprac. vyd. Hradec Králové, 2003. ISBN 80-7041-090-6.
Levesque, H. Thinking as Computation. Cambridge, MA, 2012. ISBN 978-0-262-01699-5.

Doporučená:
Milková, E. a kol. Algoritmy – základní konstrukce v příkladech a jejich vizualizace. Hradec Králové, 2010. ISBN 978-80-7435-064-1.
Šebesta, R. W. Concepts of Programming Languages. Addison-Wesley, 2016. ISBN 978-0-13-139531-2.
Thompson, S. Haskell: The Craft of Functional Programming (3rd ed.). Addison Wesley, 2011.
Lipovača, M. Learn You a Haskell for Great Good!. No Starch Press. 2011.
Scott, M.L. Programming Language Pragmatics. Morgan Kaufmann. 2015.
Bratko, Ivan. Prolog programming for artificial intelligence. 3rd ed. Harlow, 2001. ISBN 0-201-40375-7.

 

Místo výuky: bude upřesněno

Termíny výuky: bude upřesněno

 

Další informace:

Přihlášení probíhá elektronickou formou, je závazné a kurzovné nevratné. Před zahájením kurzu obdrží přihlášení organizační pokyny e-mailem. Vzdělavatel si vyhrazuje právo kurz neotevřít z důvodu dlouhodobé nemoci lektora, dále pak v případě nedostatečného počtu přihlášených osob, či z jiných závažných organizačních důvodů. O neotevření kurzu budou přihlášení v předstihu informováni e-mailem. V případě zrušení kurzu ze strany vzdělavatele se kurzovné přihlášeným vrací v plné výši.

Zpět na všechny kurzy