|
|
|
||
|
Tento předmět se věnuje studiu programovacích jazyků. Studenty seznámí se základními principy a koncepty paradigmat včetně strukturovaného, objektově orientovaného a funkcionálního
programování. Koncepty jsou ilustrovány na příkladech konkrétních jazyků a studenti získají zkušenosti s implementací některých konceptů v praxi.
Poslední úprava: Holan Tomáš, RNDr., Ph.D. (21.05.2025)
|
|
||
|
Pro zakončení předmětu je zapotřebí získat zápočet a složit zkoušku. Zápočet bude udělen za úspěšné dokončení úkolů zadávaných v průběhu semestru nebo za vypracování zápočtového programu v rozsahu dohodnutém s vyučujícím. Poslední úprava: Holan Tomáš, RNDr., Ph.D. (21.05.2025)
|
|
||
|
1. John C. Mitchell. Concepts in Programming Languages. ISBN: 978-0521780988, Cambridge University Press, 2003. 2. Mark Priestley. A Science of Operations: Machines, Logic and the Invention of Programming. ISBN 978-1-84882-554-3, Springer, 2011. 3. Robert Nystrom. Crafting interpreters. ISBN: 978-0990582939, Genever Benning, 2021. 4. Ramsey, Norman. Programming Languages: Build, Prove, and Compare. ISBN: 9781107180185. Cambridge University Press, 2022. Poslední úprava: Holan Tomáš, RNDr., Ph.D. (21.05.2025)
|
|
||
|
Zkouška je ústní. Požadavky odpovídají sylabu předmětu v rozsahu, který byl přednesen na přednáškách. Poslední úprava: Holan Tomáš, RNDr., Ph.D. (21.05.2025)
|
|
||
|
Počátky programovacích jazyků Raná historie programovacích jazykůNestrukturované programování Vědecké, obchodní a symbolické programování Modely programovacích jazyků Specifikace syntaxe jazykaAbstraktní stroje a sémantické modely Lambda kalkul jako programovací jazyk Programovací paradigma Algolu Strukturované programování a bloková struktura kóduPředávání parametrů, rozsah platnosti proměnných, výjimky Bezpečnost, datové typy a statické typování Funkcionální programování Programování pomocí výrazů a funkcíAlgebraické datové typy a typy funkcí Typová kontrola a odvozování typů Objektová orientace a abstrakce dat Moduly a abstraktní datové typyZapouzdření, dědičnost a podtypy Prototypové a třídové OO Další programovací paradigmata Logické programování, unifikace a rezoluceAsynchronní, reaktivní a souběžné programování Metaprogramování, událostmi řízené programování Poslední úprava: Holan Tomáš, RNDr., Ph.D. (21.05.2025)
|