Skip to content
New this month 24 fresh C++, C#, F#, JavaScript, TypeScript and Lua courses just landed. Browse new releases Use code WELCOME10 for 10% off your first order · 14-day refund

Modern C++ from Scratch: The 2026 Beginner Path

Learn C++20 the way it is actually written today, from first build to first real program.

19 students

AP Created by Ana Petrova

  • Last updated August 2026
  • English
  • 14h 44m of material
  • 111 lessons

What you will learn

8 concrete outcomes

Every bullet below is something you will have built, shipped or be able to explain by the time you finish the last lesson.

  • Install and configure a modern C++20 toolchain with CMake and Ninja on any desktop platform
  • Reason about value semantics, copies and references instead of guessing when data is shared
  • Use std::vector, std::string, std::optional and std::span in place of raw arrays and C strings
  • Write classes whose constructors and destructors leave no resource unmanaged
  • Apply the algorithm header instead of hand-rolling loops for search, sort and transform
  • Read compiler diagnostics and template errors well enough to fix them without searching
  • Split a program into headers and translation units that compile quickly and link cleanly
  • Ship a complete command-line application with a CMake build and a passing test target

Course curriculum

8 modules · 111 lessons · 14h 44m of material

12 lessons running 1h 34m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.

Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.

15 lessons running 1h 58m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.

Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.

13 lessons running 1h 42m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.

Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.

14 lessons running 1h 52m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.

Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.

16 lessons running 2h 06m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.

Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.

15 lessons running 1h 56m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.

Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.

13 lessons running 1h 40m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.

Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.

13 lessons running 1h 56m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.

Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.

8 modules · 111 lessons

14h 44m total length

Requirements

Short list, and deliberately so. If you meet these you can start today.

  • Comfort using a terminal and editing text files; no prior C++ experience is assumed
  • A computer running Windows 10+, macOS 12+ or a recent Linux distribution
  • Willingness to compile and run every example rather than only reading the code

About this course

C++ has a reputation for being hostile to newcomers, and most of that reputation comes from tutorials teaching 1998 C++ through a 2026 compiler. This path starts where the language actually is: C++20, a CMake build, and a standard library that does the heavy lifting for you. You install a toolchain on Windows, macOS or Linux, get a reproducible build running, and write code a senior reviewer would accept.

Most of your time goes into the parts of the language that carry real programs: value semantics, references, std::string and std::vector, range-based loops, structured bindings, std::optional and the algorithm header. Raw pointers appear where they belong, as non-owning observers, never as a substitute for ownership. Each idea arrives as a tiny program you compile and run, then deliberately break so you can recognise the failure mode later.

The last third is one continuous project: a command-line file indexer that walks a directory tree, hashes files, stores results and answers queries. It uses std::filesystem, std::span, a class with correct construction and destruction, and a CMake target wired to tests. You finish with a repository you can show, and the vocabulary to read production C++ without flinching.

Topics covered

Frequently asked questions

Still unsure about something? Write to misteryjj100@gmail.com and a human answers, usually the same working day.

No, and it can actually slow you down. This course teaches C++ as its own language, so idioms like manual malloc and null-terminated strings never become habits you have to unlearn.

Examples are verified on GCC 14, Clang 18 and MSVC 19.4x, all in C++20 mode. Setup instructions are provided for each, and every project builds through CMake so the compiler choice stays yours.

It gives you the language foundation and a portfolio project, which is what a junior role screens for. The follow-up intermediate course on move semantics and smart pointers covers what interviewers usually probe next.

Checkout is handled on our provider's secure payment page. The moment your payment clears we email your personal access link and access code to the address you used at checkout, and the same link appears in your account library. There is nothing to install and nothing to wait for.

Email misteryjj100@gmail.com within 14 days of your purchase, quote your order number, and we refund the full amount to your original payment method. No form to fill in and no questions about how much of the course you watched.

What students say

No reviews yet

Nobody has reviewed this course yet, so there is no score to show. Buy it, work through it, and your review could be the one that helps the next developer decide.

Your instructor

AP

Ana Petrova

Systems engineer and C++ instructor

  • 206 students taught
  • 9 courses published
  • 4.4 instructor rating
  • C++
  • Systems programming
  • Memory management
  • Concurrency

Ana spent nine years writing real-time C++ for trading infrastructure before moving into teaching full time. She specialises in the parts of the language people quietly avoid: templates, move semantics, custom allocators and the memory model. Her courses are built around profiling sessions on code that is deliberately slow, so every fix is something you measure rather than memorise. She still contributes to two open-source benchmarking libraries.

$119 USD

One-time payment · lifetime access

The WisdomCharms dispatch

One useful email a week. No fluff, no spam.

New course releases, discount codes before anyone else, and a short, practical breakdown of one technique — a prompt pattern, a C++ idiom, a TypeScript trick — that you can use the same day.

  • Subscriber-only launch pricing
  • Unsubscribe in one click
  • We never sell your address

By subscribing you agree to our Privacy Policy. Questions? Write to misteryjj100@gmail.com.