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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. Vyčíslitelnost
    Turingův stroj. Problém zastavení. Rozhodnutelnost a částečná rozhodnutelnost, nerozhodnutelnost. Metoda redukce, diagonalizace.
    IB102/IB005+IB107
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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

  1. Programovací jazyky
    Datové a řídicí struktury programovacích jazyků, datové typy. Kompilace, interpretace.
    IB111, PB071, PB161/PB162
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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