explaingit

federico-busato/modern-cpp-programming

15,574HTMLAudience · developerComplexity · 1/5Setup · easy

TLDR

Modern-CPP-Programming is a free, self-contained 29-lecture course on C++ from basics through C++26, delivered as downloadable slide decks and PDFs you can read online, with no software installation required.

Mindmap

mindmap
  root((Modern C++))
    Course structure
      29 lectures
      2000 plus slides
      PDF and HTML
    Language coverage
      C++03 to C++26
      Types and control flow
      Templates
      OOP
    Practical focus
      Code examples
      Tools and conventions
      Optimization
    Audience
      C learners
      Upgrading developers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Self-study modern C++ from C++03 through C++26 using a structured 29-lecture curriculum

USE CASE 2

Use the course slides as a ready-made curriculum to teach a C++ class or self-study group

USE CASE 3

Look up specific C++ features, templates, or best practices across 2000+ organized slides without reading a whole book

Tech stack

C++

Getting it running

Difficulty · easy Time to first run · 5min

In plain English

Modern-CPP-Programming is a free, open-access course on the C++ programming language, taught through PDF and HTML slide decks rather than software you run. It is aimed at people who already know C and the basics of object-oriented programming and want to become proficient in modern C++. The course covers the language from the early C++03 standard all the way through C++26, walking the reader from fundamentals into advanced semantics and concepts. The way it works is that the repository hosts 29 lectures totalling more than 2,000 slides, each chapter available as a downloadable PDF and as an HTML page rendered online. The chapters are sequenced from an introduction and setup, through several "Basic Concepts" decks on types, arithmetic, control flow, pointers, references, and functions, into object-oriented programming, templates and meta-programming, translation units, and code conventions. The author favors a practical style: short, non-verbose descriptions paired with minimal code examples that illustrate one specific feature or pitfall at a time, plus chapters on tools, project organization, and code optimization. Many examples come from the author's own work as a software engineer. A stated roadmap goal is to migrate the source from LaTeX to Typst and open it up to direct community contributions. You would use this course if you want to upgrade aging C or basic C++ skills to current standards, or if you want a structured curriculum to teach a class or self-study group. There is no compiler or library to install, you read the slides. The repository is mostly HTML and PDF generated from the underlying source. The full README is longer than what was provided.

Copy-paste prompts

Prompt 1
I know basic C++ but struggle with templates and meta-programming. Which lectures in Modern-CPP-Programming cover this, and can you summarize the key concepts from those chapters?
Prompt 2
I want to learn modern C++ move semantics and rvalue references. Point me to the right section of this course and explain the core concepts in plain English.
Prompt 3
I am teaching a C++ course and want to adopt this curriculum. How are the 29 lectures sequenced and which ones should I combine or skip for a 10-week class?
Prompt 4
Give me a quiz based on the Modern-CPP-Programming lecture on pointers and references, 5 questions testing practical understanding, not just definitions.
Open on GitHub → Explain another repo

← federico-busato on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.