|
Vyučující
|
-
Osička Petr, Mgr. Ph.D.
-
Laštovička Jan, Mgr. Ph.D.
-
Mikula Tomáš, Mgr.
|
|
Obsah předmětu
|
Jedná se o závěrečnou část čtyřdílného kurzu věnovaného základním programovacím paradigmatům, stylům a technikám. Obecným cílem kurzu je seznámit studenty s principy programování bez úzké vazby na konkrétní programovací jazyk. Jako modelovací jazyk je použit jazyk Lisp blízký jazyku Common Lisp. Závěrečná část kurzu se soustředí na základy paralelního a logického programování. Paralelní programování - Paralelní program a jeho vykonávání. - Programová logika paralelních programů. - Problém kritické sekce. - Semafory. - Problém výrobců a spotřebitelů. - Problém večeřících východních mudrců. - Problém čtenářů a písařů. - Technika štafetového kolíku. - Bariéry a datově paralelní algoritmy. Logické programování - Algoritmus unifikace. - Pravidla a dotazy. - Odvozovací krok a strom odvození. - Práce se seznamy. - Vybudování aritmetiky.
|
|
Studijní aktivity a metody výuky
|
|
Přednášení, Demonstrace
|
|
Výstupy z učení
|
Studenti se seznámí se základními pojmy z paralelního programování a logického programování.
3. Aplikace: Rozpoznej a řeš překážky při vývoji paralelních programů.
|
|
Předpoklady
|
nespecifikováno
KMI/PP2
|
|
Hodnoticí metody a kritéria
|
Ústní zkouška, Písemná zkouška
Aktivní účast v hodině. Plnění zadaných úkolů. Složení ústní (příp. písemné) zkoušky.
|
|
Doporučená literatura
|
-
ANDREWS G. R. (2000). Foundations of Multithreaded, Parallel, and Distributed Programming. Addison.
-
Ben-Ari M. (2006). Principles of concurrent and distributed programming. Addison.
-
Jirků P. a kol. (1991). Programování v jazyku Prolog..
-
K. Doets. (1994). From Logic to Logic Programming.
-
M. Kifer, Y. A. Liu. (2018). Declarative Logic Programming: Theory, Systems, and Applications.
-
McCool M., Reinders J., Robinson A. (2012). Structured parallel programming: patterns for efficient computation. Morgan Kaufman.
-
Roosta, Seyed H. (2000). Parallel processing and parallel algorithms.
-
Schmidt Ph.D., Gonzales-Domingues, J., Hundt, Cc., Schlarb, M. (2017). Parallel Programming: Concepts and Practice. Morgan Kaufman.
-
Schneider F. B. (1997). On concurrent programming.
|