FU:OAVENP0003 Programming - Course Information
OAVENP0003 Programming
Institute of physics in Opavawinter 2022
- Extent and Intensity
- 0/0/0. 6 credit(s). Type of Completion: zk (examination).
- Teacher(s)
- Mgr. Debora Lančová, Ph.D. (lecturer)
Mgr. Debora Lančová, Ph.D. (seminar tutor) - Guaranteed by
- RNDr. Kateřina Klimovičová, Ph.D.
Institute of physics in Opava - Timetable
- Tue 9:45–10:30 LPS
- Timetable of Seminar Groups:
- Prerequisites (in Czech)
- (FAKULTA(FU) && TYP_STUDIA(N))
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- Observational High Energy Astrophysics (programme FU, OBAFYVENM)
- Course objectives (in Czech)
- 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.
- Syllabus (in Czech)
- 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
- Literature
- required literature
- 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)
- recommended literature
- 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.
- Assessment methods (in Czech)
- 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.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- The course can also be completed outside the examination period.
The course is taught annually.
Information on the extent and intensity of the course: 10 hodin přednášek, 30 hodin cvičení.
- Enrolment Statistics (winter 2022, recent)
- Permalink: https://is.slu.cz/course/fu/winter2022/OAVENP0003