Předmět: Paradigmata programování 1

» Seznam fakult » PRF » KMI
Název předmětu Paradigmata programování 1
Kód předmětu KMI/PP1
Organizační forma výuky Přednáška + Cvičení
Úroveň předmětu Bakalářský
Rok studia nespecifikován
Semestr Zimní
Počet ECTS kreditů 6
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í
  • 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.


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: Přírodovědecká fakulta Studijní plán (Verze): Informatika - specializace Programování a vývoj software (2021) Kategorie: Informatické obory 1 Doporučený ročník:1, Doporučený semestr: Zimní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Informační technologie (2022) Kategorie: Informatické obory 1 Doporučený ročník:1, Doporučený semestr: Zimní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Informatika - specializace Obecná informatika (2021) Kategorie: Informatické obory 1 Doporučený ročník:1, Doporučený semestr: Zimní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Informatika pro vzdělávání maior (2024) Kategorie: Informatické obory 2 Doporučený ročník:2, Doporučený semestr: Zimní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Informatika (2020) Kategorie: Informatické obory 1 Doporučený ročník:1, Doporučený semestr: Zimní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Bioinformatika (2021) Kategorie: Informatické obory 1 Doporučený ročník:1, Doporučený semestr: Zimní