Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Modern C++20 Bootcamp: Basics to Advanced Multithreading
Rating: 4.1 out of 5(259 ratings)
21,667 students

Modern C++20 Bootcamp: Basics to Advanced Multithreading

Master C++20, advanced multithreading, concurrent data structures, and memory models for high-performance apps.
Last updated 6/2026
English

What you'll learn

  • C++ Fundamentals: Grasp the core concepts including variables, data types, arithmetic operations, and basic I/O.
  • Design Your Own Types: Learn the art of defining custom types using classes, structures, unions, and enumerations.
  • Understanding Modularity: Organize and structure your code effectively using namespaces, source files, and headers. Introduction to C++20 Modules feature.
  • Dive into OOP: Get introduced to the world of Object-Oriented Programming in C++ and understand classes, constructors, member functions, and overloading.
  • Understand Essential Operations: Demystify copy and move semantics and lay the foundation for the Rule of Three/Five.
  • Harness the Power of Templates: Delve into generic programming with C++ templates, ensuring type safety without limitations.
  • Concepts (C++20) and Generic Programming: Dive deeper into ensuring type-safety at compile-time through concepts.
  • Explore the C++ Library: Get familiarized with the C++ Standard Library, from containers and algorithms to a multitude of utilities.
  • Strings and Beyond: Master string operations, string_view(C++17) and harness the power of regular expressions.
  • Familiarize with I/O Streams: Navigate the world of I/O streams for efficient and formatted input-output operations.
  • Container Proficiency: Explore powerful container classes such as vector, list, and map.
  • Algorithmic Prowess: Understand the nuances of how algorithms work with containers and iterators.
  • C++ Utilities: Equip yourself with knowledge on smart pointers, time/date utilities, and more.
  • Concurrency & Parallelism: Get started with the concurrent world of C++, learning about threads, tasks, and synchronization mechanisms.
  • 200+ coding exercises and assignments to immediately apply the learned knowledge.
  • Details of C++ memory model on which atomics are built
  • Concepts of memory barriers and memory order in C++
  • Using Modern C++ to design lock free algorithms with C++ atomics and memory model
  • Importance of sequential consistency in concurrency
  • Getting high performane using C++ memory model
  • External factors influencing performance of atomics
  • Tools to use in production while working with C++ in production

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

53 sections308 lectures23h 52m total length
  • What topics does the Ultimate C++ course curriculum cover?3:44

    The Ultimate C++ course is organized into three progressive segments: modern C++ foundations (C++20 features, smart pointers, exception handling, templates, lambdas), intermediate professional development (STL containers and algorithms, template programming, I/O streams, regular expressions), and advanced concurrent programming (thread management, memory models, atomic operations, lock-free techniques, parallel algorithms from C++17 and C++20).

    Each segment builds directly on the previous one, progressing from language fundamentals to production-grade engineering skills. The course includes practical exercises grounded in real-world scenarios, knowledge checks after major topics, and coverage of professional tooling including CMake, Git, and debugging techniques used in production environments. All code examples are self-contained and runnable in online compiler tools.

    After this lecture, learners will be able to navigate the full course structure and understand which segment addresses their current C++ skill development goals.

    Key Topics: course curriculum, C++20, modern C++, concurrent programming, STL, templates, memory management, parallel algorithms

  • [Important] How to Navigate the content?0:48

Requirements

  • Basic programming awareness is expected. Examples: Questions like "What is a variable?", "What is a processor?" etc. will NOT be answered in the course.
  • Access to desktop based browser is mandatory to complete the coding exercises and the online compiler too access.
  • Course guides about using online compiler enviroment and hence DOES NOT explain or expect usage of any IDE application.

Description

This course is your comprehensive pathway to mastering modern C++ development. This expertly crafted, almost 24-hour course transforms foundational knowledge into professional-grade programming skills, featuring cutting-edge C++20 features and industry-standard multithreading practices used by top tech companies.


Master three essential pillars of professional C++ development:


1. Modern C++ Mastery

- Latest C++20 features and best practices

- Powerful object-oriented programming techniques

- Professional-grade STL implementation

- Smart memory management for leak-free code

- Industry-standard error handling strategies


2. Professional Development Skills

- Advanced template programming techniques

- High-performance STL algorithms

- Production-ready I/O handling

- Generic programming for scalable solutions

- Modern string processing and regex mastery


3. Enterprise-Level Threading

- Production-tested multithreading patterns

- Advanced memory models and synchronization

- High-performance lock-free programming

- Thread-safe data structure design

- Performance optimization secrets


What sets this course apart:

- 300+ carefully structured video lectures

- 150+ Real-world coding exercises

- Strategic knowledge-check quizzes

- Overview of using essential production tools (CMake, Git, debugging) in context of C++

- A performance tools overview with demos.

- Industry-relevant project examples


Perfect for ambitious developers with basic programming knowledge, this course requires only a desktop browser - no complex IDE setup is needed!


Whether you're aiming to build high-performance applications, ace technical interviews, or modernize legacy systems, this course delivers the practical skills needed in today's competitive tech landscape. Join thousands of successful students who've transformed their C++ development capabilities through this comprehensive learning journey. (Please watch the course overview for a detailed course roadmap.)


More Details about Intermediate and Advanced Content:

This intermediate-level content covers advanced concurrency and memory models in C++, focusing on writing high-performance concurrent programs. Students will explore the C++ memory model, including Sequential Consistency-Data Race Free (SC-DRF) guarantees, memory barriers, and atomics. The material delves into efficient synchronization mechanisms, lock-free and wait-free algorithms, and techniques for avoiding performance pitfalls like false sharing in caches.

The modules emphasize the practical implementation of concurrent data structures using modern C++20 features, including parallel algorithms, atomic operations, and enhanced memory models. Students will learn to design and implement thread-safe data structures like queues, stacks, hash tables, and trees, while mastering essential performance analysis tools such as perf, Valgrind, Intel Vtune, Google Orbit, and gdb. This content is particularly suited for experienced C++ developers looking to enhance their concurrent programming skills and create scalable applications for multi-core systems.


Note: While accessible to beginners, this course rewards dedicated learners ready to master professional C++ development.


Student Review

So, I'm a software developer who has been working in C++ for over two decades now (gods I am old) - but I have to do periodic training for work and somehow HR approved me taking this course for my on going training. I intended to leave it on in the background and just get on with work - but then I started to notice the quality of the instructors lessons and started paying attention because this could be something good to give to our new interns. I will say outright the only reason it is not a full 5 stars is because some of the exercises are worded a bit weirdly that even I had to see the test output to get exactly what the instructor wanted from us - however, the material is very good and gives enough depth to be complete but not so much as to confuse new people (especially with the difficulties listed before each section). If someone worked through this course, practised and studied on their own as well, and did the capstone project they would be more than prepared to seek internships as a C++ developer. The course is well structured, presentation is thorough, and the instructor seems well versed in best practises and general programming. Great work!

Who this course is for:

  • Beginner programmers and students seeking starting point for learning modern C++ from software development perspective.
  • Experienced programmers seeking a quick refresher to catch up with Modern C++ upto C++20
  • NOT meant for interview preparation in coming weeks!
  • Programmers from other languages like Java, Python willing to learn C++ to diversify their skill set.
  • C++ developers curious to understand the details of C++11 memory model and atomics from production perspective
  • C++ developers exploring options to write high performance concurrent applications in C++
  • C++ developers keen to catch up on Modern C++20 concurreny and multhreading features like Coroutines.