Unlock the full potential of C++20 with this deep dive into its latest features and enhancements. This course is designed for experienced C++ developers looking to master modern C++ programming techniques. You'll explore key language updates, including designated initializers, range-based loops, and UTF-8 improvements. Through structured lessons, you’ll gain hands-on experience with new capabilities such as constexpr, consteval, and constinit, making your code more efficient and expressive.



Recommended experience
What you'll learn
Master C++20’s new language features, including designated initializers and structured bindings.
Implement modern template programming techniques with enhanced concepts and constraints.
Leverage coroutines, ranges, and three-way comparison operators for cleaner, more efficient code.
Optimize concurrency with new threading features, including std::jthread and synchronization tools.
Details to know

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


Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review

There are 12 modules in this course
In this module, we will provide an overview of the course and highlight the major enhancements in C++20. This introduction will set the foundation for understanding the language updates and how they contribute to cleaner, more efficient, and modern C++ programming.
What's included
1 video1 reading
In this module, we will explore foundational changes in C++20 that enhance code clarity, initialization, and compile-time evaluations. By diving into new features such as designated initializers, UTF-8 support, and constexpr improvements, we’ll learn how these updates streamline development and reduce potential errors.
What's included
14 videos1 assignment
In this module, we will explore enhancements in lambda expressions and templates that improve both syntax and functionality. By understanding implicit this, lambda expressions in unevaluated contexts, and new template parameter features, we’ll gain a deeper grasp of modern C++ programming techniques.
What's included
5 videos1 assignment
In this module, we will examine additional refinements to the core language, including new attributes and improved enum types. These updates contribute to better-structured, more maintainable code, ensuring greater clarity and correctness in modern C++ development.
What's included
3 videos1 assignment
In this module, we will explore the powerful text formatting capabilities introduced in C++20. By leveraging the new formatting library and enhanced stream formatting options, we’ll learn how to produce cleaner, more readable, and internationally adaptable output.
What's included
9 videos1 assignment
In this module, we will delve into the concepts feature of C++20, which improves the clarity and safety of template programming. By understanding how concepts refine template constraints and how abbreviated templates simplify syntax, we’ll write more maintainable and error-resistant code.
What's included
9 videos1 assignment
In this module, we will explore the C++20 modules feature, a revolutionary change in the way C++ projects are structured and compiled. By working through practical examples, we’ll learn how to leverage modules to enhance code modularity and compilation efficiency.
What's included
10 videos1 assignment
In this module, we will dive into the new three-way comparison operator and its impact on relational operations in C++20. By learning about synthesized expressions and ordering categories, we’ll gain a deeper understanding of how these enhancements improve comparison logic and code consistency.
What's included
25 videos1 assignment
In this module, we will explore the powerful ranges library introduced in C++20. By mastering views, projections, and new algorithm return types, we’ll unlock more concise, readable, and efficient ways to process data.
What's included
20 videos1 assignment
In this module, we will dive into coroutines, a game-changing feature for asynchronous programming in C++20. By understanding coroutine workflows, concurrency handling, and exception management, we’ll learn how to write efficient and scalable asynchronous code.
What's included
24 videos1 assignment
In this module, we will explore concurrency improvements in C++20 that simplify multithreading. By understanding new threading primitives and synchronization tools, we’ll gain the ability to write safer, more efficient concurrent code.
What's included
5 videos1 assignment
In this module, we will examine various additions to the standard library that enhance code safety, flexibility, and performance. By leveraging new utilities like std::span and std::source_location, we’ll write more modern, expressive, and efficient C++ code.
What's included
11 videos2 assignments
Instructor

Offered by
Why people choose Coursera for their career




New to Software Development? Start here.

Open new doors with Coursera Plus
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Join over 3,400 global companies that choose Coursera for Business
Upskill your employees to excel in the digital economy
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,