Master modern C++ (C++17 to C++23) from core fundamentals to advanced design. Build fast, safe applications using OOP, STL, templates, and concurrency, with professional tooling and testing.
140 Lessons
3 Projects
11h
Updated this week
Join 2.9 million developers at
Join 2.9 million developers at
LEARNING OBJECTIVES
- A clear understanding of the C++ compilation model, object lifetime, and memory management principles
- An understanding of core language features, including classes, constructors, destructors, const-correctness, and namespaces
- Hands-on experience with the Standard Library, including containers, iterators, algorithms, and smart pointers
- The ability to design clean, maintainable systems using object-oriented principles and RAII
- Proficiency in writing reusable components using templates and generic programming techniques
- Working knowledge of error handling, debugging fundamentals, and defensive programming practices
- Practical experience with multithreading, synchronization, and modern concurrency tools
- Familiarity with professional tooling, including CMake-based builds and unit testing frameworks
Learning Roadmap
2.
C++ First Steps
C++ First Steps
Master essential C++ concepts, including variables, operators, and user interaction techniques.
Introduction to C++ and its Compilation ModelVariables and LiteralsConstants, Type Inference, and Initialization StylesArithmetic and Assignment OperatorsLogical and Comparison OperatorsInput and OutputQuiz: C++ First StepsExercise: Fuel Cost EstimatorSolution: Fuel Cost EstimatorExercise: BMI CategorizerSolution: BMI CategorizerExercise: Loan QualificationSolution: Loan Qualification
3.
Control Flow and Program Logic
Control Flow and Program Logic
15 Lessons
15 Lessons
Explore conditional branching, loops, and their applications in C++ programming.
4.
Functions and Program Structure
Functions and Program Structure
12 Lessons
12 Lessons
Master essential C++ functions, scope, parameters, and memory management for effective programming.
5.
Data and Memory
Data and Memory
12 Lessons
12 Lessons
Explore efficient data management, memory control, and safe programming practices in C++.
6.
Object-Oriented Programming
Object-Oriented Programming
13 Lessons
13 Lessons
Master essential C++ concepts like encapsulation, constructors, inheritance, and polymorphism for effective programming.
7.
Working with Data Structures
Working with Data Structures
12 Lessons
12 Lessons
Explore STL containers, iterators, algorithms, and error handling in modern C++.
8.
Generic Programming and Templates
Generic Programming and Templates
6 Lessons
6 Lessons
Explore C++ templates, specialization, and concepts for robust generic programming.
9.
Files, Streams, and Input/Output
Files, Streams, and Input/Output
8 Lessons
8 Lessons
Master file handling and I/O operations in C++ for efficient data management.
10.
Building Larger Programs
Building Larger Programs
6 Lessons
6 Lessons
Master program structure, namespaces, and libraries for efficient C++ development.
11.
Advanced C++ Features and Modern Practices
Advanced C++ Features and Modern Practices
11 Lessons
11 Lessons
Explore modern C++ features enhancing type safety, error handling, and compile-time programming.
12.
Concurrency and Multithreading
Concurrency and Multithreading
11 Lessons
11 Lessons
Explore concurrency in C++ through threads, synchronization, and task-based parallelism for efficient programming.
13.
Parallel Algorithms and Performance
Parallel Algorithms and Performance
8 Lessons
8 Lessons
Explore parallel algorithms in C++ for efficient concurrency and performance optimization.
14.
Production-Ready C++
Production-Ready C++
11 Lessons
11 Lessons
Master build automation, debugging, and testing in C++ for robust software development.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Complete more lessons to unlock your certificate
Developed by MAANG Engineers
ABOUT THIS COURSE
C++ remains one of the most powerful and widely used programming languages, driving systems software, game engines, embedded devices, and high-performance backend services. This course provides a structured path to learn modern C++ with a strong focus on clarity, correctness, and real-world engineering practices.
You’ll begin by building a solid mental model of the compilation process, object lifetime, and core language features. From there, you’ll explore object-oriented design, RAII, and resource management. You’ll gain hands-on experience with the Standard Library, including containers, algorithms, iterators, and smart pointers, and learn to write reusable code using templates and generic programming.
As you advance, you’ll cover error handling, concurrency with threads and synchronization primitives, and modern development workflows using CMake and unit testing frameworks. By the end, you’ll confidently design, build, and maintain efficient, scalable C++ applications using modern best practices.
Trusted by 2.9 million developers working at companies
A
Anthony Walker
@_webarchitect_
E
Evan Dunbar
ML Engineer
S
Software Developer
Carlos Matias La Borde
S
Souvik Kundu
Front-end Developer
V
Vinay Krishnaiah
Software Developer
Built for 10x Developers
No Passive Learning
Learn by building with project-based lessons and in-browser code editor


Personalized Roadmaps
The platform adapts to your strengths & skills gaps as you go


Future-proof Your Career
Get hands-on with in-demand skills


AI Code Mentor
Write better code with AI feedback, smart debugging, and "Ask AI"




MAANG+ Interview Prep
AI Mock Interviews simulate every technical loop at top companies


Free Resources