Schedule
Spring 2025
Where, when, and how
- Lectures are on Fridays 13:00–15:00 in room ??. Recordings will be available on Canvas for working students or if you are absent due to unforseen circumstances, e.g. illness.
- Exercises sessions are on Fridays 15:00–17:00 in room E.1.5.
Topics
Date | Topic |
---|---|
14 Feb | Introduction, multicore hardware, basic terminology, laws of parallel programming |
21 Feb | Erlang: sequential programming, concurrent programming |
28 Feb | Erlang: distributed programming, fault tolerance |
7 Mar |
Erlang: the actor model, comparison with other frameworks; Benchmarking: approach, pitfalls, statistics, reporting |
14 Mar | GPU Programming using OpenCL: introduction |
21 Mar | GPU Programming using OpenCL: memory hierarchy |
28 Mar | GPU Programming using OpenCL: optimization |
4 Apr | Clojure: introduction, sequential programming |
11 Apr | (Easter break) |
18 Apr | (Easter break) |
25 Apr | Clojure: persistent data structures, atoms, agents |
2 May | Clojure: software transactional memory |
9 May | Clojure: software transactional memory |
16 May |
Communicating Sequential Programming and channels; Categories of concurrency models (task vs. data paralellism, message passing vs. shared memory) |
23 May | (To be determined: MapReduce / OpenMP and MPI / other topics of interest) |
Project deadlines
For regular students:
Erlang | Thursday 10 April 2024 |
OpenCL | Thursday 14 May 2024 |
Clojure | Wednesday 28 May 2024 |
For working students (only if you are officially registered as such!), the deadline for all three projects is Wednesday 28 May 2024, although you are recommended to submit the first two projects throughout the semester.
The deadline is always at 23:59. You should submit the projects on Canvas.
If you want to hand in late for a valid reason (illness), you need to request an extension before the deadline. If you hand in late otherwise, two points will be deducted per day you were late.