Table of Contents

Přehled

  1. Softwarové inženýrství
    1. Byznys modelování. Diagramy aktivit a tříd.
    2. Specifikace požadavků. Diagramy scénářů užití (Use Case) a sekvenční diagramy.
    3. Analýza a návrh systému. Diagramy tříd, relace mezi třídami a organizace modelů.
    4. Modelování dynamického chování objektů pomocí sekvenčních a stavových diagramů.
    5. Implementace systému. Diagramy komponent a nasazení.
    6. Formální metody specifikace. Jazyk OCL a způsob jeho použití.
    7. Návrhové vzory tvořící. Vzory Továrna, Tovární metoda a Prototyp.
    8. Návrhové vzory strukturální. Vzory Kompozit, Adaptér, Dekoratér a Proxy.
    9. Návrhové vzory chování. Vzory Řetěz zodpovědnosti, Příkaz, Iterátor, Pozorovatel, Stav a Strategie.
    10. Využití abstrakce při návrhu programových systémů - abstraktní datové typy, abstrakce algoritmů, rekurze.
    11. Komponentní technologie - principy, struktura komponent, vlastnosti, metody, události.
    12. Návrh aplikací v prostředí Internetu, architektury, webové služby, zabezpečení.
  1. Základy teoretické informatiky
    1. Konečné automaty, regulární výrazy, uzávěrové vlastnosti třídy regulárních jazyků.
    2. Bezkontextové gramatiky a jazyky. Zásobníkové automaty, jejich vztah k bezkontextovým gramatikám.
    3. Matematické modely algoritmů - Turingovy stroje a stroje RAM. Složitost algoritmu, asymptotické odhady. Algoritmicky nerozhodnutelné problémy.
    4. Třídy složitosti problémů. Třída PTIME a NPTIME, NP-úplné problémy.
    5. Pojem relace, homogenní a heterogenní relace, operace s relacemi, vlastnosti. Typy binárních relací. Relace ekvivalence a relace uspořádání.
    6. Obecný pojem operace a obecný pojem algebra. Algebry s jednou a dvěma binárními operacemi. Homomorfismy. Grupy, Booleovy algebry.
    7. Obecná rezoluční metoda a logické programování: rezoluční pravidlo a algoritmus unifikace v predikátové logice 1. řádu.
    8. Pojem (přímého a nepřímého) důkazu. Úplnost důkazových kalkulů v predikátové logice 1. řádu, (ne)rozhodnutelnost, neúplnost teorií obsahujících aritmetiku.
  1. Softwarové inženýrství
    1. Deklarativní programovací jazyky, význam funkcionálního a logického programování.
    2. Struktura a činnost překladače, tvar zdrojového a cílového programu. Interpretační a kompilační překlad. Fáze překladu, vnitřní struktura překladače.
    3. Vyšší programovací jazyky a jejich moderní rysy (správa paměti, implementace objektově orientovaných prvků, výjimky).
    4. UML, základní diagramy a použití.
    5. Návrhové vzory, jejich rozdělení a příklady.
    6. Atributovaný syntaxí řízený překlad. Sémantické akce.
    7. Softwarový proces, postup a metody tvorby softwarového produktu.
  1. Informační systémy
    1. Analýza datová, normální formy relací. Analýza funkční, dynamická - metody a nástroje.
    2. Návrh implementace, metody a nástroje.
    3. Paralelní procesy v databázích. Transakce, zamykání, uváznutí, dvoufázový protokol.
    4. Architektury databázových systémů. Distribuované báze dat, definice, centralizace řízení, rozmístění dat.
    5. Architektury informačních systémů v prostředí Internetu.
  1. Počítačová grafika
    1. Základní metody výstupu grafické informace. Technické a softwarové prostředky pro grafický výstup.
    2. Reprezentace barev (systémy RGB, HSV, HLS, CMY, CMYK).
    3. Komprese obrazu, zejména ztrátová komprese JPEG a MPEG.
  1. Počítače a sítě
    1. Architektura univerzálních mikroprocesorů. Principy urychlování činnosti procesorů.
    2. Základní vlastnosti monolitických počítačů a jejich typické integrované periférie. Možnosti použití.
    3. Struktura OS a jeho návaznost na technické vybavení počítače.
    4. Protokolová rodina TCP/IP.
    5. Metody sdíleného přístupu ke společnému kanálu.
    6. Problémy směrování v počítačových sítích. Adresování v IP, překlad adres (NAT).
    7. Bezpečnost počítačových sítí s TCP/IP: útoky, paketové filtry, stavový firewall. Šifrování a autentizace, virtuální privátní sítě.

