Přejít na obsah

Algoritmy a programování v kybernetice (APK)

Kredity: 5 ( Přednášky: 2, Cvičení: 2)
Semestr: ZS
Zakončení: zp; zk
Garant: Šmídl Luboš
Přednášející: Šmídl Luboš
Cvičící: Šmídl Luboš, Švec Jan

Anotace

Cílem předmětu je seznámit studenty s analýzou základních problémů a vhodnými algoritmy pro jejich řešení, úvod do jazyka C/C++. Optimalizace datových struktur a numerické algoritmy pro kybernetiku a jejich implementace, paralelní programování. 

Přehled látky

  • 1.-4.: Analýza, dekompozice a algoritmizace. Programování jako nástroj pro řešení problémů, úvod do jazyka Python. 
  • 5.-7.: Standardní datové struktury (matice, vektor, řídká matice, graf), optimalizace datových struktur s ohledem na specifika architektury počítače - lokalita struktur v paměti, vhodná volba datových typů. 
  • 8.-10.: Numerické algoritmy a jejich implementace (pojem stabilita numerického algoritmu, umělá stabilizace, konvoluce a filtrace, numerická optimalizace), standardní knihovny lineární algebry (BLAS, LAPACK). 
  • 11.-13.: Paralelní programování (paralelizace, vektorizace, jejich rozdíly, specifika kompilátorů, automatická vektorizace, paralelizace), heterogenní a distribuované systémy, vícejádrové a mnohojádrové architektury se sdílenou pamětí, paralelní konstrukty (paralelní for, tasky, pipelines).


Požadavky

Zápočet: semestrální práce, aktivní zvládnutí probírané látky 
Zkouška: písemná/ústní zkouška - odpovídají znalost odpřednesené a procvičené látky. 



Literatura