This advanced course covers the Standard Template Library (STL), concurrency, multithreading, and best practices for code optimization. Learners will explore modern C++ features from C++17 and C++20, and learn how to effectively document their code. The course culminates in a comprehensive project that integrates all learned skills, preparing learners to work with complex C++ applications in professional environments.

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

Advanced C++ Programming and Modern Practices
This course is part of Microsoft Introduction to C++ Programming Professional Certificate

Instructor: Microsoft
Included with
Skills you'll gain
Details to know

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

Build your Software Development expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate from Microsoft

There are 5 modules in this course
This module establishes a solid foundation in modern C++ by emphasizing the effective use of the Standard Template Library (STL) to write high-performance, maintainable code. Learners explore how to select and implement the appropriate STL containers for various data storage and access requirements, apply algorithms to process data efficiently, and utilize iterators to traverse and manipulate container elements with precision. The module also introduces function objects, lambda expressions, custom comparators, and predicates, along with modern C++20 range features, to support expressive and reusable data processing pipelines. Through real-world demonstrations, hands-on coding activities, labs, and guided discussions, learners connect STL concepts to practical performance trade-offs and professional development scenarios, preparing them to design scalable, industry-ready C++ applications.
What's included
4 videos5 readings4 assignments6 ungraded labs
This module explores concurrency and multithreading in C++, equipping learners with the skills to build high-performance applications that fully utilize modern multi-core processors. Beginning with thread fundamentals and lifecycle management, the module progresses through synchronization mechanisms that prevent race conditions and ensure thread safety. Learners will master atomic operations for lock-free programming and implement asynchronous programming patterns using futures and promises. Through hands-on practice with real-world scenarios, including web server request processing and parallel data analysis systems, participants will develop the ability to analyze and resolve common concurrent programming challenges while applying industry best practices for building robust, scalable applications.
What's included
3 videos4 readings4 assignments6 ungraded labs
This module focuses on best practices and code optimization techniques essential for developing high-performance C++ applications. Learners will analyze code for performance bottlenecks and apply optimization strategies to improve execution speed and memory usage. The module covers memory optimization techniques including cache-friendly data layouts and memory pool allocation, algorithm analysis using Big O notation, and compiler optimization through flags and pragma directives. Additionally, learners will implement modern C++ idioms such as RAII principles and move semantics, utilize profiling tools to measure and validate performance improvements, and develop the judgment to balance code readability with optimization requirements in professional software development contexts.
What's included
3 videos4 readings4 assignments6 ungraded labs
This module explores modern C++ features and professional documentation practices essential for contemporary software development. Learners will utilize powerful capabilities from C++17 and C++20, including structured bindings, std::optional, std::variant, concepts, ranges, and coroutines, while understanding the language's evolution and future directions. The module also covers comprehensive documentation principles, from effective code commenting and API documentation to project organization standards. Additionally, learners will leverage GenAI tools to generate and maintain documentation efficiently, applying best practices for quality assessment and workflow integration to ensure documentation remains accurate, current, and valuable for development teams.
What's included
3 videos4 readings4 assignments6 ungraded labs
This capstone module challenges learners to integrate all advanced C++ concepts mastered throughout the course into a comprehensive application development project. Learners will design and implement a sophisticated solution utilizing STL containers and algorithms, concurrency and multithreading, optimization techniques, and modern C++17/C++20 features. The project encompasses three phases: architectural design and planning, implementation with rigorous testing, and performance optimization with AI-assisted documentation. Through this hands-on experience, learners will demonstrate their readiness for enterprise-level software development and technical leadership roles in professional environments.
What's included
3 readings1 assignment1 ungraded lab
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Explore more from Software Development

Microsoft

Microsoft
Why people choose Coursera for their career




Frequently asked questions
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you enroll in the course, you get access to all of the courses in the Certificate, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
More questions
Financial aid available,
¹ Some assignments in this course are AI-graded. For these assignments, your data will be used in accordance with Coursera's Privacy Notice.





