FU:OAVENP0003 Programování - Informace o předmětu
OAVENP0003 Programování
Fyzikální ústav v Opavězima 2020
- Rozsah
- 10 hodin přednášek, 30 hodin cvičení. 6 kr. Ukončení: zk.
- Garance
- RNDr. Martin Kološ, Ph.D.
Fyzikální ústav v Opavě - Předpoklady
- (FAKULTA(FU) && TYP_STUDIA(N))
- Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
- Mateřské obory/plány
- Observační astrofyzika vysokých energií (program FU, OBAFYVENM)
- Cíle předmětu
- Obsahem předmětu je seznámení se základními znalostmi a pojmy potřebnými pro programování vědeckých i komerčních aplikací nezávisle na použitém programovacím jazyce. Úvodní část kurzu bude věnována základním myšlenkovým schématům a algoritmům nutným k pochopení principů sekvenčního programování. Další část bude věnována základním prvkům obvyklých programovacích jazyků, jako jsou konstanty, proměnné, klíčová slova a řídící struktury. V návaznost na popis formální definice programovacího jazyka budou demonstrovány konkrétní způsoby softwarových vývojových prostředí, kompilace a interpretace kódu. Budou popsány různé metody realizace uživatelského rozhraní kódu a jeho vazby na použité hardwarové a softwarové technologie. V závěru kurzu budou diskutovány alternativy přístupu ke strukturování a výstavbě kódu jako jsou např. procedurální programování, objektové programování, neprocedurální a deklarativní jazyky, paralelizace kódu. Ač je volba programovacího jazyka pro studentské projekty arbitrární, kurz bude primárně orientován na jazyk C++ a na vysokoúrovňové programovací jazyky jako např. Python nebo IDL.
- Osnova
- Přednášky pokryjí následující témata: • Pojem počítačového programu, Von Neumanova architektura počítače, procesor, paměť, program, data, strojový kód, programovací jazyk, souborový systém, vstupní a výstupní zařízení. • Filozofie sekvenčního programování, provádění programu, řídící struktury programu (podmínky a cykly), algoritmy a jejich implementace. • Základní prvky syntaxe programovacího jazyka: klíčová slova, proměnné, konstanty, operátory, funkce, procedury, syntaktická pravidla. • Vývojová prostředí, tvorba a ladění kódu: Integrovaná vývojová prostředí, kompilátory, linkery, knihovny funkcí, debuggery, interprety. • Uživatelský vstup a výstup, I/O operace, zápis do souborového systému, grafický výstup, interface kódu pro GUI, přímý přístup do paměti. • Alternativy výstavby a strukturování kódu: procedurální jazyky, objektové programování, deklarativní a neprocedurální jazyky • Paralelizace kódu: OpenMP, MPI – symetrický multiprocesing versus programování na clusterech
- Literatura
- povinná literatura
- sUčebnice jazyka C, Pavel Herout, Kopp, České Budějovice, 2009, ISBN 978-80-7232-383-8
- Numerical Recipes. The Art of Scientific Computing, 3rd Edition, 2007, ISBN 0-521-88068-8. (C++ code)
- doporučená literatura
- Numerical Recipes in Fortran. The Art of Scientific Computing, 2nd Edition, 1992, ISBN 0-521-43064-X.
- B. Stroustrup: The C++ Programming Language. 3rd edition. Addison-Wesley 1997. ISBN 0-201-88954-4.
- Metody hodnocení
- Student vypracuje semestrální projekt (počítačový program) řešící astrofyzikálně problém dohodnutý s cvičícím. Funkčnost vyvinutého kód je podmínkou pro zápočet. Úspěšná obhajoba a diskuze řešení – vyvinutého kódu - je předmětem zkoušky.
- Další komentáře
- Předmět je vyučován každoročně.
Výuka probíhá blokově.
- Statistika zápisu (zima 2020, nejnovější)
- Permalink: https://is.slu.cz/predmet/fu/zima2020/OAVENP0003