PředmětyPředměty(verze: 963)
Předmět, akademický rok 2024/2025
  
Pokročilé programování a programovací technologie - P409011
Anglický název: Advanced programming and technologies of programming
Zajišťuje: Ústav chemického inženýrství (409)
Fakulta: Fakulta chemicko-inženýrská
Platnost: od 2023
Semestr: oba
Body: 0
E-Kredity: 0
Způsob provedení zkoušky:
Rozsah, examinace: 3/0, Jiné [HT]
Počet míst: zimní:10 / neurčen (neurčen)
letní:neurčen / neurčen (neurčen)
Minimální obsazenost: neomezen
Stav předmětu: vyučován
Jazyk výuky: čeština
Způsob výuky: prezenční
Způsob výuky: prezenční
Úroveň:  
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 doc. Ing. Ph.D.
Grof Zdeněk doc. Ing. Ph.D.
Klasifikace: Informatika > Programování
Je záměnnost pro: AP409011
Pro tento předmět jsou dostupné online materiály
Anotace -
*** 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)
Výstupy studia předmětu -

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

Poslední úprava: Grof Zdeněk (21.06.2022)
Podmínky zakončení předmětu (Další požadavky na studenta) -

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)
Literatura -

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)
Sylabus -

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)
Studijní prerekvizity -

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)
 
VŠCHT Praha