|
|
Hlavní nabídka Prohlížení IS/STAG
Nalezené předměty, počet: 1
Stránkování výsledků vyhledávání
Nalezeno 1 záznamů
Export do Xls
Informace o předmětu
KIV / FJP
:
Popis předmětu
Pracoviště / Zkratka
|
KIV
/
FJP
|
Akademický rok
|
2024/2025
|
Akademický rok
|
2024/2025
|
Název
|
Formální jazyky a překladače
|
Způsob zakončení
|
Zkouška
|
Způsob zakončení
|
Zkouška
|
Akreditováno / Kredity
|
Ano,
6
Kred.
|
Forma zakončení
|
Kombinovaná
|
Forma zakončení
|
Kombinovaná
|
Rozsah hodin
|
Přednáška
3
[HOD/TYD]
Cvičení
2
[HOD/TYD]
|
Zápočet před zkouškou
|
Ano
|
Zápočet před zkouškou
|
Ano
|
Automatické uznávání zápočtu před zkouškou
|
Ne
|
Počítán do průměru
|
ANO
|
Vyučovací jazyk
|
Čeština
|
Obs/max
|
|
|
|
Automatické uznávání zápočtu před zkouškou
|
Ne
|
Letní semestr
|
0 / -
|
0 / -
|
0 / -
|
Počítán do průměru
|
ANO
|
Zimní semestr
|
0 / -
|
11 / -
|
1 / -
|
Opakovaný zápis
|
NE
|
Opakovaný zápis
|
NE
|
Rozvrh
|
Ano
|
Vyučovaný semestr
|
Zimní semestr
|
Vyučovaný semestr
|
Zimní semestr
|
Minimum (B + C) studentů
|
10
|
Volně zapisovatelný předmět |
Ano
|
Volně zapisovatelný předmět
|
Ano
|
Vyučovací jazyk
|
Čeština
|
Počet dnů praxe
|
0
|
Počet hodin kontaktní výuky |
|
Hodnotící stupnice |
1|2|3|4 |
Periodicita |
každý rok
|
Hodnotící stupnice pro zp. před zk. |
S|N |
Periodicita upřesnění |
|
Základní teoretický předmět |
Ne
|
Profilující předmět |
Ano
|
Základní teoretický předmět |
Ne
|
Hodnotící stupnice |
1|2|3|4 |
Hodnotící stupnice pro zp. před zk. |
S|N |
Nahrazovaný předmět
|
Žádný
|
Vyloučené předměty
|
Nejsou definovány
|
Podmiňující předměty
|
Nejsou definovány
|
Předměty informativně doporučené
|
KIV/ADT
|
Předměty,které předmět podmiňuje
|
KIV/SASZ
|
Graf četnosti udělených hodnocení studentům napříč roky:
Obrázek PNG
,
XLS
|
Cíle předmětu (anotace):
|
Dát studentům důkladné znalosti o prostředcích a metodách zpracování formálních jazyků a jejich využití při implrmentaci programovacích jazyků, editorů, příkazových interpretů apod. Seznámit studenty s formálními metodami konstruování software.
|
Požadavky na studenta
|
Vypracování a obhájení semestrálního softwarového projektu, vypracování úloh zadaných během cvičení, vypracování eseje na zadané téma a hodnocení esejí kolegů. Získání alespoň 50% z možných bodů hodnocení projektu a alespoň 50% z možných bodů hodnocení zkoušky.
Z důvodu průběžné aktualizace předmětu je pro získání zápočtu při opakovaném zapsání předmětu (viz SZŘ čl. 24 odst. 3) nutné souhlasné vyjádření garanta předmětu.
|
Obsah
|
1-Typy překladačů, základní struktura překladače.
2-Regulární gramatiky a konečné automaty v lexikální analýze. FLEX.
3-Úvod do syntaktické analýzy, metoda rekurzivního sestupu.
4-Překlad příkazů.
5-Zpracování deklarací.
6-Přidělování paměti.
7-Interpretační zpracování. Průběžný test.
8-Generování cílového kódu.
9-Vlastnosti bezkontextových gramatik.
10-Deterministická analýza shora dolů.
11-LL(1) transformace.
12-Deterministická analýza zdola nahoru, LR gramatiky.
13-Formální metody konstrukce software, generátory překladačů.
|
Aktivity
|
|
Studijní opory
|
|
Garanti a vyučující
|
|
Literatura
|
-
Základní:
Thain, Douglas. Introduction to Compilers and Language Design. 2020. ISBN 979-8-655-18026-0.
-
Doporučená:
Reinhard Wilhelm Helmut Seidl Sebastian Hack. Compiler Design. Berlin, 2013. ISBN 978-3-642-17539-8.
-
Doporučená:
Aho, Alfred V.; Sethi, Ravi; Ullman, Jeffrey D. Compilers : principles, techniques, and tools. Reading : Addison-Wesley, 1988. ISBN 0-201-10088-6.
-
Doporučená:
Aho, Alfred V. Compilers : principles, techniques, and tools. 2nd ed. Boston : Pearson Education, 2007. ISBN 0-321-49169-6.
-
Doporučená:
Molnár, Ludovít; Melichar, Bořivoj; Češka, Milan. Gramatiky a jazyky. Bratislava : Alfa, 1987.
-
Doporučená:
Melichar, Bořivoj. Jazyky a překlady. Vyd. 2., přeprac. Praha : Vydavatelství ČVUT, 2003. ISBN 80-01-02776-7.
-
Doporučená:
Melichar, Bořivoj. Konstrukce překladačů. I. část. Vyd. 1. Praha : Vydavatelství ČVUT, 1999. ISBN 80-01-02028-2.
-
On-line katalogy knihoven
|
Časová náročnost
|
Všechny formy studia
|
Aktivity
|
Časová náročnost aktivity [h]
|
Kontaktní výuka
|
65
|
Příprava na zkoušku [10-60]
|
50
|
Příprava na dílčí test [2-10]
|
12
|
Projekt individuální [40]
|
40
|
Celkem
|
167
|
|
Předpoklady
|
Odborné znalosti - pro úspěšné zvládnutí předmětu se předpokládá, že je student před zahájením výuky schopen: |
mít dobrou znalost vyššího programovacího jazyka, prioritně Javy nebo C |
využívat poznatky z programových struktur |
využívat teoretické poznatky z oblasti teoretické informatiky (zejména Chomského hiearchii) |
využívat teoretické poznatky z datových struktur |
využívat teoretické poznatky z diskrétní matematiky (zejména o grafech) |
prokázat znalosti základních pojmů a metod z matematiky, pravděpodobnosti a statistiky |
Odborné dovednosti - pro úspěšné zvládnutí předmětu se předpokládá, že student před zahájením výuky dokáže: |
uplatnit základní znalosti programovacích technik |
uplatnit základní znalosti teoretické informatiky (zejména o regulárních jazycích) |
uplatnit základní znalosti z diskrétní matematiky |
využívat vyšší programovací jazyky k vytváření rozsáhlých programových celků |
ovládat zásady vytváření dobře dokumentovaných a robustních programových kódů, prakticky využít teoretické a praktické poznatky o práci s algoritmy, datovými strukturami a konkrétními vývojovými prostředky |
Obecné způsobilosti - před zahájením studia předmětu je student schopen: |
mgr. studium: samostatně a odpovědně se rozhodují v nových nebo měnících se souvislostech nebo v zásadně se vyvíjejícím prostředí s přihlédnutím k širším společenským důsledkům jejich rozhodování, |
|
Výsledky učení
|
Odborné znalosti - po absolvování předmětu prokazuje student znalosti: |
orientovat se ve formálních prostředcích pro konstruování software |
popsat činnost jednotlivých částí překladače vyššího programovacího jazyka |
popsat funkci prostředků pro zpracování textů |
popsat pozitivní i negativní důsledky implementace různých konstrukcí programových textů a efektivně je využívat |
popsat principy a výhody programování v různých paradigmatech |
Odborné dovednosti - po absolvování předmětu prokazuje student dovednosti: |
efektivněji používat programovací jazyky při zápisu algoritmů |
implementovat různé programové konstrukce |
používat formální metody pro konstruování softwaru |
realizovat překladač jednoduššího jazyka |
Obecné způsobilosti - po absolvování předmětu je student schopen: |
mgr. studium: samostatně získávají další odborné znalosti, dovednosti a způsobilosti na základě především praktické zkušenosti a jejího vyhodnocení, ale také samostatným studiem teoretických poznatků oboru., |
mgr. studium: srozumitelně a přesvědčivě sdělují odborníkům i širší veřejnosti vlastní odborné názory, |
mgr. studium: plánují, podporují a řídí s využitím teoretických poznatků oboru získávání dalších odborných znalostí, dovedností a způsobilostí ostatních členů týmu, |
|
Hodnoticí metody
|
Odborné znalosti - odborné znalosti dosažené studiem předmětu jsou ověřovány hodnoticími metodami: |
Písemná zkouška, |
Test, |
Skupinová prezentace, |
Výstupní projekt, |
Odborné dovednosti - odborné dovednosti dosažené studiem předmětu jsou ověřovány hodnoticími metodami: |
Demonstrace dovedností (praktická činnost), |
Výstupní projekt, |
Skupinová prezentace, |
Obecné způsobilosti - obecné způsobilosti dosažené studiem předmětu jsou ověřovány hodnoticími metodami: |
Demonstrace dovedností (praktická činnost), |
Skupinová prezentace, |
|
Vyučovací metody
|
Odborné znalosti - pro dosažení odborných znalostí jsou užívány vyučovací metody: |
Analyticko-kritická práce s textem, |
Cvičení (praktické činnosti), |
Prezentace práce studentů, |
Projektová výuka, |
Přednáška s demonstrací, |
Řešení problémů, |
Samostudium, |
Odborné dovednosti - pro dosažení odborných dovedností jsou užívány vyučovací metody: |
Cvičení (praktické činnosti), |
Prezentace práce studentů, |
Obecné způsobilosti - pro dosažení obecných způsobilostí jsou užívány vyučovací metody: |
Analyticko-kritická práce s textem, |
Prezentace práce studentů, |
|
|
|
|