Mar 24 – 27, 2025
ONLINE
Europe/Vienna timezone

Start date:  24 Mar 2024, 09:00 (CEST)     Entry level:  Advanced
End date:  27 Mar 2024, 15:30 (CEST)     Subject area:  Programming languages
Location:  ONLINE (Zoom)     Topics:  C++
Language:  English     Target audience:  Academia, industry, public sector
Price:  0 € – 800 €   (see below)   Organizer:  VSC

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, but teaches good, mature software design with the C++ itself.

Content level

Content level: Basic = 3:00h (13%) + Intermediate = 8:00h (35%) + Advanced = 12:00h (52%)

We provide two types of C++ courses with two different levels of prerequisites:

  • advanced C++: March 24-27, 2025 (this course)
  • intermediate C++: October 06-09, 2025 [CppI-2025-10_link]

Prerequisites

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 type that fits best to you!

If you prefer a similar course in German or if you are looking for other dates or maybe an in-person option, then please look at the 4-day C++ courses at HLRS, the 3-day advanced C++ course at LRZ, or directly on Klaus Iglberger's course page.

Gained skills

After this course, participants will:

  • have a detailed understanding of the essential OO design principles
  • have gained knowledge about fundamental C++ programming concepts and idioms
  • be able to properly design classes and class interfaces
  • know about the importance of exception safe programming
  • have gained insight into kernel development with C++
  • avoid the usual pitfalls in the context of inheritance
  • comprehend the advantages of value-based design
  • understand the virtue of clean code

Programming tasks

Participants are expected 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. The programming tasks, including both Makefiles and CMake files, will be distributed before the course.

Agenda & Content

See Agenda & Content in the left menu for a detailed timetable and course content.

Target audience

Course for academia, industry, and public administration.

Course format

This course will be delivered as a LIVE ONLINE COURSE (using Zoom).

Lecturers

Klaus Iglberger (External)

Language

English

Date, time, and location

24.–27.03.2025, 09:00 – 16:30 (27.03. until 15:30) CEST, LIVE ONLINE COURSE (using Zoom)

Prices and eligibility

Different course fees apply:

VSC users: 0 € (free of charge)                          
Students and members of Austrian universities and public research institutes: 0 € (free of charge)                          
Students and members of other universities and public research institutes: 240 €                          
Others (*): 800 €

If a course fee applies for you:

  • We will send you an invoice that has to be paid by bank transfer before the course starts. 
  • Please inform us about any changes in your registration data (especially concerning your invoice address) via email (training@vsc.ac.at). 
  • Cancelation policy: Cancelations by email until 8 days before the course are free of charge (we will refund your fee if you already paid). With cancelations from 7 days before the course onwards the full participation fee has to be paid (but you can designate a substitute participant). 
  • Certificates of attendance will be provided on request if you attended at least 80% of the course.

(*) Austrian SMEs can get a funding of 80% of the course fee via the FFG Skills Schecks Initiative.

Registration

The registration form and deadlines are available from the left menu. The registration form might close even before the deadline if the number of registrations has reached its maximum (and will open again if there are cancelations).

Please register with your official email address to prove your affiliation.

You will get an automatic confirmation via email (subject starting with "[Indico] Registration"), please check your Spam/Junk folders.

Following your successful registration, you will receive further information approximately 1 week before the course.

Waitinglist

After the number of registrations has reached its maximum or the registration form has been closed, you may want to send us an email stating that you are interested to be put on the waiting list (vacancies may occur due to cancelations, etc.).

Modification, withdrawal & no-show policy

Your registration is binding. Please only register for the course if you are really going to attend.

You can update your registration data or withdraw your registration anytime before the registration form has been closed via the link "Manage my registration" which you can find at the bottom of your automatic email confirmation (subject starting with "[Indico] Registration").

Alternatively, or after the registration form has been closed, please inform us about your cancelation or any change in your registration data via email (training@vsc.ac.at).

No-show policy: If you do not cancel and do not show up at the course you will be blacklisted and excluded from future training events.


Organizers

This course is organized by the VSC Research Center, TU Wien.


Starts
Ends
Europe/Vienna
ONLINE
Zoom