| 1 | | |
| Course Roadmap | | |
| Join the Community | | |
| 2 | | |
| Introduction to ConcurrencyBeginner | High | Beginner |
| Concurrency vs ParallelismBeginner | High | Beginner |
| Processes vs ThreadsBeginner | High | Beginner |
| Thread Lifecycle and StatesBeginner | High | Beginner |
| Race Conditions and Critical SectionsBeginner | High | Beginner |
| Concurrency ModelsIntermediate | Medium | Intermediate |
| 3 | Language Specific Concurrency | |
| Java | | |
| Creating ThreadsBeginner | High | Beginner |
| Java Memory ModelIntermediate | High | Intermediate |
| Synchronized vs ReentrantLockIntermediate | High | Intermediate |
| java.util.concurrent Package TourIntermediate | High | Intermediate |
| Virtual ThreadsIntermediate | Medium | Intermediate |
| CompletableFuture Async ProgrammingIntermediate | Medium | Intermediate |
| Python | | |
| Creating ThreadsBeginner | High | Beginner |
| Global Interpreter Lock (GIL)Intermediate | High | Intermediate |
| Threading vs MultiprocessingIntermediate | High | Intermediate |
| Asyncio FundamentalsIntermediate | Medium | Intermediate |
| concurrent.futures ModuleIntermediate | Medium | Intermediate |
| C++ | | |
| Creating ThreadsBeginner | High | Beginner |
| C++ Memory ModelIntermediate | Medium | Intermediate |
| std::atomic and Memory OrdersIntermediate | Medium | Intermediate |
| RAII for ConcurrencyIntermediate | Low | Intermediate |
| std::async, std::future, and std::promiseAdvanced | Medium | Advanced |
| C# | | |
| Creating ThreadsBeginner | Medium | Beginner |
| C# Memory ModelIntermediate | Low | Intermediate |
| Lock, Monitor, and SynchronizationIntermediate | Medium | Intermediate |
| Task Parallel Library (TPL)Intermediate | Medium | Intermediate |
| Async/Await InternalsIntermediate | Medium | Intermediate |
| Channels and DataflowAdvanced | Low | Advanced |
| Go | | |
| Creating GoroutinesBeginner | High | Beginner |
| Go Memory ModelIntermediate | Medium | Intermediate |
| Goroutines and SchedulerIntermediate | High | Intermediate |
| Channels FundamentalsIntermediate | High | Intermediate |
| sync PackageIntermediate | Medium | Intermediate |
| 4 | Synchronization Primitives | |
| Mutex (Mutual Exclusion)Beginner | High | Beginner |
| SemaphoresBeginner | High | Beginner |
| Condition VariablesIntermediate | High | Intermediate |
| Read-Write LocksIntermediate | High | Intermediate |
| Barriers and LatchesIntermediate | Medium | Intermediate |
| 5 | | |
| Coarse-grained vs Fine-grained LockingIntermediate | Medium | Intermediate |
| Reentrant LocksIntermediate | Medium | Intermediate |
| Try-Lock and Timed LockingIntermediate | Medium | Intermediate |
| Optimistic vs Pessimistic LockingIntermediate | Medium | Intermediate |
| Two-Phase LockingAdvanced | Low | Advanced |
| 6 | | |
| Compare-And-Swap (CAS)Intermediate | High | Intermediate |
| Atomic OperationsAdvanced | High | Advanced |
| 7 | | |
| DeadlockBeginner | High | Beginner |
| LivelockBeginner | High | Beginner |
| StarvationIntermediate | High | Intermediate |
| Lost Signal / WakeupIntermediate | Medium | Intermediate |
| Spurious WakeupIntermediate | Medium | Intermediate |
| Thread LeakageIntermediate | Medium | Intermediate |
| Priority InversionAdvanced | Low | Advanced |
| 8 | | |
| Signaling PatternBeginner | Medium | Beginner |
| Thread Pool PatternBeginner | High | Beginner |
| Producer-Consumer PatternBeginner | High | Beginner |
| Reader-Writer PatternIntermediate | High | Intermediate |
| Future/Promise PatternIntermediate | High | Intermediate |
| Fork-Join PatternAdvanced | Medium | Advanced |
| Double-Checked Locking PatternAdvanced | Medium | Advanced |
| 10 | | |
| Print Foo Bar AlternatelyBeginner | High | Beginner |
| Print Zero Even OddBeginner | High | Beginner |
| Fizz Buzz MultithreadedBeginner | High | Beginner |
| Building H2O MoleculeIntermediate | Medium | Intermediate |
| Readers-Writers ProblemIntermediate | High | Intermediate |
| Unisex BathroomIntermediate | Medium | Intermediate |
| Bounded BufferIntermediate | High | Intermediate |
| Sleeping BarberIntermediate | Medium | Intermediate |
| Dining PhilosophersIntermediate | High | Intermediate |
| Cigarette Smokers ProblemAdvanced | Low | Advanced |
| Santa Claus ProblemAdvanced | Low | Advanced |
| 11 | Concurrency Design Problems | |
| Design Thread-Safe Cache with TTLIntermediate | High | Intermediate |
| Design Thread-Safe Rate LimiterIntermediate | High | Intermediate |
| Design Deferred Callback ExecutorIntermediate | Medium | Intermediate |
| Design Ticket Booking SystemIntermediate | High | Intermediate |
| Design Multithreaded Web CrawlerIntermediate | Medium | Intermediate |
| Design Multithreaded Pub-Sub SystemAdvanced | Medium | Advanced |
| Design Task Scheduler with DependenciesAdvanced | Medium | Advanced |
| 12 | Concurrent Data Structures | |
| Design Concurrent HashMapIntermediate | High | Intermediate |
| Design Thread-Safe Blocking QueueIntermediate | High | Intermediate |
| Design Concurrent Bloom FilterIntermediate | Medium | Intermediate |
| Design Lock-Free QueueAdvanced | Medium | Advanced |
| Design Concurrent Priority QueueAdvanced | Medium | Advanced |
| Design Thread-Safe TrieAdvanced | Medium | Advanced |
| 13 | Multi-threaded Algorithms | |
| Multi-threaded Merge SortIntermediate | Medium | Intermediate |
| Multi-threaded Word Frequency CounterIntermediate | Medium | Intermediate |
| Concurrent BFS/DFS Graph TraversalAdvanced | Medium | Advanced |