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.

Advanced C++ Programming and Modern Practices

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

Instructor: Microsoft
Access provided by Masterflex LLC, Part of Avantor
Recommended experience
Skills you'll gain
Details to know

Add to your LinkedIn profile
January 2026
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
Standard Template Library (STL) 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
7 videos5 readings4 assignments6 ungraded labs
Concurrency and Multithreading 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
6 videos4 readings4 assignments6 ungraded labs
Best Practices and Code Optimization 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
6 videos4 readings4 assignments6 ungraded labs
Modern C++ Features and Documentation 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
6 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
1 video3 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.
Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.
Explore more from Computer Science
¹ Some assignments in this course are AI-graded. For these assignments, your data will be used in accordance with Coursera's Privacy Notice.





