When you enroll in this course, you'll also be enrolled in this Professional Certificate.
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 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.
Course Learning Objectives
By the end of this course, you will be able to:
- Implement efficient data structures and algorithms using the Standard Template Library (STL).
- Design and develop concurrent and multithreaded applications in C++.
- Apply best practices and optimization techniques to improve code performance.
- Utilize modern C++ features from C++17 and C++20.
- Create comprehensive documentation for C++ projects using GenAI tools.
- Develop a complex C++ application that integrates multiple advanced concepts.
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
Show info about module content
7 videos•Total 37 minutes
Welcome to Advanced C++ Programming and Modern Practices•4 minutes
STL Containers in High-Performance Applications•7 minutes
STL Containers in High-Performance Applications•7 minutes
STL Algorithms in Enterprise Data Processing•3 minutes
STL Algorithms in Enterprise Data Processing•6 minutes
Generic Programming with Iterators and Function Objects•4 minutes
Generic Programming with Iterators and Function Objects•6 minutes
5 readings•Total 50 minutes
Course Syllabus•10 minutes
STL Container Types, Performance Characteristics, and Selection Criteria•10 minutes
STL Algorithm Categories and Modern Range Processing•10 minutes
Iterator Categories, Function Objects, and Modern Range Programming•10 minutes
Module 1 Reference Guide•10 minutes
4 assignments•Total 120 minutes
Module 1 Comprehensive Evaluation•30 minutes
Container Implementation and Performance Assessment•30 minutes
Algorithm Implementation and Complexity Assessment•30 minutes
Generic Programming and Modern C++ Assessment•30 minutes
6 ungraded labs•Total 360 minutes
Container Declaration and Performance Comparison•60 minutes
Data Processing with STL Containers•60 minutes
Algorithm Application and Composition Practice•60 minutes
STL Algorithm Pipeline for Data Processing•60 minutes
Iterator Manipulation and Function Object Design Practice•60 minutes
Iterator and Function Object Data Processing•60 minutes
Concurrency and Multithreading
Module 2•9 hours to complete
Module details
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
Show info about module content
6 videos•Total 29 minutes
Multithreading in Modern Computing Applications•3 minutes
Multithreading in Modern Computing Applications•7 minutes
Synchronization in Mission-Critical Systems•4 minutes
Synchronization in Mission-Critical Systems•6 minutes
Advanced Concurrency in Scalable Systems•4 minutes
Advanced Concurrency in Scalable Systems•6 minutes
4 readings•Total 40 minutes
Thread Fundamentals, Lifecycle Management, and Best Practices•10 minutes
Synchronization Primitives, Deadlock Prevention, and Thread-Safe Design•10 minutes
Asynchronous Programming, Thread Pools, and Lock-Free Programming•10 minutes
Module 2 Reference Guide•10 minutes
4 assignments•Total 120 minutes
Module 2 Comprehensive Evaluation•30 minutes
Threading Fundamentals and Management Assessment•30 minutes
Thread Safety and Synchronization Assessment•30 minutes
Advanced Concurrency and Scalability Assessment•30 minutes
6 ungraded labs•Total 360 minutes
Thread Creation and Management Practice•60 minutes
Basic Multithreading Practice Lab•60 minutes
Synchronization Implementation and Deadlock Prevention Practice•60 minutes
Basic Synchronization Mechanisms Practice Lab•60 minutes
Futures, Promises, and Thread Pool Implementation Practice•60 minutes
Advanced Concurrency Patterns Practice Lab•60 minutes
Best Practices and Code Optimization
Module 3•9 hours to complete
Module details
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
Show info about module content
6 videos•Total 29 minutes
Code Optimization in Performance-Critical Applications•4 minutes
Code Optimization in Performance-Critical Applications•6 minutes
Modern C++ in Professional Software Development•4 minutes
Modern C++ in Professional Software Development•6 minutes
Profiling in Evidence-Based Optimization•4 minutes
Profiling in Evidence-Based Optimization•5 minutes
4 readings•Total 40 minutes
Memory Optimization, Algorithm Analysis, and Compiler Optimization•10 minutes
RAII Principles, Move Semantics, and Modern Design Patterns•10 minutes
Profiling Tools, Measurement Methodologies, and Data-Driven Optimization•10 minutes
Module 3 Reference Guide•10 minutes
4 assignments•Total 120 minutes
Module 3 Comprehensive Evaluation•30 minutes
Performance Optimization and Analysis Assessment•30 minutes
Modern C++ Implementation and Design Pattern Assessment•30 minutes
Performance Analysis and Data-Driven Optimization Assessment•30 minutes
6 ungraded labs•Total 360 minutes
Performance Optimization Implementation and Analysis Practice•60 minutes
Basic Code Optimization Practice Lab•60 minutes
Modern C++ Idioms and Design Patterns Implementation Practice•60 minutes
Modern C++ Idioms and Patterns Practice Lab•60 minutes
Performance Profiling and Bottleneck Analysis Practice•60 minutes
Profiling and Performance Analysis Practice Lab•60 minutes
Modern C++ Features and Documentation
Module 4•9 hours to complete
Module details
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
Show info about module content
6 videos•Total 28 minutes
Modern C++ in Contemporary Software Development•4 minutes
Modern C++ in Contemporary Software Development•5 minutes
Documentation in Professional Software Development•4 minutes
Documentation in Professional Software Development•5 minutes
GenAI Revolution in Documentation Creation•4 minutes
Generative AI for Documentation•6 minutes
4 readings•Total 40 minutes
TITLE: C++17 Features, C++20 Capabilities, and Language Evolution•10 minutes
Code Commenting, API Documentation, and Project Organization•10 minutes
AI Documentation Tools, Quality Assessment, and Workflow Integration•10 minutes
Module 4 Reference Guide•10 minutes
4 assignments•Total 120 minutes
Module 4 Comprehensive Evaluation•30 minutes
Modern C++ Features and Language Evolution Assessment•30 minutes
Documentation Principles and Technical Communication Assessment•30 minutes
AI-Assisted Documentation and Quality Assurance Assessment•30 minutes
6 ungraded labs•Total 360 minutes
Modern C++ Feature Implementation and Integration Practice•60 minutes
Modern C++ Basics - Classes and STL Containers•60 minutes
Documentation Creation and Quality Assessment Practice•60 minutes
Basic Code Documentation and Comments•60 minutes
AI Documentation Generation and Quality Improvement Practice Item Type: Short Programming Activity•60 minutes
Introduction to AI-Assisted Code Documentation•60 minutes
Hands on Course Project
Module 5•2 hours to complete
Module details
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
Show info about module content
1 video•Total 3 minutes
Advanced C++ in Enterprise Application Development•3 minutes
3 readings•Total 30 minutes
Advanced C++ Application Development Project Overview•10 minutes
Advanced C++ Application Development: Capstone Project•10 minutes
Course Completion and Professional Excellence•10 minutes
1 assignment•Total 30 minutes
Advanced C++ Application Development: Capstone Project Assessment•30 minutes
1 ungraded lab•Total 60 minutes
Advanced C++ Application Development: Capstone Project•60 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Our goal at Microsoft is to empower every individual and organization on the planet to achieve more.
In this next revolution of digital transformation, growth is being driven by technology. Our integrated cloud approach creates an unmatched platform for digital transformation. We address the real-world needs of customers by seamlessly integrating Microsoft 365, Dynamics 365, LinkedIn, GitHub, Microsoft Power Platform, and Azure to unlock business value for every organization—from large enterprises to family-run businesses. The backbone and foundation of this is Azure.
OK
Why people choose Coursera for their career
Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Frequently asked questions
When will I have access to the lectures and assignments?
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.
What will I get if I subscribe to this Certificate?
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.
¹ Some assignments in this course are AI-graded. For these assignments, your data will be used in accordance with Coursera's Privacy Notice.