Detail předmětu
Programovací seminář
FIT-IPS Ak. rok: 2019/2020 Zimní semestr
Dynamické přidělování paměti, datový typ ukazatel a reference. Aktivační záznam a rekurze. Překlad, zavádění a laděni binárních programů. Implementace stavových automatů. Implementace algoritmů nad regulárními výrazy. Synchronizace programů. Principy práce s vlákny a procesy. Vybrané synchronizační chyby. Úvod do MPI. Problematika výpadků stránek a dopad na výpočetní výkon.
Jazyk výuky
čeština
Počet kreditů
2
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
- Student dokáže vysvětlit problematiku exekuce programů, umí vysvětlit práci s dynamickým přidělováním paměti.
- Student dokáže využít stavové automaty v řízení programů.
- Student zvládne aplikovat regulární výrazy.
- Student ovládá tvorbu paralelních programů.
- Student dokáže identifikovat pokles výkonu související s paměťovými přístupy.
Prerekvizity
Programování v jazyce C. Základy algoritmizace. Základní synchronizační primitiva. Architektura počítače.
Způsob a kritéria hodnocení
- 10 bodů za každou úlohu řešenou ve dvojici, celkem 20
- 80 bodů zápočtová písemka
Podmínky zápočtu:
Zápočet je udělen při získání minimálně 50 bodů za semestr.
Učební cíle
Cílem předmětu je nahlédnout na klíčové kapitoly principů programování a operačních systémů jiným pohledem, zejména v souvislosti s abstrakcemi algoritmů a formálních automatů a modelů tak, aby došlo k vzájemnému propojení jak teoretických, tak praktických dovedností a znalostí.
Použití předmětu ve studijních plánech
Program IT-BC-3: Informační technologie, bakalářský
obor BIT: Informační technologie, volitelný
Program BIT: Informační technologie, bakalářský
specializace BITP: Informační technologie, volitelný
Program B3A-P: Aplikované vědy v inženýrství, bakalářský
obor B-MAI: Matematické inženýrství, volitelný (nepovinný)
Typ (způsob) výuky
Seminář
20 hod., nepovinná
Osnova
DEMO cvičení s rozšířeným výkladem:
- Ukazatele, dynamické přidělování paměti.
- Aktivační záznam, rekurze.
- Překlad a ladění programu
- (cvičení viz níže)
- (cvičení viz níže)
- Stavové automaty, regulární výrazy v *nixových programech
- Synchronizace procesů
- Uváznutí
- (cvičení viz níže)
- (cvičení viz níže)
- Tabulka stránek v OS
- Vliv stránkování a vyrovnávací paměti na výkonu
- Zápočtová písemka
Projekt
6 hod., povinná
Osnova