PB006 — Principy programovacích jazyků


Náplň

Kurs podává informace o programovacích paradigmatech a o programovacích jazycích z obecného hlediska.

Stručná historie vývoje programovacích jazyků, přehled základních paradigmat.

Syntax, jazyk, program. Abstraktní a konkrétní syntax.

Statická sémantika. Otypování, validační funkce.

Prostor jmen, viditelnost. Bloková a modulární struktura jazyka. Objektově orientované jazyky.

Typy a typové systémy. Základní typy a typové konstruktory. Polymorfní typy, parametrický a inklusní polymorfismus, přetížení, typové třídy. Podtypy, dědičnost. Typy jako sorty (množiny), signatury (heterogenní algebry), teorie (modely teorií).

Dynamická sémantika, model, výpočet.

Imperativní paradigma. Příkazy a jejich sémantika, přepisovatelné proměnné. Stav, stavové transformátory.

Funkcionální paradigma. Výrazy, funkce, parametry. Aplikace, abstrakce, redukční strategie.

Logické paradigma. Syntax a sémantika prototypového jazyka, řízení výpočtu.

Souběžné zpracování. Komunikace, uváznutí, Přerušení, události, semafory, výlučný přístup, kritické oblasti.

Volání funkcí a předávání parametrů. Volání hodnotou a jménem. Volání výsledkem, hodnotou-výsledkem. Volání odkazem.


Literatura


Zkoušky

Zkouška je písemná na konci semestru. Každý student má nárok na jeden řádný a na jeden opravný termín.
Pomůcky ke zkoušce: pouze psací potřeby a ISIC.

pátek 14. ledna 2011 ve 13 hodin (řádný),
čtvrtek 27. ledna 2011 ve 12 hodin (řádný a opravný),
pondělí 7. února 2011 ve 14 hodin (jen opravný). -->