|
Vyučující
|
-
Laštovička Jan, Mgr. Ph.D.
-
Krupka Michal, doc. RNDr. Ph.D.
-
Mikula Tomáš, Mgr.
-
Balun Jiří, Mgr.
-
Laštovičková Adéla, Mgr.
|
|
Obsah předmětu
|
Jedná se o první část čtyřdílného kurzu věnovaného základním programovacím paradigmatům. Obecným cílem kurzu je seznámit studenty s principy programování bez úzké vazby na konkrétní programovací jazyk. První část kurzu se soustředí na základy programování ve funkcionálním programovacím stylu. 1. Symbolické výrazy: čísla, symboly, složené výrazy, jejich vyhodnocování. Funkce a speciální operátory, logika a predikáty. 2. Uživatelsky definované funkce, vazby a prostředí. 3. Rekurzivní výpočetní proces a rekurzivní funkce. Koncová rekurze. Typy rekurzivního výpočetního procesu (lineární, stromový, iterativní). 4. Datové struktury a datová abstrakce. Konstruktory, selektory, typové predikáty. Páry a seznamy, základní funkce pracující se seznamy. Symbolická data. 5. Funkce vyššího řádu a jejich základní typy, anonymní funkce a lexikální uzávěry. Příklad: nekonečné posloupnosti a operace s nimi. 6. Stromy. 7. Příklad: funkcionální grafika. 8. Implementace interpretu jednoduchého funkcionálního jazyka.
|
|
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 paradigmat programování.
2. Porozumění Identifikuj správné zůsoby vývoje funkcionálních programů.
|
|
Předpoklady
|
nespecifikováno
|
|
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.
-
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.
-
Martin Henz, Tobias Wrigstad, Harold Abelson, Gerald Jay Sussman, Julie Sussman. (2022). Structure and Interpretation of Computer Programs: JavaScript Edition.
-
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.
|