{{Not_complete}}
Převzato z webu MFF a převedeno na strukturovaný seznam:
Logika
(Základy:)
jazyk,
formule,
sémantika,
tautologie.
(Vlastnosti:)
rozhodnutelnost,
splnitelnost,
pravdivost,
dokazatelnost.
Věty o kompaktnosti a úplnosti výrokové a predikátové logiky.
(Tvary formulí:)
normální tvary výrokových formulí,
prenexní tvary formulí predikátové logiky.
Automaty a jazyky
(Základy:)
Chomského hierarchie,
třídy automatů a gramatik,
determinismus a nedeterminismus.
Uzávěrové vlastnosti tříd jazyků.
Algoritmy a datové struktury
Časová složitost algoritmů, složitost v nejhorším a průměrném případě.
Třídy složitosti P a NP, převoditelnost, NP-úplnost.
Metoda „rozděl a panuj“ - aplikace a analýza složitosti.
(Datové struktury:)
binární vyhledávací stromy,
vyvažování,
haldy.
Hašování.
(Třídění:)
sekvenční třídění,
porovnávací algoritmy,
přihrádkové třídění,
třídící sítě.
Grafové algoritmy:
prohledávání do hloubky a do šířky,
souvislost,
topologické třídění,
nejkratší cesta,
kostra grafu,
toky v sítích.
Tranzitivní uzávěr.
Algoritmy vyhledávání v textu.
Algebraické algoritmy:
DFT,
Euklidův algoritmus.
(Kryptografie:)
Základy kryptografie,
RSA,
DES.
Pravděpodobnostní algoritmy - testování prvočíselnosti.
Aproximační algoritmy.
Databáze
Podstata a architektury DB systémů.
Konceptuální, logická a fyzická úroveň pohledů na data.
Relační datový model, relační algebra.
Algoritmy návrhu schémat relací, normální formy, referenční integrita.
Základy SQL.
Transakční zpracování, vlastnosti transakcí.
Organizace dat na vnější paměti, B-stromy a jejich varianty.
Architektury počítačů a sítí
Architektury počítače.
Procesory, multiprocesory.
Vstupní a výstupní zařízení, ukládání a přenos dat.
Architektury OS.
Procesy, vlákna, plánování.
Synchronizační primitiva, vzájemné vyloučení.
Zablokování a zotavení z něj.
Organizace paměti, alokační algoritmy.
Principy virtuální paměti, stránkování.
Systémy souborů, adresářové struktury.
Bezpečnost, autentifikace, autorizace, přístupová práva.
ISO/OSI vrstevnatá architektura sítí.
TCP/IP.
Spojované a nespojované služby, spolehlivost, zabezpečení protokolů.
Programovací jazyky
Principy implementace procedurálních programovacích jazyků, oddělený překlad, sestavení.
Objektově orientované programování.
Neprocedurální programování, logické programování.
Generické programování.