2–5 Mar 2026
ONLINE
Europe/Vienna timezone

Agenda & Content

1st day – Monday, 2 March 2026   (9:00 – 16:30, lunch break 12:30 – 13:30)

  • The Basic Design Principles  

    • Defining a Goal
    • The SOLID Principles  
       
  • Concepts and the STL  

    • Motivation
    • STL Algorithms
    • STL Allocators

 

2nd day – Tuesday, 3 March 2026   (9:00 – 16:30, lunch break 12:30 – 13:30)

  • Advanced Templates  

    • Type Traits
    • SFINAE
    • C++20 Concepts  
       
  • Class Design  

    • Compiler Generated Functions
    • Exception Safety
    • Copy Elision

 

3rd day – Wednesday, 4 March 2026   (9:00 – 16:30, lunch break 12:30 – 13:30)

  • Class Design  

    • Move Semantics
    • Return Values and Parameters
    • Member Data
    • Applied Class Design
    • Visibility vs. Accessibility  
       
  • Dynamic Polymorphism  

    • The Perils of Inheritance

 

4th day – Thursday, 5 March 2026   (9:00 – 15:30, lunch break 12:30 – 13:30)

  • Dynamic Polymorphism  

    • Value Semantics 

      • Visitor (Classic vs. Modern)
      • Strategy (Classic vs. Modern)
      • Type Erasure 
         
    • Public Inheritance 
       
      • Examples for good public inheritance
      • Examples for bad public inheritance 
         
    • Surprises in Inheritance Hierarchies  
       
  • Design of HPC Components  

    • Motivation
    • SIMD Basics
    • Vectors and Matrices
    • Dense Matrix/Dense Vector Multiplication