|
|
|
||
Požadavky znalostí ke státní závěrečné zkoušce společné pro všechny specializace
Matematika
1. Základy diferenciálního a integrálního počtu Posloupnosti reálných čísel a jejich limity. Řady. Reálné funkce jedné reálné proměnné. Derivace a její aplikace. Integrály a jejich aplikace.
2. Algebra a lineární algebra Algebraické struktury. Soustavy lineárních rovnic. Matice. Vektorové prostory. Lineární zobrazení. Skalární součin. Determinanty. Vlastní čísla a vlastní vektory. Positivně semidefinitní a positivně definitní matice.
3. Diskrétní matematika Relace. Ekvivalence a rozkladové třídy. Částečná uspořádání. Funkce. Permutace a jejich základní vlastnosti. Kombinační čísla a vztahy mezi nimi, , binomická věta a její aplikace. Princip inkluze a exkluze. Hallova věta o systému různých reprezentantů a její vztah k párování v bipartitním grafu.
4. Teorie grafů Základní pojmy teorie grafů. Základní příklady grafů. Souvislost grafů, komponenty souvislosti, vzdálenost v grafu. Stromy, jejich vlastnosti, ekvivalentní charakteristiky stromů. Rovinné grafy. Barevnost grafů. Hranová a vrcholová souvislost grafů. Orientované grafy, silná a slabá souvislost. Toky v sítích.
5. Pravděpodobnost a statistika Pravděpodobnostní prostor, náhodné jevy, pravděpodobnost. Náhodné veličiny a jejich rozdělení. Limitní věty. Bodové odhady. Intervalové odhady: metoda založená na aproximaci normálním rozdělením. Testování hypotéz.
6. Logika Syntaxe. Sémantika. Extenze teorií. Dokazatelnost. Věty o kompaktnosti a úplnosti výrokové a predikátové logiky. Rozhodnutelnost.
Informatika
1. Automaty a jazyky Regulární jazyky. Bezkontextové jazyky. Rekurzivně spočetné jazyky. Chomského hierarchie.
2. Algoritmy a datové stuktury Časová složitost algoritmů. Třídy složitosti. Metoda rozděl a panuj. Binarní vyhledávací stromy. Třídění. Grafové algoritmy.
3. Programovací jazyky Koncepty pro abstrakci, zapouzdření a polymorfizmus. Primitivní a objektové typy a jejich reprezentace. Generické typy a funkcionální prvky. Manipulace se zdroji a mechanizmy pro ošetření chyb. Životní cyklus objektů a správa paměti. Vlákna a podpora synchronizace. Implementace základních prvků objektových jazyků. Nativní a interpretovaný běh, řízení překladu a sestavení programu.
4. Architektura počítačů a operačních systémů Základní architektura počítače, reprezentace čísel, dat a programů. Instrukční sada, vazba na prvky vyšších programovacích jazyků. Podpora pro běh operačního systému. Rozhraní periferních zařízení a jejich obsluha. Základní abstrakce, rozhraní a mechanizmy OS pro běh programů, sdílení prostředků a vstup/výstup. Paralelismus, vlákna a rozhraní pro jejich správu, synchronizace vláken. *************************** Studenti specializace Systémové programování budou navíc zkoušeni z těchto tematických okruhů:
Architektura počítačů
Výkonnost počítače a procesoru, metriky a omezení. Zpracování instrukcí procesorem, paralelismus, predikce a spekulace. Architektura paměťového subsystému, architektura cache. Multi-core a multi-socket systémy, koherence cache. Komunikace se zařízeními.
Související předměty:
NSWI143 Architektura počítačů
Operační systémy
Správa procesů a vláken, plánování, komunikace, synchronizace. Správa paměti, stránkování, správa paměti uvnitř procesů, sdílení paměti. Souborové systémy, koncepty a rozhraní, typické diskové struktury. Správa periferií, ovladače zařízení.
Související předměty:
NSWI200 Operační systémy
Počítačové sítě
Linková vrstva, adresace v Ethernetu, VLAN. Síťová vrstva, adresace v IPv4 a IPv6, statické směrování, NAT, IP tunely, VPN. Transportní vrstva, adresace v TCP a UDP, spolehlivost, řízení toku. Aplikační rozhraní a abstrakce pro síťovou komunikaci. Zabezpečení komunikace, autentizace, šifrování.
Související předměty:
NSWI090 Počítačové sítě
Překladače a programovací jazyky
Architektura překladače, AOT a JIT překlad. Vnitřní reprezentace programu. Optimalizace programu překladačem. Generování kódu pro cílový procesor.
Související předměty:
NSWI098 Principy překladačů
Správa paměti v běhových prostředích, životní cyklus objektů. Polymorfismus, generické programování, typová inference. Významné prvky standardních knihoven a jejich aplikace.
Související předměty:
Témata jsou pokryta povinnými a povinně volitelnými předměty zaměřenými na programovací jazyky. V rámci specializace je nutné absolvovat minimálně 3 takové předměty:
NPRG041 Programování v C++ V rámci PV předmětů skupiny 1: NPRG013 Programování v jazyce Java nebo NPRG035 Programování v jazyce C#. V rámci PV předmětů skupiny 2: NPRG051 Pokročilé programování v C++ nebo NPRG021 Pokročilé programování v jazyce Java nebo NPRG038 Pokročilé programování v jazyce C#.
Návrh a tvorba software
Principy objektového návrhu, návrh API, tříd a metod, návrhové vzory.
Související předměty:
Téma prostupuje řadou povinných a povinně volitelných předmětů zaměřených na programování. Specificky v tomto případě se očekává doplnění znalostí absolvováním vhodné kombinace PV předmětů ze skupiny 3.
NPRG043 Doporučené postupy v programování nebo NPRG024 Návrhové vzory NSWI041 Úvod do softwarového inženýrství nebo NSWI130 Architektury softwarových systémů nebo NSWI054 Softwarové inženýrství pro spolehlivé systémy
Paralelní programování, paměťový model, atomické operace a neblokující datové struktury.
Související předměty:
NPRG042 Programování v paralelním prostředí
Správa verzí, systémy pro sestavování software, nástroje pro testování software.
Související předměty:
NSWI154 Nástroje pro vývoj software
V rámci specializace se očekává, že získání potřebných znalostí a dovedností v této oblasti bude primárně výsledkem absolvování předmětů, u kterých je tvorba programů důležitým aspektem hodnocení. Základem jsou povinné a povinně volitelné předměty (skupiny 1 a 2) věnované programovacím jazykům doplněné o vhodný výběr povinně volitelných předmětů ze skupiny 3. Poslední úprava: Novotná Obeidová Dina, Mgr. (12.06.2026)
|
