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
- Základní: Racek, Stanislav; Ježek, Karel. Paralelní programování. Plzeň : ZČU, 1994. ISBN 80-7082-128-0.
- Základní: Herout, Pavel. Učebnice jazyka C. 1. díl. České Budějovice : Kopp, 2004. ISBN 80-7232-220-6.
- Základní: Pecinovský, Rudolf; Virius, Miroslav. Učebnice programování - základy algoritmizace : Učebnice s příklady v turbo Pascalu a Borland C++. Praha : Grada, 1997. ISBN 80-7169-577-7.
- Doporučená: Cormen, Thomas H. Introduction to algorithms. Cambridge : MIT Press, 2001. ISBN 0-262-03293-7.
- Doporučená: Knuth, Donald E. The art of computer programming. Vol. 1, fundamental algorithms. Massachusetts : Addison-Wesley, 1973. ISBN 0-201-03809-9.
- Doporučená: Herout, Pavel. Učebnice jazyka C. 2. díl. České Budějovice : Kopp, 2004. ISBN 80-7232-221-4.
- Doporučená: Virius, Miroslav. Základy algoritmizace. Praha : ČVUT, 1995. ISBN 80-01-01346-4.