Programovací paradigmata
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
BIK-PPA | Z,ZK | 5 | 14KP+4KC | česky |
- Přednášející:
- Jan Janoušek (gar.)
- Cvičící:
- Petr Máj, Jan Janoušek (gar.)
- Předmět zajišťuje:
- katedra teoretické informatiky
- Anotace:
-
Cílem předmětu je poskytnout přehled a porozumění hlavních programovacích paradigmat. Jsou vysvětleny a srovnány základní principy a sémantické koncepty vyšších programovacích jazyků na těchto paradigmatech založených. V oblasti objektově-orientovaného paradigmatu navazuje předmět na předmět Objektově-orientované programování. Do větších detailů jsou probírána funkcionální a logická(deklarativní) programovací paradigmata. Vedle vysvětlení základních principů je důraz kladen i na zvládnutí základních praktických příkladů a srovnání a diskuze přínosů a nevýhod jednotlivých paradigmat a důvody pro kombinování těchto paradigmat v rámci moderních programovacích jazyků. Dále jsou diskutovány implementační aspekty jednotlivých typů programovacích jazyků.
- Požadavky:
- Osnova přednášek:
-
1. Úvod: syntaxe a sémantika programovacích jazyků, platnosti rozsahů, včasné a pozdní vyhodnocování, ortogonalita.
2. Imperativní programovací paradigma: příkazy, datové typy, procedury, předávání parametrů.
3. Objektově orientované programovací paradigma a datové abstrakce.
4. Funkcionální programovací paradigma a lambda kalkul.
5. Sémantické konstrukty funkcionálních programovacích jazyků a jejich implementace. Funkcionální programovací styl.
6. Logické programovací paradigma a formální logika.
7. Sémantické konstrukty logických programovacích jazyků a jejich implementace. Deklarativní programovací styl.
8. Programovací jazyky s omezujícími podmínkami.
9. Dotazovací jazyky. Doménově specifické jazyky.
10. Podpora a jazykové prostředky pro paralelní a distribuované výpočty a synchronizaci v různých programovacích paradigmatech.
11. Skriptovací jazyky.
- Osnova cvičení:
- Cíle studia:
-
Cílem předmětu je poskytnout přehled a porozumění hlavních programovacích paradigmat. Jsou vysvětleny a srovnány základní principy a sémantické koncepty vyšších programovacích jazyků na těchto paradigmatech založených. V oblasti objektově-orientovaného paradigmatu navazuje předmět na předmět Objektově-orientované programování. Do větších detailů jsou probírána funkcionální a logická(deklarativní) programovací paradigmata. Vedle vysvětlení základních principů je důraz kladen i na zvládnutí základních praktických příkladů a srovnání a diskuze přínosů a nevýhod jednotlivých paradigmat a důvody pro kombinování těchto paradigmat v rámci moderních programovacích jazyků. Dále jsou diskutovány implementační aspekty jednotlivých typů programovacích jazyků.
- Studijní materiály:
-
[1] Scott, M.L: Programming Language Pragmatics, 3rd Edition, Morgan Kaufmann, 2009, 978-0123745149,
[2] Sebesta, R. W.: Concepts of Programming Languages, 10th Edition, Addison-Wesley, 2012, 978-0131395312,
[3] Sethi, R.: Programming Languages: Concepts and Constructs, Addison-Wesley, 1996, 978-0201590654,
- Poznámka:
-
Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/BI-PPA/
- Další informace:
- https://courses.fit.cvut.cz/BI-PPA/
- Rozvrh na zimní semestr 2020/2021:
- Rozvrh není připraven
- Rozvrh na letní semestr 2020/2021:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Bc. program Informatika, komb. forma, pro fázi studia bez oboru, verze 2015 - 2020 (VO)
- Bc. obor Bezpečnost a informační technologie, kombinovaná forma studia, verze 2015 až 2020 (volitelný předmět)
- Bc. obor WSI, zaměření Softwarové inženýrství, kombinovaná forma studia, verze verze 2015 - 2020 (povinný předmět zaměření)