Softwarové inženýrství

Byznys modelování. Diagramy aktivit a tříd.

Specifikace požadavků. Diagramy scénářů užití (Use Case) a sekvenční diagramy.

Analýza a návrh systému. Diagramy tříd, relace mezi třídami a organizace modelů.

Modelování dynamického chování objektů pomocí sekvenčních a stavových diagramů.

Implementace systému. Diagramy komponent a nasazení.

Formální metody specifikace. Jazyk OCL a způsob jeho použití.

Využití abstrakce při návrhu programových systémů - abstraktní datové typy, abstrakce algoritmů, rekurze.

Komponentní technologie - principy, struktura komponent, vlastnosti, metody, události.

Základy teoretické informatiky

Konečné automaty, regulární výrazy, uzávěrové vlastnosti třídy regulárních jazyků.

Bezkontextové gramatiky a jazyky. Zásobníkové automaty, jejich vztah k bezkontextovým gramatikám.

Matematické modely algoritmů - Turingovy stroje a stroje RAM. Složitost algoritmu, asymptotické odhady. Algoritmicky nerozhodnutelné problémy.

Třídy složitosti problémů. Třída PTIME a NPTIME, NP-úplné problémy.

Pojem relace, homogenní a heterogenní relace, operace s relacemi, vlastnosti. Typy binárních relací. Relace ekvivalence a relace uspořádání.

Obecný pojem operace a obecný pojem algebra. Algebry s jednou a dvěma binárními operacemi. Homomorfismy. Grupy, Booleovy algebry.

Obecná rezoluční metoda a logické programování: rezoluční pravidlo a algoritmus unifikace v predikátové logice 1. řádu.

Pojem (přímého a nepřímého) důkazu. Úplnost důkazových kalkulů v predikátové logice 1. řádu, (ne)rozhodnutelnost, neúplnost teorií obsahujících aritmetiku.

Softwarové inženýrství

Deklarativní programovací jazyky, význam funkcionálního a logického programování.

Struktura a činnost překladače, tvar zdrojového a cílového programu. Interpretační a kompilační překlad. Fáze překladu, vnitřní struktura překladače.

Vyšší programovací jazyky a jejich moderní rysy (správa paměti, implementace objektově orientovaných prvků, výjimky).

UML, základní diagramy a použití.

Atributovaný syntaxí řízený překlad. Sémantické akce.

Softwarový proces, postup a metody tvorby softwarového produktu.

Informační systémy

Analýza datová, normální formy relací. Analýza funkční, dynamická - metody a nástroje.

Paralelní procesy v databázích. Transakce, zamykání, uváznutí, dvoufázový protokol.

Architektury databázových systémů. Distribuované báze dat, definice, centralizace řízení, rozmístění dat.

Architektury informačních systémů v prostředí Internetu.

Počítačová grafika

Základní metody výstupu grafické informace. Technické a softwarové prostředky pro grafický výstup.

Reprezentace barev (systémy RGB, HSV, HLS, CMY, CMYK).

Komprese obrazu, zejména ztrátová komprese JPEG a MPEG.

Počítače a sítě

Architektura univerzálních mikroprocesorů. Principy urychlování činnosti procesorů.

Základní vlastnosti monolitických počítačů a jejich typické integrované periférie. Možnosti použití.

Struktura OS a jeho návaznost na technické vybavení počítače.

Protokolová rodina TCP/IP.

Metody sdíleného přístupu ke společnému kanálu.

Problémy směrování v počítačových sítích. Adresování v IP, překlad adres (NAT).

Bezpečnost počítačových sítí s TCP/IP: útoky, paketové filtry, stavový firewall. Šifrování a autentizace, virtuální privátní sítě.