Modern C++ development requires navigating decades of opinions and misconceptions. This course helps you build a clear understanding of what modern C++ truly offers and why these skills matter in professional software engineering.

Ends soon: Gain next-level skills with Coursera Plus for $199 (regularly $399). Save now.

Recommended experience
What you'll learn
Identify and debunk long-standing C++ myths with modern, standards-based reasoning
Apply C++17/C++20 features to write safer, cleaner, and more efficient code
Use modern C++ tools, patterns, and optimizations in real-world development
Skills you'll gain
Details to know

Add to your LinkedIn profile
January 2026
12 assignments
See how employees at top companies are mastering in-demand skills

There are 12 modules in this course
In this section, we analyze C++'s historical complexity, explore modern C++ features that enhance safety and clarity, and apply test-driven development (TDD) to build reliable systems code with structured learning techniques.
What's included
2 videos5 readings1 assignment
In this section, we examine C++ standard compliance across compilers and frameworks, identifying non-standard extensions and practical deviations that impact code portability and maintainability in real-world development environments.
What's included
1 video6 readings1 assignment
In this section, we explore C++ as a multi-paradigm language, applying functional programming with std::function, analyzing metaprogramming via templates and constexpr, and designing strong types using constraints and type aliases for safer, more maintainable code.
What's included
1 video5 readings1 assignment
In this section, we explore the startup process of applications, analyzing ELF on Linux and PE on Windows, tracing execution from _start() to main(), and using Ghidra to inspect runtime initialization for deeper debugging and secure development insights.
What's included
1 video6 readings1 assignment
In this section, we explore the critical importance of ordering class members and initialization sequences in C++ to ensure predictable behavior, prevent undefined results, and maintain reliable, maintainable code in real-world applications.
What's included
1 video5 readings1 assignment
In this section, we examine spatial and temporal memory safety issues in C++, learn to use std::span to prevent buffer overruns, and analyze the ongoing limitations of modern C++ mechanisms in eliminating undefined behavior.
What's included
1 video4 readings1 assignment
In this section, we define parallelism and concurrency in C++ using functional programming and the Actor Model, addressing common challenges and demonstrating safer, more predictable approaches for scalable, high-performance systems.
What's included
1 video2 readings1 assignment
In this section, we explore using inline assembly for peak performance in C++ on x86 architectures, while learning to evaluate compiler output and make informed decisions about when to optimize manually versus trust modern compiler optimizations.
What's included
1 video3 readings1 assignment
In this section, we explore the aesthetic qualities of C++ code, emphasizing symmetry, structural clarity, and elegance in macro and syntax design. It highlights how beauty enhances maintainability and intellectual satisfaction in programming.
What's included
1 video4 readings1 assignment
In this section, we examine the modern C++ library ecosystem, focusing on developer experience, compatibility across libraries, and supply chain security to build reliable, maintainable software in real-world applications.
What's included
1 video3 readings1 assignment
In this section, we explore C++'s backward compatibility with C, enabling seamless integration of legacy code. We examine practical applications of auto type deduction and interoperability with C libraries in modern system-level development.
What's included
1 video4 readings1 assignment
In this section, we explore Rust's ownership model, safety features, and trait system, demonstrating how they enable reliable, high-performance systems programming as a modern alternative to C++.
What's included
1 video4 readings1 assignment
Instructor

Offered by
Why people choose Coursera for their career




Frequently asked questions
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.
More questions
Financial aid available,




