| Název: | Sémantika programovacích jazyků |
|---|
| Zkratka: | SPJ |
|---|
| Ak.rok: | 2011/2012 |
|---|
| Semestr: | zimní |
|---|
| Studijní plán: | |
|---|
| Vyučovací jazyk: | čeština, angličtina |
|---|
| Kredity: | 3 kredity |
|---|
| Ukončení: | zkouška (písemná) |
|---|
| Výuka: | | hod./sem | přednáška | sem./cvičení | lab. cvičení | poč. cvičení | jiná |
|---|
| Rozsah: | 26 | 0 | 0 | 0 | 0 |
|---|
| | zkouška | testy | cvičení | laboratoře | ostatní |
|---|
| Body: | 70 | 30 | 0 | 0 | 0 |
|---|
|
|---|
| Garant: | Hruška Tomáš, prof. Ing., CSc., UIFS |
|---|
| Přednášející: | Hruška Tomáš, prof. Ing., CSc., UIFS Křivka Zbyněk, Ing., Ph.D., UIFS |
| Fakulta: | Fakulta informačních technologií VUT v Brně |
|---|
| Pracoviště: | Ústav informačních systémů FIT VUT v Brně |
|---|
| Prerekvizity: | |
|---|
| Nahrazuje: | |
|---|
| | | Cíle předmětu: |
|---|
Osvojit si teoretické základy pro definici sémantiky (významu) konstrukcí užívaných v programovacích jazycích. Získat schopnosti formálně tuto sémantiku definovat a formální definici používat. | | Anotace: |
|---|
Způsoby definice sémantiky programovacích jazyků: denotační, operační a axiomatická. Lambda kalkul a jeho použití pro denotační sématiku. Formální definice základních typů, struktur a konstrukcí denotační sématikou. Axiomatická sémantika a její použití pro dokazování programů. Příklad axiomatické definice jazyka. Sémantika jazyků pro funkcionální a logické programování. | | Získané dovednosti, znalosti a kompetence: |
|---|
Schopnost formálně definovat sématiku programovacích jazyků a používat formální definice v praxi. Schopnost a praktické použití dokazování programů. | | Osnova přednášek: |
|---|
- Historie vývoje konstrukcí programovacích jazyků.
- Způsoby definice syntaxe a sémantiky.
- Základy netypovaného lambda kalkulu.
- Notace zápisu výrazů, vyhodnocování.
- Formální sémantika rekurzivních funkcí.
- Rozsahy platnosti jmen, typová kontrola.
- Datové typy jednoduché a strukturované, ekvivalence typů a polymorfizmus.
- Denotační sémantika.
- Floyd-Hoarova logika a její užití pro dokazování programů.
- Axiomatická sémantika a dokazování programů.
- Volání podprogramů a způsoby předávání parametrů.
- Objektově orientované programování.
- Funkcionální programování, logické programování.
| | Literatura referenční: |
|---|
- Gordon, J.C.: Programming Language Theory and its Implementation, Prentice Hall - Series in Computer Science, Prentice Hall New York 1988, 255 str., ISBN 0-13-730409-9
- Sebesta, R.,W.: Concepts of Programming Languages, Addison Wesley, Massachusetts 1999, 670 str., ISBN 9-780201-385960
| | Literatura studijní: |
|---|
- Češka, M., Motyčková, L., Hruška, T.: Vyčíslitelnost a složitost, skriptum VUT Brno, Ediční středisko VUT Brno 1992, 217 str., ISBN 80-214-0441-8
- Gordon, J.C.: Programming Language Theory and its Implementation, Prentice Hall - Series in Computer Science, Prentice Hall New York 1988, 255 str., ISBN 0-13-730409-9
| | Průběžná kontrola studia: |
|---|
Půlsemestrální test. | | |
|