|
|
|
||
*** Výuka bude probíhat formou nepravidelných seminářů v období říjen - duben. Prosíme všechny zájemce o tento předmět, aby se nejpozději do začátku zimního semestru ozvali garantům předmětu. Termíny seminářů budou se zájemci domluveny následně. ***
Seznámit se základními programovacími technologiemi, datovými strukturami a algoritmy. Naučit se vytvářet přehledné a snadno udržovatelné programy. Důraz bude kladen na programovací jazyk Fortran 90/95 i jeho novější varianty (Fortran 2003/2018). Rámcově se seznámit s charakteristikami a možnostmi použití dalších jazyků (C/C++, Python) a jejich vzájemného propojení. Seznámit se s technikami pro paralelizaci programů (MPI, OpenMP).
Poslední úprava: Grof Zdeněk (21.06.2022)
|
|
||
Vypracování průběžně zadávaných projektů. Závěrečný pohovor nad odevzdanými projekty. Poslední úprava: Grof Zdeněk (08.06.2021)
|
|
||
Curcic M: Modern Fortran - Building efficient parallel applications, Manning, 2020.
Metcalf M, Reid J, Cohen M: Modern Fortran explained: icorporating Fortran 2018, Oxford University Press, 2018.
Clerman N S, Spector W: Modern Fortran: style and usage, Cambridge University Press, 2012.
Ray S, Fortran 2018 with parallel programming, CRC Press, 2020.
Horton I: Ivor Horton's Beginning Visual C++ 2013, Willey, 2014.
Hubbard J R: Programming with C++, Schaum's outline series, McGraw-Hill, 1996.
Chacon S, Straub B, Pro Git, Apres, 2014. [open source, dostupné z https://git-scm.com/book]
Vaněk T.: Přednášky pro předmět PPPT, 2017. [elektronická forma, dostupné na e-learningu]
Další literatura z internetových zdrojů (programovací jazyky: manuály, tutoriály, apod.) Poslední úprava: Grof Zdeněk (21.06.2022)
|
|
||
1. Úvod, reprezentace dat v paměti, základy programováni ve Fortranu I.
2. Základy programování ve Fortranu II.
3. Odvozené datové typy ve Fortranu, ukazatele (pointery), pole a seznamy (linked-lists).
4. Abstraktní datové struktury (queue, stack), základní prvky objektově orientovaného programování.
5. Rekurze, řadící algoritmy.
6. Binární stromy, procházení a hledání cesty v grafech.
7. Čtení a zápis dat ve Fortranu (Fortran I/O).
8. Paralelizace programů pomocí MPI I.
9. Paralelizace programů pomocí MPI II.
10. Programátorský styl. Spolupráce při tvorbě programů a správa verzí (git a github).
11. Programovací jazyk Python (úvod, propojení s programy ve Fortranu).
12. Programovací jazyk C (jak číst programy napsané v C a jejich propojení s Fortranem).
Poslední úprava: Grof Zdeněk (26.04.2023)
|
|
||
Student bude umět
Poslední úprava: Grof Zdeněk (21.06.2022)
|
|
||
Základní zkušenosti s programováním (například v jazycích Fortran, C, Matlab, Python) a obecné povědomí o programovacích technologiích a algoritmech budou výhodou, ale ne nezbytnou.
Předpokládáme, že v průběhu kurzu budou mít studenti dostatek času doplnit si připadné mezery samostudiem nebo konzultacemi. Poslední úprava: Grof Zdeněk (21.06.2022)
|