Video Sponsors
Scholarship Sponsors

CppNorth is happy to offer two-day classes on the weekend prior to the start of the conference (July 15 & July 16). Attendees can get even more value from their travel and time by learning a single topic deeply over those days. Workshop access can be purchased through the CppNorth Registration system.

What to expect:

  • Rooms set up with tables and power. Bring your laptops: you will be coding while you learn
  • Experienced and rarely-available instructors
  • Relevant and timely topics

We will provide morning coffee, lunch and an afternoon snack. Classes will run from 9am to 5pm, but arrive about 8:30 for coffee and to meet your fellow attendees.

Workshops are not recorded. The only way to get this material is to attend.

Rooms at the conference venue are available at our conference rate. Book the workshop and your room while registering for the conference, and plan your travel accordingly.

For individuals whose organization requires it, a certificate of completion is available for conference attendees. For information contact the registrar at


All fees below are listed in Canadian Dollars. One USD is approximately $1.35 CAD. Please refer to your bank exchange rate for conversion to your local currency.

Item Deadline Fee (CAD)
1 Day Workshop Regular * July 14, 2023 ** $700
1 Day Workshop Student * July 14, 2023 ** $175
2 Day Workshop Regular July 14, 2023 ** $1400
2 Day Workshop Student July 14, 2023 ** $350

* Available only for a workshop that lasts one day. Purchasing one day of a two day workshop is not available.

** Or until the workshops sell out.

Workshop Lineup

Instructor Workshop Title Date Description
Peter Sommerlad Resilient C++ - Mitigate C++ Vulnerabilities July 15

C++ programmers suffer from the language's complexity as well as from its "super power" of backward compatibility that manifests known and sometimes lesser known deficiencies in language and standard library design.

This workshop will show you where to look for pitfalls, as well as highlight specific ones and provides concrete design guidance and some libraries to use for your own C++ design and code to follow, so that your code becomes safer and less risky. Learn More

Nicolai Josuttis Concepts, Ranges, and Views in Practice July 16

Concepts and ranges are THE two key features of C++20 and C++23 you can immediately use with tricky and powerful consequences. These feature change your programming style significantly, but as usual for C++, things are not self-explanatory. There are important design aspects to recognize, details to know, and severe pitfalls to deal with.

This workshop introduces concepts (with requirements and constraints) and ranges (with views) in detail. We will see how to combine the various parts of these features and how to use them in practice. The focus is on conceptional understanding of the cool and the tricky aspects to benefit from concepts and ranges and use them right where appropriate. Learn More

Patrice Roy Design Patterns in Modern C++ July 15 & 16

Design patterns have been recognized and applied in programs for a long time now, but have traditionally been presented «in the abstract», based on the fact that they can be implemented differently from language to language.

This class aims to see how some key design patterns can be implemented using modern C++, which can be significantly different from what one would traditionally be exposed to. Using C++17 with some measure of C++20 and C++23, we will solve concrete problems using well-known patterns implemented in interesting ways, reinforcing our knowledge of today's C++ at the same time. Learn More

Andreas Fertig From C to C++ July 15 & 16

In this class, you'll dive into C++ and compare it to the language you already know and use, C. The class is perfect for you if you're from an embedded environment transitioning from C to C++. Learn More




July 17-19, 2023


CppNorth Group