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.