Advanced C++

Vacancies available
CHF 240.00

The Swiss National Supercomputing Centre is pleased to announce that the "Advanced C++" workshop will be held from October 14-16, 2019 at CSCS in Lugano, Switzerland.



C++ is a very powerful programming language, used worldwide to develop complex and performance critical applications. It is then an important candidate for developing HPC applications. Mastering the power of the language requires substantial effort but pays off as projects scale up in size and complexity, and, as the hardware architectures become more and more diverse and complex, C++ allows the implementation of the proper abstractions to make applications sustainable in the future. Specifically, C++ allows the development of type safe,  flexible and portable functionalities, with no runtime overhead.
The course aims at providing the fundamental tools for effective C++ programming in the context of high-performance computing. The tools include generic programming techniques, API development, specific C++-11/14/17 constructs. Starting from a basic knowledge of C++, the attendee will be able to start using C++ language to engineer durable abstractions to develop and optimize applications.


The attendee is expected to be familiar with C++ syntax and the object oriented features of the language. Basic familiarity with templates are not expected but encouraged.


  • Nora Abi Akar, Swiss National Supercomputing Centre
  • Anton Afanasyev, Swiss National Supercomputing Centre
  • Mauro Bianco, Swiss National Supercomputing Centre
  • Christopher Bignamini, Swiss National Supercomputing Centre


Monday, October 14, 2019
10:00 - 12:00 Introduction
12:00 - 13:00 Lunch Break
13:00 - 15:00 Name Resolution & Initialization
15:00 - 15:30 Coffee Break
15:30 - 17:00 Templates

Tuesday, October 15, 2019
08:30 - 9:00 Move Semantics
9:00 - 10:00 Compile time programming
                      Generic and Concept Programming I
10:00 - 10:30 Coffee Break
10:30 - 12:00 Real World Cases I
12:00 - 13:00 Lunch Break
13:00 - 14:00 Smart Pointers
14:00 - 15:00 Real World Cases II
15:00 - 15:30 Coffee Break
15:30 - 17:00 Exercises

Wednesday, October 16, 2019
08:30 - 10:00  Lambdas and Functions
10:00 - 10:30 Coffee Break
10:30 - 12:00 Generic and Concept Programming II
12:00 - 13:00 Lunch Break
13:00 - 15:00 Patterns
15:00 - 15:30 Coffee Break
15:30 - 17:00 STL

Course material available here.


All participants must register for the course. The registration fee includes coffee breaks and lunches throughout the three day course.

Course Fee: 240 CHF

Deadline for registration: Sunday, October 6, 2019

If needed, CSCS can only realease attendance certificate!

Kindly note that the course can take place only if there are sufficient confirmed registrations received by the deadline. The minimum number of participants is 8.

Please contact Mauro Bianco (mauro.bianco@cscs.ch) for questions related to the course content and reception@cscs.ch for questions related to the event logistics. 

Kindly note that no parking space is available at the Swiss National Supercomputing Centre. The closest bus stop to the centre is Lugano, Stadio. From Lugano railway station, you should take bus number 4 or 6.

Suggestions regarding travels and accommodation are available here.

You are encouraged to travel by public transportation. There is a Park & Ride Resega parking lot, within five minutes walk from CSCS.

We look forward to welcoming you at CSCS!