Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Microsoft

Advanced C++ Programming and Modern Practices

Microsoft via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
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.

Syllabus

  • Standard Template Library (STL)
    • 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.
  • Concurrency and Multithreading
    • 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.
  • Best Practices and Code Optimization
    • 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.
  • Modern C++ Features and Documentation
    • 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.
  • Hands on Course Project
    • 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.

Taught by

Microsoft

Reviews

Start your review of Advanced C++ Programming and Modern Practices

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.