F1222 C++ for physicists

Faculty of Science
Autumn 2019
Extent and Intensity
0/2/0. 2 credit(s). Type of Completion: z (credit).
Ing. Mgr. Bc. Ján Dugáček, Ph.D. (seminar tutor)
Guaranteed by
Mgr. Jiří Vohánka, Ph.D.
Department of Physical Electronics - Physics Section - Faculty of Science
Contact Person: Ing. Mgr. Bc. Ján Dugáček, Ph.D.
Supplier department: Department of Physical Electronics - Physics Section - Faculty of Science
Wed 18:00–19:50 Fs1,01017
Basic knowledge of some imperative programming language
Understanding of physics on high school level
Course Enrolment Limitations
The course is offered to students of any study field.
Course objectives
The goal is to learn to use C++ to solve computational tasks in physics. Students will learn basic program control, how C and C++ work with memory, how to practically group data into objects, how to use more processor cores and how to create a graphical user interface.

Numerical methods are not the subject of this course.
Learning outcomes
Students will learn:
- basic program control
- how C and C++ work with memory
- how to practically group data into objects
  • 1. Introduction, setting up IDE, compilation, hello world
  • 2. Primitive types, arrays, if, for, while, functions
  • 3. Useful functions, data structures and complexity
  • 4. Low-level memory usage
  • 5. Text parsing
  • 6. Objects and classes
  • 7. Operators
  • 8. Low-level memory usage II
  • 9. Graphical user interface
  • 10. Parallelisation
  • 11. Using GPU for computation
  • 12. Dependency compilation, 3D visualisation
  • 13. Reserved
  • 14. Reserved
  • VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000. 227 s. ISBN 8072321102. info
  • LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO : kompletní kapesní průvodce. 1. vyd. Praha: Grada, 1999. 643 s. ISBN 8071696315. info
  • MEYERS, Scott. Effective C++ : 50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998. xx, 256. ISBN 0201924889. info
  • VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998. 364 s. ISBN 8001018741. info
  • VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997. 251 s. ISBN 8071696072. info
  • STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997. x, 910. ISBN 0201889544. info
Teaching methods
Consultative exercises with a short theoretical introduction. Students are expected to bring their own laptop. Operating system Linux is strongly recommended (or Windows 10 with WSL).
Assessment methods
Finishing a project demonstrating ability to write a program that solves the chosen task
Language of instruction
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms autumn 2017, Autumn 2018.
  • Enrolment Statistics (recent)
  • Permalink: https://is.muni.cz/course/sci/autumn2019/F1222