This advanced C++ training is a course on object-oriented (OO) software design with the C++ programming language. The focus of the training are the essential OO and C++ software development principles, concepts, idioms, and best practices, which enable programmers to create professional, high-quality code. Additionally, the course gives insight into kernel development with C++. The course will not address special areas and applications of C++, such as for instance Template Meta Programming (TMP), or the quirks and curiosities of the C++ language. It rather teaches guidelines to develop mature, robust, maintainable, and efficient C++ code.
Since 2020 we provide two types of C++ courses, each offered two times per year, once in English, once in German.:
with two different levels of prerequisites.
This hybrid event will take place online and at HLRS, University of Stuttgart Nobelstraße 19 70569 Stuttgart, Germany Room 0.439 / Rühle Saal Location and nearby accommodations
May 13, 2025 08:30
May 16, 2025 16:30
Hybrid Event - Stuttgart, Germany
English
Advanced
Programming Languages for Scientific Computing
C/C++
Back to list
Course participants should have at least two to three years of experience with the language. This includes a solid knowledge of the syntax of C++, experience with the standard library (std::vector, std::list, std::unique_ptr, …), hands-on experience with both template-based and inheritance-based designs and some experience with design patterns.
Course participants can bring their own laptops, but HLRS will provide machines with an up-to-date C++ environment. For these, participants should have basic UNIX/Linux knowledge (login with secure shell, shell commands, simple scripts, editor vi or emacs). In the online course, participants are expected to use their own devices. The programming tasks, including both Makefiles and CMake files, will be distributed before the course.
If you will participate remotely, you should have access to an C++20 programming environment.
For similar courses, please have a look at the 3- or 4-day advanced C++ courses at LRZ , the 4 day course at VSC in Vienna or directly on Klaus Iglberger's course page.
Learn more about course curricula and content levels.
Klaus Iglberger (External trainer)
After this course, participants will:
All times are local times in the central European time zone (Berlin).
Local registration/drop in to zoom (8:30 - 9:00)
1st day course schedule (9:00 - 17:30)
2nd day schedule (9:00 - 17:30)
3rd day schedule (9:00 - 17:30)
4th day schedule (9:00 - 16:30)
Lunch break will usually be between 12.30-13.45.
Each participant will get a copy of all slides (PDF).
Besides the content of the training itself, an important aspect of this event is the scientific exchange among the participants. We try to facilitate such communication by
Register via the button at the top of this page (will be available soon).
This course will be hybrid, i.e. it will take place at HLRS on-site but it will also be possible to attend online. Participants, online as well as on-site, have to be aware and agree that they might appear in the live video stream taken by a camera in the back of the lecture room or by a webcam on laptops. The live stream will not be saved. We strongly recommend to attend this course on-site since on-site attendance is much more effective and efficient in our experience. Therefore we might give priority to on-site over online participants during registration.
Registration closes on April 27 2025.
Link to the EU and EU-associated (Horizon Europe), and PRACE countries.
Our course fees include coffee breaks (in classroom courses only).
Tobias Haas phone 0711 685 87223, tobias.haas(at)hlrs.de
HLRS is part of the Gauss Centre for Supercomputing (GCS), together with JSC in Jülich and LRZ in Garching near Munich. EuroCC@GCS is the German National Competence Centre (NCC) for High-Performance Computing. HLRS is also a member of the Baden-Württemberg initiative bwHPC.
This course is provided within the framework of the bwHPC training program.
See the training overview and the Supercomputing Academy pages.
March 10 - 14, 2025