|
Vyučující
|
-
Krupka Michal, doc. RNDr. Ph.D.
-
Urbanec Štěpán, Ing. CSc.
-
Janoštík Radek, Mgr. Ph.D.
-
Urbanec Tomáš, Mgr.
-
Kočíř David, Mgr.
|
|
Obsah předmětu
|
Jedná se o druhou čá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 většinu kurzu použit jazyk Common Lisp. Druhá část kurzu se soustředí na pokročilejší techniky zejména funkcionálního programování. 1. Makra jakožto modelovací nástroj v programovacím jazyce. 2. Imperativní rysy programování. Mutace proměnných a hodnot v datových strukturách. 3. Dynamické proměnné, vazby, dynamická prostředí. Rozsah a životnost vazby. 4. REPL 5. Aplikace funkcionálního programování. Funkcionální grafika. 6. Explicitní líné vyhodnocování, přísliby a proudy. 7. Generátory. 8. Normální vyhodnocovací model, základy lambda-kalkulu 8.
|
|
Studijní aktivity a metody výuky
|
|
Přednášení, Demonstrace
|
|
Výstupy z učení
|
Studenti se seznámí s pokročilými pojmy z paradigmat programování.
1. Znalost Rozpoznej výhody a nevýhody používání pokročilých programovacích konstruktů jakými jsou makra a kontinuace.
|
|
Předpoklady
|
KMI/PAPR1 Paradigmata programování 1
KMI/PAPR1
|
|
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
|
-
Bird R., Wadler P. (1988). Introduction to Functional Programming. Prentice Hall, Englewood Cliffs, New Jersey.
-
Dybvig, R. K. (1996). The Scheme Programming Language. Prentice Hall, A Simon and Schuster Company, Upper Saddle River, NJ.
-
Felleisen M., Findler R. B., Flatt M., Krishnamurthi S. (2001). How To Design Programs: An Introduction to Computing and Programming.
-
H. Abelson, G. J. Sussman. (1996). Structure and Implemantation of Computer Programs. Cambridge.
-
Konečný, Vychodil. Paradigmata programování 1, díl A..
-
Konečný, Vychodil. Paradigmata programování 1, díl B..
-
Manis V. S., Little J. J. (1995). The Schematics of Computation. Prentice Hall, Englewood Cliffs, New Jersey.
-
Springer G., Friedman D.P. (1994). Scheme and the Art of Programming.
-
Yinong Chen. (2016). Introduction to Programming Languages: Programming in C, C++ Scheme, Prolog, C# and SOA. Kendall Hunt Pub Co.
|