Get 20% off all career paths from fullstack to AI
AI, Data Science & Cloud Certificates from Google, IBM & Meta
Overview
Google, IBM & Meta Certificates – 40% Off
One Coursera Plus subscription covers most Professional Certificates on Coursera.
Unlock All Certificates
Discover the core concepts and essential skills of parallel and concurrent programming in C++.
Syllabus
Introduction
- Learn parallel programming basics
- What you should know
- Installing Cygwin and Visual Studio Code
- Sequential vs. parallel computing
- Parallel computing architectures
- Shared versus distributed memory
- Thread versus process
- Thread versus process: C++ demo
- Concurrent versus parallel execution
- Execution scheduling
- Execution scheduling: C++ demo
- Thread life cycle
- Thread life cycle: C++ demo
- Detached thread
- Detached thread: C++ demo
- Data race
- Data race: C++ demo
- Mutual exclusion
- Mutual exclusion: C++ demo
- Atomic objects: C++ demo
- Recursive mutex
- Recursive mutex: C++ demo
- Try lock
- Try lock: C++ demo
- Shared mutex
- Shared mutex: C++ demo
- Deadlock
- Deadlock: C++ demo
- Abandoned lock
- Abandoned lock: C++ demo
- Starvation
- Starvation: C++ demo
- Livelock
- Livelock: C++ demo
- Condition variable
- Condition variable: C++ demo
- Producer-consumer
- Producer-consumer: C++ demo
- Semaphore
- Semaphore: C++ demo
- Race condition
- Race condition: C++ demo
- Barrier
- Barrier: C++ demo
- Latch: C++ demo
- Computational graph
- Thread pool
- Thread pool: C++ demo
- Future
- Future: C++ demo
- Divide and conquer
- Divide and conquer: C++ demo
- Speedup, latency, and throughput
- Amdahl's law
- Measure speedup
- Measure speedup: C++ demo
- Partitioning
- Communication
- Agglomeration
- Mapping
- Welcome to the challenges!
- Challenge: Matrix multiply
- Solution: Matrix multiply
- Challenge: Merge sort
- Solution: Merge sort
- Challenge: Download images
- Solution: Download images
- Next steps
Taught by
Olivia Chiu Stone and Barron Stone