Schedule
Spring 2024
Where, when, and how
- Lectures are on Fridays 13:00–15:00 in room E.2.12. 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 |
---|---|
16 Feb | Introduction, multicore hardware, basic terminology, laws of parallel programming |
23 Feb | Erlang: sequential programming, concurrent programming |
1 Mar | Erlang: distributed programming, fault tolerance |
8 Mar |
Erlang: the actor model, comparison with other frameworks; Benchmarking: approach, pitfalls, statistics, reporting |
15 Mar | GPU Programming using OpenCL: introduction |
22 Mar | GPU Programming using OpenCL: memory hierarchy |
29 Mar | GPU Programming using OpenCL: optimization |
5 Apr | (Easter break) |
12 Apr | (Easter break) |
19 Apr | Clojure: introduction, sequential programming |
26 Apr | Clojure: persistent data structures, atoms, agents |
3 May | Clojure: software transactional memory |
10 May | Clojure: software transactional memory |
17 May |
Communicating Sequential Programming and channels; Categories of concurrency models (task vs. data paralellism, message passing vs. shared memory) |
24 May | (To be determined: MapReduce / OpenMP and MPI / other topics of interest) |
Project deadlines
Erlang | Sunday 7 April 2024 |
OpenCL | Sunday 12 May 2024 |
Clojure | Sunday 2 June 2024 |
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. If you are more than four days late, you’ll get an absent grade for the course.