Video Sponsors
Media Partner

CppNorth is happy to offer two-day classes on the weekend prior to the start of the conference (July 16 & July 17). 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.22 CAD. Please refer to your bank exchange rate for conversion to your local currency.

Item Offering Deadline Fee (CAD)
2 Day Workshop Regular July 15, 2022 * $1400 **
2 Day Workshop Student July 15, 2022 * $435 ***

* Or until the workshops sell out.

** All workshop attendees get one free hotel night. Those who also are attending the conference get a second free night. Must register before June 30th.

*** Students are not eligible for the free room offer.

Workshop Lineup

Instructors Workshop Title Description
Rainer Grimm Concurrency with Modern C++

This class gives you a detailed insight into the multithreading facilities of C++. Starting with the foundation in C++11, continuing with the parallel STL in C++17, and closing with the concurrency features in C++20. Additionally, we will have a more in-depth look into the C++ memory model consisting of the atomics and the various memory orders in C++. This insight will provide you with a better understanding of the general concurrency features of C++. Learn More

Patrice Roy Generic Programming: from Strange to Normal

Generic programming has been both a scary aspect and a strength of C++ for decades now. Seen as something that is often complex to express yet easy to use, this programming paradigm pervades contemporary C++ programs, and many are those who use the standard library without noticing how much of it is made of generic types and algorithms.

This course proposes an exploration of generic programming through many lenses. From relatively simple use cases, we will move to expressing one’s own generic types, writing efficient and safe generic containers and algorithms, writing and using type traits, solving real problems through template metaprogramming (the reputedly scary part; we’ll make it fun), variadic templates, programming with constexpr, fold expressions, and getting acquainted with the beauty of concepts. In the end, we will write less code to get better results. Learn More

Stephanie Brenham & J. Guy Davidson Game Development with Low Latency and High Excellence

Game development is a broad field deployed to a broad range of devices, such as phones, laptops, desktop computers with custom GPU hardware and consoles. One feature of development that unites all deployments is the requirement to fit all computation within the amount of time taken to display a frame. This drives the requirement for low latency programming. This course will cover much of the lower-level hardware information required to successfully develop low latency applications by showing you how to get to the metal of the machine and the GPU, a task well suited to C++ deployment. It will also cover topics such as optimisation and profiling, debugging and assembly, multithreading, file IO and some of the fundamentals of programming such as abstraction and generic programming. Learn More




July 18-20, 2022


CppNorth Group