Ga verder naar de inhoud
Training

Modern C++ Software Design (Intermediate)

7 jul. 2026 - 10 jul. 2026

The focus of this intermediate C++ course are the essential C++ software development principles, concepts, idioms, and best practices, which enable programmers to create professional, high-quality code.

Lees meer & inschrijven ⇗

Praktische info:

7 jul. 2026 - 10 jul. 2026
33 uur
Online & HLRS, University of Stuttgart - Nobelstraße 19 70569 Stuttgart, Germany
Anders
Doelgroep: Intermediate C++ developers from academia, industry, and research with prior C++ experience

Inschrijven?

  • Voorwaarden: A good understanding of the basic mechanics, a good knowledge of the syntax of C++ and its basic features
  • Prijs: The price ranges from €0 to €935
Lees meer & inschrijven ⇗

georganiseerd door:

The course will give insight into the different aspects of C++ (object-oriented programming, functional programming, generic programming) and will teach guidelines to develop mature, robust, maintainable, and efficient C++ code.

Learning outcomes

After this course, participants will: 

  • have gained knowledge about fundamental C++ programming concepts and idioms
  • have a good overview of the tools the STL provides
  • have a solid understanding of templates
  • be able to properly design classes (including the special member functions)
  • be able to utilize inheritance hierarchies and virtual functions
  • understand the virtue of clean code

Agenda

1st day course schedule (9:00 - 17:30)

  • The Standard Template Library (STL)
    • Overview of the STL
    • STL Iterators
    • STL Algorithms
  • C++ Templates
    • Introduction to generic programming
    • Function Templates
    • Class Templates
    • Variadic Templates

2nd day schedule (9:00 - 17:30)

  • Class Design (I)
    • Object Lifetimes
    • RAII
    • The Special Member Functions
      • The Default Constructor (and how initialization works in classes)
      • The Copy Operations

3rd day schedule (9:00 - 17:30)

  • Class Design (II)
    • The Special Member Functions
      • The Move Operations
    • Proper Handling of Member Data
    • Designing Classes

4th day schedule (9:00 - 16:30)

  • Dynamic Polymorphism
    • Virtual Dispatch
    • Inheritance: The Good Parts
    • Inheritance: The Bad Parts
    • The Strategy Design Pattern
    • The Visitor Design Pattern

Handouts

Each participant will get a copy of all slides (PDF)

Gerelateerde opleidingen

Machine Learning for Molecules

14 september 2026

Zomerschool - Karlsruhe - KIT

Data Intensive Science School

14 september 2026

Zomerschool - Liverpool - AIchemy