C++ Programming
24 lesson course
All lessons

The purpose of this course

When I teach C++, I am not training students simply to spend their working lives typing instructions into a machine. I want them to understand what happens after they press Run. Where did the data go? Why did the program behave that way? How can they tell when the answer is wrong? These questions matter even more now that AI can produce code quickly. Somebody must still decide what the software is supposed to do, inspect what has been produced and challenge it when it fails. That responsibility belongs to the programmer.

Static Carnival

C++ Programming

A complete 24-lesson sequence that asks what the language, compiler and running program are actually doing.

Open programming glossary

Lessons 01–15

Instructions, states and flow

Begin with the programmer, then examine instructions, state, functions and control flow.

Lessons 16–21

Structure, methodology and optimisation

Continue through scope, storage, classes, inheritance and runtime polymorphism.

Lessons 22–24

Solutions, evaluation and advanced features

Finish with operator design, templates and deterministic resource management.