Programming - NSZI063 (Obecná informatika Bc. - IPP3 - zaměření Systémové programování)
Title: Systémové programování
Guaranteed by: Student Affairs Department (32-STUD)
Faculty: Faculty of Mathematics and Physics
Actual: from 2021
Semester: both
E-Credits: 0
Hours per week, examination: 0/0, STEX [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: Czech
Teaching methods: full-time
Teaching methods: full-time
Note: can be fulfilled in the future
no points awarded for fulfilment
you can enroll for the course in winter and in summer semester
Opinion survey results   Examination dates   WS schedule   SS schedule   Noticeboard   
Requirements to the exam - Czech
Last update: 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 Systémové programování budou navíc zkoušeni z těchto tematických okruhů:

1. 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.

2. Operační systémy

Spouštění procesů, dynamicky linkované knihovny, volací konvence. Paralelismus a synchronizace na multiprocesorech. Rozhraní pro synchronizaci. Správa paměti na multiprocesorech, alokátory, garbage collection. Rozhraní pro práci se soubory, paměťově mapované soubory. Interní struktura základních systémů souborů. Princip komunikace mezi periferiemi a operačním systémem.

3. Počítačové sítě

Linková vrstva, adresace v~Ethernetu. Síťová vrstva, adresace v IPv4 a IPv6, statické směrování, NAT. Transportní vrstva, adresace v TCP a UDP, spolehlivost, řízení toku. Aplikační rozhraní a aabstrakce pro síťovou komunikaci. Zabezpečení komunikace, autentizace, šifrování.

4. Překladače a~programovací jazyky

Lexikální analýza. Syntaktická analýza. Sémantická analýza. Mezikód.

5. Návrh a~tvorba software

Principy objektového návrhu. Návrh API, tříd a metod. Návrhové vzory.