FU:OAVENP0003 Programování - Informace o předmětu
OAVENP0003 Programování
Fyzikální ústav v Opavězima 2021
- Rozsah
- 10 hodin přednášek, 30 hodin cvičení. 6 kr. Ukončení: zk.
- Vyučující
- Mgr. Debora Lančová, Ph.D. (přednášející)
Mgr. Debora Lančová, Ph.D. (cvičící) - Garance
- RNDr. Kateřina Klimovičová, Ph.D.
Fyzikální ústav v Opavě - Rozvrh
- St 11:25–12:10 LPS
- Rozvrh seminárních/paralelních skupin:
- 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 dovoleno ukončit i mimo zkouškové období.
Předmět je vyučován každoročně.
- Statistika zápisu (zima 2021, nejnovější)
- Permalink: https://is.slu.cz/predmet/fu/zima2021/OAVENP0003