C++20: Get the Details

Program Overview

I’m happy to provide more details about my mentoring program, “C++20: Get the Details”.

Level: Intermediate

Program Description

C++20 is the third big C++ standard, after C++98 and C++11. Thanks to the big four concepts, modules, ranges, and coroutines, C++20 fundamentally changes the way you program C++. As a professional C++ developer, C++20 is a must.

Each week, you should master a new station. To master a station, you have to invest about three hours. Therefore, you can integrate my program into your workday.

Features

  • 200 video lectures
  • 20 one-hour sessions
  • Plus 50 posts

Extras

  • Q&A LIVE sessions
  • All media is offline available
  • Instant access via E-Mail

Program structure

The mentoring program consists of 16 stations. For each station, you have to invest at least 3 hours per week. Therefore, you can integrate my program into your workday.

16 Stations

  1. Introduction
    • History
    • C++ Compiler Standard Support
    • Preparation
  2. Concepts
    • Motivation
    • Usage
    • Placeholders
    • Abbreviated Function Templates
  3. Concepts
    • Predefined Concepts
    • Definition of Concepts
    • Requires Expressions
    • User-Defined Concepts
    • An Evolution or a Revolution
  4. Modules
    • Advantages
    • Module Interface Unit and Module Implementation Unit
    • Submodules and Module Partitions
    • Guidelines
  5. Comparison
    • Equality Comparison
    • The Three-Way Comparison Operator
    • Safe Comparison of Integers
  6. Constness
    • consteval
    • constinit
    • std::is_constant_evaluated
    • constexpr Containers and Algorithms
  7. Further Core Language Improvements
    • Designated Initialization
    • Templates
    • Lambdas
  8. The Ranges Library
    • Ranges and Views
    • Characteristics
    • Range Adaptors
    • Comparison of std and std::ranges Algorithms
  9. std::span and New Container Functions
    • std::span
    • Unified Deletion of Elements
    • Uniform Checking of Elements
    • String: starts_with and ends_with
  10. Formatting Library
    • Overview
    • Format String
    • User-Defined Types
  11. Calendar and Time Zones
    • Basic Types
    • Time of Day
    • Calendar Dates
    • Time Zones
  12. Standard Library Utilities
    • std::bind_front
    • Mathematical Constants
    • Midpoint and Linear Interpolation
    • Bit Manipulation
    • std::source_location
  13. Coroutines
    • Characteristics
    • The Framework
    • Awaitables and Awaiters
    • The Workflows
  14. Atomics
    • std::atomic_flag
    • std::atomic
    • std::atomic_ref
  15. Synchronization and Coordination
    • Latches and Barriers
    • Semaphores
    • Synchronized Output Streams
  16. Cooperative Interruption
    • std::jthread
    • std::condition_variable_any
    • std::stop_source, std::stop_token, and std::stop_callback

One Station Concept

Each mentoring program consists of 16 to 30 stations you have to master. A station is one week long, and you should invest about three hours/week. Therefore, you can integrate my program into your workday. Each station consists of theory, practice, and mentoring:

Theory

  • Pure theory: 10 slides (video)
  • Applied theory: 5 examples (video)
  • Additional: Posts and Training videos

Practice

  • Practical exercises (videos)
  • Sample solutions to the exercises (video)
  • Active C++ community in moderated forums

Mentoring

  • Each week: Live Q&A session based on Forum questions
  • One-to-one mentoring at the end of the mentoring program if requested

Sample Station

Try out Station 3 of my Mentoring Program “C++20: Get the Details”: Predefined Concepts, Definition of Concepts, Requires Expressions, User-Defined Concepts, An Evolution or a Revolution of the second concepts week.

Practice

Please click the button above to go to the LIVE view of my mentoring program.

Practice

Please click the button above to go to the LIVE view of my mentoring program.

Practice

Please click the button above to go to the LIVE view of my mentoring program.

Practice

Please click the button above to go to the LIVE view of my mentoring program.

Practice

Please click the button above to go to the LIVE view of my mentoring program.

The Ideal Mentee

First, you need a good knowledge of C++ and want to become fluent in patterns. If you don’t think you’re a good C++ programmer, you should first master my basic mentoring program Fundamenalts for C++ Professionals.

You have to invest at least three hours a week and can, therefore, integrate my program into your workday. In the ideal case, your company supports you with time and money.

Here are a few participant profiles I have in mind:

  • Professionals who want to master patterns
  • C++ developers who want to make their next career step
  • C++ developers interested in good software design

Mentee Membership and Community Membership

When you master your mentoring program, you can extend your Mentee Membership with a Community Membership.

Mentee Membership

  • Member of a mentoring program
  • Includes the Community Membership

Community Membership

  • Access to the previous mentoring program
  • You cannot participate in the Q&A sessions, but you can watch recorded Q&A sessions
  • Becomes a community member if requested
  • Community Membership is €150 (lifetime)

My other Mentoring Programs

Fundamentals for C++ Professionals

Level: Beginners

Design Patterns and Architectural Patterns with C++

Level: Intermediate

Concurrency with Modern C++

Level: Advanced