- Profs: T. Hoefler, B. Solenthaler
- Website: https://spcl.inf.ethz.ch/Teaching/2025-pp/
- Moodle: https://moodle-app2.let.ethz.ch/course/view.php?id=24843
- Admin: Admin
- Material: Material
- Videos:
Lecture Notes
- 01 Introduction & Course Overview
- 02 Java Recap and JVM Overview
- 03 Introduction to Threads and Synchronization (Part I)
- 04 Introduction to Threads and Synchronization (Part II)
- 05 Introduction to Threads and Synchronization (Part III)
- 06 Parallel Architectures - Parallelism on the Hardware Level
- 07 Basic Concepts in Parallelism
- 08 Divide & Conquer and Executor Service
- 09 DAG and ForkJoin Framework
- 10 Parallel Algorithms (Part I)
- 11 Parallel Algorithms (Part II)
- 12 Shared Memory Concurrency, Locks and Data Races
- 13 Virtual Threads
- 14 Exam Preparation (First Half)
- 15 Memory Reordering, Java Memory Model, Data Races
- 16 Implementation of Mutual Exclusion, Critical Section, Decker’s Algorithm, Peterson’s Lock, Filter Lock, Lamport’s Bakery Algorithm
- 17 Read-Modify-Write Operations, TAS, CAS, TATAS Locks, Deadlocks
- 18 Deadlocks, Semaphores, Barriers
- 19 Producer Consumer Pattern, Queue, Monitors
- 20 Producer Consumer, Sleeping Barber, Conditional Waits, Reader Writer Locks, Lock Granularity