Seminar: C++: discovering and teaching modern C++20 programming

Administrative information

Seminar course for Bachelor students (IN0014) and Master students (IN2107).


Programming experience in C++ is required.
Motivation to learn and help others learn is helpful.


The seminar is open to all students of Informatics, Mathematics, and Physics.
The number of participants is limited to 20.

Registration is now closed.

Course overview

C++ is a modern and developing programming language with a focus on high performance. It is being used widely in very different contexts and has excellent support in both tools and libraries. Even though the language is quite old with its roots going back to the 1980s, the language received a huge overhaul in 2011 with C++11, lifting it into the 21st century. Since then, the language has been refined and advanced in a regular three-year cadence, with C++14, C++17 and this year's C++20. In this seminar, we will focus on getting up-to-date on modern C++ programming techniques, up to and including C++20. Excursions into future proposals for C++23 and beyond are also welcome.

Each student will focus on a particular topic (such as concepts, ranges, expression templates), and prepare a teaching unit of 30 minutes, consisting of a presentation introducing the topic as well as live exercises, in which all the other participants will take part to practice actual applications of the topic. Active involvement of the audience (the other course participants) is very much encouraged. Finally, a written report on the topic will serve as future reference for the participants of the course.

The seminar will take place in weekly sessions during the summer term 2020. Attendance in most of the sessions is mandatory.

Course materials

All course materials are available in the TUM Wiki.