This advanced C++ training is a course on software design with the C++ programming language. The focus of the training are the essential 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 provides insight into different design strategies (object-oriented programming, functional programming, generic programming) and the philosophy of “Modern C++” and teaches guidelines to develop mature, robust, maintainable, and efficient C++ code.
Please note that this course is not a tutorial on any specific C++ library or tool (as for instance OpenFoam or CUDA), but teaches good, mature software design with the C++ itself.
Since 2020 we provide two types of C++ courses, each offered two times per year:
with two different levels of prerequisites.
Online course Organizer: HLRS, University of Stuttgart, Germany
24. Nov 2020 08:30
27. Nov 2020 16:30
Online
Deutsch
Fortgeschritten
Programmiersprachen für wissenschaftliches Rechnen
Zurück zur Liste
Prerequisites Advanced C++ (this course):
At least two to three years of experience with the language is needed. This includes a solid knowledge of the syntax of C++, experience with the standard library (std::vector, std::list, …), hands-on experience with both template-based and inheritance-based designs and some experience with design patterns.
Prerequisites Intermediate C++ (other course type):
At least one year of experience with the language is needed. This includes a good understanding of the basic mechanics (header files, source files, compilation), good knowledge of the syntax of C++ (e.g. pointers and references, loops, conditionals, classes, ...), basic features (constructors, destructors, ...), and some prior experience with templates and inheritance.
Please choose the course that fits best to you!
Learn more about course curricula and content levels.
After this course, participants will:
In case of an on-site course, participants will be provided Linux machines. For that reason some familiarity with Linux is expected (login with secure shell, shell commands, simple scripts, editor vi or emacs). Alternatively, participants will be able to use their own machines. Any operating system (Windows, Linux, MacOS, ...), any IDE/editor (MS Visual Studio, CLion, vi, emacs, ...) and any compiler capable of at least C++14 (GCC, Clang, MSVC, ...) can be used. In case of a remote course, participants are expected to use their own machines. The programming tasks, including both Makefiles and CMake files, will be distributed before the course.
Local registration (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)
The course language is German. The slides are in English.
Klaus Iglberger (External)
Each participant will get a paper copy of all slides.
Further course material can be found here (for participants only).
Registration is now closed.
If you want a similar course in English, then please look at the 3- or 4-day advanced C++ courses at LRZ or directly on Klaus Iglberger's course page.
for registration is November 8, 2020 (extended deadline).
Students without Diploma/Master: 35 EUR. Students with Diploma/Master (PhD students) at German universities: 75 EUR. Members of German universities and public research institutes: 75 EUR. Members of universities and public research institutes within EU or PRACE member countries: 150 EUR. Members of other universities and public research institutes: 300 EUR. Others: 780 EUR.
Our course fees includes coffee breaks (in classroom courses only).
PRACE PATC and bwHPC-C5
HLRS is part of the Gauss Centre for Supercomputing (GCS), which is one of the six PRACE Advanced Training Centres (PATCs) that started in Feb. 2012. HLRS is also member of the Baden-Württemberg initiative bwHPC-C5. This course is provided within the framework of the bwHPC-C5 user support. This course is not part of the PATC curriculum and is not sponsored by the PATC program.
Contact
Andreas Ruopp phone 0711 685 87259, ruopp(at)hlrs.de Rolf Rabenseifner phone 0711 685 65530, rabenseifner(at)hlrs.de Lorenzo Zanon phone 0711 685 63824, zanon(at)hlrs.de
http://www.hlrs.de/training/2020/CPP4
http://www.hlrs.de/training/ and http://www.hlrs.de/training/overview/