Microsoft
Advanced C++ Programming and Modern Practices

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

Microsoft

Advanced C++ Programming and Modern Practices

 Microsoft

Instructor: Microsoft

Included with Coursera Plus

Gain insight into a topic and learn the fundamentals.
Beginner level
No prior experience required
4 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Gain insight into a topic and learn the fundamentals.
Beginner level
No prior experience required
4 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

See how employees at top companies are mastering in-demand skills

 logos of Petrobras, TATA, Danone, Capgemini, P&G and L'Oreal

Build your Software Development expertise

This course is part of the Microsoft Introduction to C++ Programming Professional Certificate
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 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.

Instructor

 Microsoft
269 Courses2,116,378 learners

Offered by

Microsoft

Explore more from Software Development

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

¹ Some assignments in this course are AI-graded. For these assignments, your data will be used in accordance with Coursera's Privacy Notice.