Bakalářské SZZ
Pro každou otázku jsou uvedeny i kódy předmětů, které uvedenou problematiku pokrývají (jde jen o orientační výčet).
Teoretické základy informatiky a matematika
- Množiny, relace a zobrazení
Základní množinové operace. Relace a jejich vlastnosti – ekvivalence a rozklady, uspořádání a uspořádané množiny. Skládání relací, zobrazení (injekce, surjekce, bijekce).
IB000, MB101/MB201 - Elementární teorie čísel
Dělitelnost, Euklidův algoritmus, modulární operace, prvočíselnost a její testování, aplikace teorie čísel (RSA, DSA, lineární a polynomiální kódy).
MB104/MB204 - Logika
Výroková a predikátová logika, operace, kvantifikátory, syntax. Sémantika, pravdivost, splnitelnost, dokazatelnost. Normální formy formulí (konjunktivní a disjunktivní, prenexní, Hornovy klauzule).
IB000, IB101 - Lineární algebra I
Operace s vektory a maticemi, vlastnosti lineárních operací a skalárního součinu, řešení systému lineárních rovnic. Gaussova eliminace, determinant.
MB101/MB201 - Lineární algebra II
Vlastní čísla a vektory, jejich geometrický význam, inverzní matice, vektorové podprostory, vektorové báze. Afinní objekty, afinní transformace.
MB101/MB201 - Kombinatorika a pravděpodobnost
Elementární kombinatorika (kombinace, permutace, variace), řešení jednoduchých kombinatorických úloh. Pravděpodobnost, podmíněná pravděpodobnost (Bayesova věta).
MB101/MB201, MB103/MB203 - Statistika
Popisná statistika, střední hodnota, medián, rozptyl, korelace. Odhady statistik a jejich spolehlivost. Distribuční funkce, rozdělení náhodných veličin a jejich příklady.
MB103/MB203 - Matematická analýza
Vlastnosti reálných funkcí, polynomy, spojité funkce a limity, derivace, neurčitý a určitý integrál, geometrický význam. Diferenciální rovnice a jejich význam.
MB102/MB202, MB103/MB203 - Grafy
Typy grafů, stromy, stupně vrcholů, orientované grafy, reprezentace grafů. Algoritmy prohledávání grafu do hloubky a do šířky a jejich využití. Komponenty souvislosti.
IB000, IB002 - Grafové problémy
Ohodnocené grafy, definice nejkratší cesty, minimální kostry grafu, algoritmy pro hledání nejkratších cest (Dijkstrův, Bellman-Fordův algoritmus) a minimálních koster v grafu.
IB000, IB002 - Formální jazyky I
Chomského hierarchie formálních jazyků. Regulární jazyky, jejich reprezentace a převody mezi nimi. Varianty konečných automatů. Nedeterminismus a determinizace automatů. Uzávěrové vlastnosti regulárních jazyků.
IB102/IB005 - Formální jazyky II
Bezkontextové jazyky a jejich reprezentace. Varianty zásobníkových automatů (metody akceptování, determinismus a nedeterminismus, rozšířené zásobníkové automaty). Nedeterministická syntaktická analýza. Uzávěrové vlastnosti bezkontextových jazyků.
IB102/IB005 - Vyčíslitelnost
Turingův stroj. Problém zastavení. Rozhodnutelnost a částečná rozhodnutelnost, nerozhodnutelnost. Metoda redukce, diagonalizace.
IB102/IB005+IB107 - Korektnost a složitost algoritmu
Parciální a totální korektnost, důkazy korektnosti. Asymptotická složitost, O-notace. Zdůvodnění korektnosti a složitosti základních algoritmů (např. řadicí algoritmy, binární vyhledávání).
IB002, IB102/IB107 - Složitost
Složitost algoritmu versus složitost problému. Složitostní třídy (P, NP, PSPACE) a vztahy mezi nimi, příklady problémů z jednotlivých tříd. Těžkost a úplnost problému v dané třídě, polynomiální redukce problémů, NP-úplné úlohy.
IB102/IB107 - Základní datové struktury.
Základní abstraktní datové struktury (seznam, množina, zásobník, fronta), související operace a jejich složitost. Typické implementace, příklady použití.
IB111, IB002 - Datové struktury založené na stromech
Stromové datové struktury (binární vyhledávací stromy, B-stromy, červeno-černé stromy, haldy), související operace a jejich složitost. Typické implementace, příklady použití.
IB002 - Rekurzivní algoritmy
Metoda rozděl a panuj, výhody a nevýhody použití rekurze, odstranění rekurze. Vysvětlení principů a implementace řadících rekurzivních algoritmů. Vztah rekurze a matematické indukce.
IB002, IB015 - Funkcionální programování
Funkcionální programovací paradigma (princip výpočtu, redukční krok, redukční strategie a jejich vlastnosti, příklady). Funkce vyšších řádů a jejich využití. Lambda funkce. Schopnost elementárního programování v Haskellu.
IB015 - Logické programování
Logické programovací paradigma (princip výpočtu, unifikace, výpočetní stromy, dotazy, volné proměnné). Schopnost elementárního programování v Prologu.
IB015,IB101
Programové, výpočetní a informační systémy
- Programovací jazyky
Datové a řídicí struktury programovacích jazyků, datové typy. Kompilace, interpretace.
IB111, PB071, PB161/PB162 - Objektově orientované programování I
Zapouzdření, dědičnost, polymorfizmus. Realizace uvedených principů OOP v C++ nebo Javě (podle vlastní volby).
PB161/PB162 - Objektově orientované programování II
Objektové programování v imperativním jazyce, spolupráce objektů, událostmi řízené programování, výjimky. Realizace uvedených principů OOP v C++ nebo Javě (podle vlastní volby).
PB161/PB162 - Základní principy počítačů I
Číselné soustavy, vztahy mezi číselnými soustavami, zobrazení čísel v počítači, principy provádění aritmetických operací.
PB150/PB151 - Základní principy počítačů II
Kombinační a sekvenční logické obvody. Von Neumannova architektura. Principy práce procesoru, přerušení.
PB150/PB151 - Operační systémy
Architektury operačních systémů, aplikační programovací rozhraní operačních systémů. Periferie, jejich správa, ovladače. Procesy a vlákna, synchronizace procesů a vláken.
PB152/PB153 - Plánování procesů
Podstata a cíle plánování úloh v operačních systémech. Realizace plánování činnosti procesorů. Uváznutí, podmínky uváznutí a metody ochrany proti uváznutí.
PB152/PB153 - Práce s pamětí
Paměťová hierarchie. Práce s pamětí, logický a fyzický adresový prostor, správa paměti, virtualizace paměti, segmentace, stránkování.
PB152/PB153 - Databáze I
Relační model dat, relační schéma, klíče relačních schémat, relační algebra (projekce, selekce, agregace, přejmenování), spojování relací.
PB154 - Databáze II
Funkční závislosti, normální formy (1NF, 2NF, 3NF, Boyce-Coddova NF), vztahy mezi normálními formami. Dekompozice relačních schémat, normalizace schématu.
PB154 - SQL.
Syntaxe a sémantika příkazů. Příkazy pro dotazování a aktualizaci dat, agregační funkce, triggery a uložené procedury. Příkazy pro definici dat, integritní omezení.
PB154 - Transakce a zpracování dotazů
Transakční zpracování, jeho vlastnosti. Základní principy vyhodnocování dotazů (náklady na vyhodnocení dotazu, využití indexování a hašování).
PB154 - Počítačové sítě I
Modely vrstev počítačových sítí (ISO/OSI, TCP/IP): funkcionalita a součinnost vrstev, adresace. Fyzická vrstva, signály a jejich kódování, řízení přístupu k médiu.
PB156 - Počítačové sítě II
Propojování počítačových sítí. Síťové protokoly, přepínání a směrování, multicast. Zajištěný přenos dat, sestavení a ukončení spojení. Transportní protokoly.
PB156 - Síťové aplikace a bezpečnost I
Základní aplikační protokoly: doručování pošty, přenos souborů, web, jmenná služba. Principy popisu a zajištění kvality služby, použití pro multimédia.
PB156 - Síťové aplikace a bezpečnost II
Zabezpečení síťové komunikace, autentizace a šifrování, zabezpečení na jednotlivých protokolových vrstvách.
PB156 - Softwarové inženýrství I
Životní cyklus SW a související aktivity. Specifikace požadavků a jejich typy. Strukturované vs. objektově orientované metody analýzy a návrhu.
PB007 - Softwarové inženýrství II
Testování, verifikace a validace. Provoz, údržba a další vývoj systému. Role jazyka UML v podpoře analýzy a návrhu SW.
PB007 - Datové modelování
Návrh datových struktur, grafické vyjádření, převod do relačního modelu. ER diagram (entity, atributy, vztahy), UML diagram tříd a jejich srovnání.
PB007