Modern C++ Concurrency in Depth ( C++17/20)

modern c++ concurrency features including memory model, lock free data structure, thread pools, coroutines.

4.34 (1663 reviews)
Udemy
platform
English
language
Programming Languages
category
instructor
Modern C++ Concurrency in Depth ( C++17/20)
12,919
students
10 hours
content
Nov 2021
last update
$109.99
regular price

What you will learn

Learn Concurrent programming in C++ including feature in C++17/20 standards.

You will learn how to implement useful concurrent data structures and algorithms using latest C++ features.

Why take this course?

C++ programming language can be categorized under many topics. Some say its a general purpose programming language, some say its a object oriented version of C. But I liked to categorized it under system programming language. One characteristic of any system programming language including C++ is that language should be able to execute faster compare to other languages like java etc. 

C++ paradigm took sharp turn with the introduction of C++11 standards. The most notable difference with previous version is the introduction of new memory model. Memory model is the key part of any language, and the performance of all the functionalities depends on that language memory model. With new c++ memory model, we can exploit tremendous power of  modern multi core processors. 

Programming a proper C++ code with better memory reclaim mechanism is tough task. But if we want to code thread safe code which can harvest underline processors true power is much more difficult task. In this course we will have in depth discussion on  C++ concurrency features including memory model. We will implements thread safe data structures and algorithms, both lock based manner and lock free manner. Proper lock free implementations of data structures and algorithms will provide unprecedented performance output. Let me listed down key aspects we cover in this course below.

1.Basics of C++ concurrency(threads, mutex, package_task, future ,async, promise)

2.Lock based thread safe implementation of data structures and algorithms.

3.C++ memory model.

4.Lock free implementation of data structures and algorithms.

5.C++20 concurrency features.

5. Proper memory reclaim mechanism for lock free data structures.

6. Design aspects of concurrent code.

7. In depth discussion on thread pools.

8. Bonus section on CUDA programming with C and C++.

Screenshots

Modern C++ Concurrency in Depth ( C++17/20) - Screenshot_01Modern C++ Concurrency in Depth ( C++17/20) - Screenshot_02Modern C++ Concurrency in Depth ( C++17/20) - Screenshot_03Modern C++ Concurrency in Depth ( C++17/20) - Screenshot_04

Our review

πŸ“š **Global Course Rating: 4.27** ### Course Overview and Content Quality #### Pros: - πŸŽ“ **Comprehensive Topics Coverage:** The course covers a wide range of concurrency topics, from basic to advanced levels, making it a valuable resource for both novice and experienced programmers. - πŸ€– **Advanced Content:** Some users found the content to be very advanced and detailed, especially in areas like atomic operations and lock-free programming. - 🌍 **C++17 and C++20 Updates:** The course is updated to cover C++17 and C++20 features, which are important for modern C++ concurrency programming. - πŸ“š **Alignment with Existing Literature:** Some users appreciated the alignment of the course content with the book "Concurrency in Action" by Anthony Williams, even if it was not always clearly mentioned. - πŸ‘ **Explained Well:** A number of reviews praised the clear explanations provided by the instructors, especially for complex concepts. - πŸ’Ž **Valuable Depth of Information:** The depth of information provided in some lectures was noted as particularly impressive, offering insights into how things work under the hood. #### Cons: - 🚫 **Lack of Beginner-Friendly Approach:** The course seems to be more geared towards those with prior knowledge of concurrency and multiprocessing. - 🚧 **Confusing Content Rush:** Some users found the content from section 4 onwards to be rushed, with topics not being discussed in depth. - ✏️ **Outdated Slides and Code Examples:** Some slides were outdated, and some code examples provided in later sections did not correspond to the lectures they were supposed to support (e.g., sections 6 and 9). Additionally, codes for certain lectures (e.g., lectures 85 and 86) were reported as non-working. - πŸ—£οΈ **Speech Clarity and English Grammar Issues:** Some users noted that speech clarity and English grammar in the course needed improvement. This affected the understanding of the material, with some instructors being more clear than others. - πŸ“„ **Missing Assignments:** The absence of assignments or tasks to help understand the topics was pointed out as a significant gap in the course's comprehensive approach. - πŸ› οΈ **Technical Errors and Oversights:** There were reports of technical errors, such as missing code snippets and incorrect information within slides. ### Instructor Performance and Course Structure - πŸ§‘β€πŸ« **Different Presenters:** The course appears to have content delivered by different presenters, with some users preferring the main instructor over others. - β™« **Audio and Presentation Quality:** Some users suggested that the material could be made more professional in terms of audio quality and presentation to match the complexity and importance of the subject matter. ### Course Material and Supporting Resources - πŸ“‘ **Missing Materials:** Several reviews highlighted issues with missing materials, such as slides and code snippets, which required transcribing from video to understand certain concepts. - πŸ–₯️ **Video and Slide Discrepancies:** In some instances, the content presented in videos contradicted what was shown on slides, which was found to be very distracting. ### User Experience and Learning Outcome - ✨ **Learning Value:** Despite the issues with presentation and content consistency, users reported gaining valuable knowledge about concurrency in C++ that improved their programming skills. - πŸ” **Room for Improvement:** Users provided constructive feedback, suggesting improvements such as better English grammar, more comprehensive coverage of topics, and the inclusion of assignments or tasks to aid learning. ### Conclusion The course is highly praised for its extensive coverage of concurrency topics in C++ but falls short in delivering a seamless and error-free learning experience due to presentation issues, inconsistencies in material quality, and some technical oversights. It is recommended for those with a background in concurrency who wish to update their skills to C++17/C++20 standards, but it may require additional effort to navigate the course content effectively. A potential rework of the course with attention to detail, clarity, and thoroughness could significantly enhance its value as a learning tool.

Charts

Price

Modern C++ Concurrency in Depth ( C++17/20) - Price chart

Rating

Modern C++ Concurrency in Depth ( C++17/20) - Ratings chart

Enrollment distribution

Modern C++ Concurrency in Depth ( C++17/20) - Distribution chart
1283470
udemy ID
7/7/2017
course created date
8/17/2019
course indexed date
Bot
course submited by