The purpose of this course is to introduce students to parallel programming. By the end of the course students will be able to design and implement working parallel programs in traditional (e.g., Java Threads) and emerging parallel programming models. Moreover, students will master fundamental concepts in parallelism and be able to reason about the correctness, performance, and the construction of parallel programs using different parallel programming paradigms (e.g., task parallelism, data parallelism) and mechanisms (e.g., threads, tasks, locks, communication channels). Finally, the course will examine how parallel programming methodologies can be applied in different algorithmic domains by investigating parallelization of algorithms.
Topics include:
Main text and reference book
Related resources, text and reference books
Introduction to Java books (freely available)
All material is available on Moodle.
Date | Title |
---|---|
Feb 17 | Introduction & Course Overview |
Feb 18 | Java Recap and JVM Overview |
Feb 24 | Introduction to Threads and Synchronization (Part I) |
Feb 25 | Introduction to Threads and Synchronization (Part II) |
Mar 3 | Introduction to Threads and Synchronization (Part III) |
Mar 4 | Parallel Architectures: Parallelism on the Hardware Level |
Mar 10 | Basic Concepts in Parallelism |
Mar 11 | Divide & Conquer and Executor Service |
Mar 17 | DAG and ForkJoin Framework |
Mar 18 | Parallel Algorithms (Part I) |
Mar 24 | Parallel Algorithms (Part II) |
Mar 25 | Shared Memory Concurrency, Locks and Data Races |
Mar 31 | Virtual Threads |
Apr 01 | Exam Preparation (First Half) |
All material (exercise slides and exercises) is available on Moodle.
All exercises start in the first week of the semester.
Week | Title | Due Date |
---|---|---|
1 | Introduction | 24.02.2025 |
2 | Introduction to Multi-threading | 03.03.2025 |
3 | Multi-threading | 10.03.2025 |
4 | Parallel Models | 17.03.2025 |
5 | Divide and Conquer | 24.03.2025 |
6 | Task Parallelism | 31.03.2025 |
7 | Synchronization and Resource Sharing | 07.04.2025 |
There is a written, centralized exam after the end of the semester. Exercise sessions are not graded.