PředmětyPředměty(verze: 902)
Předmět, akademický rok 2021/2022
  
Advanced programming and technologies of programming - AP409011
Anglický název: Advanced programming and technologies of programming
Zajišťuje: Ústav chemického inženýrství (409)
Platnost: od 2019
Semestr: oba
Body: 0
E-Kredity: 0
Způsob provedení zkoušky:
Rozsah, examinace: 3/0 [hodiny/týden]
Počet míst: zimní:neurčen / neurčen (neurčen)
letní:neurčen / neurčen (neurčen)
Minimální obsazenost: neomezen
Jazyk výuky: angličtina
Způsob výuky: prezenční
Úroveň:  
Pro druh: doktorské
Poznámka: předmět je určen pouze pro doktorandy
student může plnit i v dalších letech
předmět lze zapsat v ZS i LS
Garant: Zubov Alexandr Ing. Ph.D.
Grof Zdeněk doc. Ing. Ph.D.
Záměnnost : D409023, P409011
Anotace -
Poslední úprava: Grof Zdeněk doc. Ing. Ph.D. (08.07.2021)
*** 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).
Výstupy studia předmětu -
Poslední úprava: Grof Zdeněk doc. Ing. Ph.D. (21.06.2022)

Student bude umět

  • orientovat se v nejdůležitějších programovacích technologiích

  • vytvářet přehledné a snadno udržovatelné programy a používat programátorský rukopis

  • používat jazyk Fortran v jeho moderní formě

  • číst programy v jazycích C, C++ a Python

  • používat a navrhovat složitější datové struktury

  • teorii a implementaci algoritmů pro různé účely

  • základy paralelizace programů pomocí MPI

Literatura -
Poslední úprava: Grof Zdeněk doc. Ing. Ph.D. (21.06.2022)
  • 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.)

Sylabus -
Poslední úprava: Grof Zdeněk doc. Ing. Ph.D. (08.07.2021)

1. Úvod, reprezentace dat v paměti, programováni ve Fortranu I.

2. Programování ve Fortranu II.

3. Programátorský rukopis, týmová spolupráce při tvorbě programů a správa verzí (git a github)

4. Datové struktury (např. pole/array, seznam/list, hromada/stack, fronta/queue). Používáni pointerů a základní prvky OOP.

5. Rekurze, algoritmy typu "Rozděl a vyřeš", řadící algoritmy, hledání cesty v labyrintu.

6. Paralelizace programů pomocí MPI I.

7. Paralelizace programů pomocí MPI II.

8. Programovací jazyky Python, C++ a jejich propojení s programy ve Fortranu.

Studijní prerekvizity -
Poslední úprava: Grof Zdeněk doc. Ing. Ph.D. (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.

Podmínky zakončení předmětu -
Poslední úprava: Grof Zdeněk doc. Ing. Ph.D. (08.07.2021)

Vypracování průběžně zadávaných projektů.

Závěrečný pohovor nad odevzdanými projekty.

 
VŠCHT Praha