|
|
|
||
Poslední úprava: Mgr. Dina Novotná Obeidová (07.02.2024)
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 Programování a vývoj software budou navíc zkoušeni z těchto tematických okruhů:
1. Architektura počítačů, operačních systémů a sítí Organizace paměti za běhu programů. Paměťová reprezentace datových struktur. Cache a její vliv na výkonnost. Provádění instrukcí procesorem. Operační systémy.
2. Programovací jazyky Programování v C++. Programování v dynamických jazycích. Statický vs. dynamický polymorfismus, generické programování, typová dedukce. Paralelní programování a synchronizace. Komponenty, dependency injection. Reflexe a introspekce. Návrhové vzory. Principy WWW, HTTP, HTTPS, URL, statické webové stránky. Principy webových aplikací. Programování na straně klienta. API webových aplikací. Základy bezpečnosti webových aplikací.
3. Softwarové inženýrství Procesy vývoje software. Analýza požadavků. Testování. Údržba (Software evolution). Analýza rizik. Správa verzí. Sestavování. Měření výkonnosti. Návrh API, tříd a metod, objektový návrh. Základy bezpečnosti webových aplikací.
4. Databáze Architektury databázových systémů. Transakční zpracování. Přehled SQL. Moderní databázové systémy.
|