Schedule

Spring 2025

Where, when, and how

  • Lectures are on Fridays 13:00–15:00 in room I.1.08. 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, also in room I.1.08. The exercises are no longer in a computer room, you are expected to bring your own laptop. The VUB has some support programmes for buying or renting a laptop.

Topics

Date Topic
14 Feb Introduction, multicore hardware, basic terminology, laws of parallel programming
21 Feb Erlang: sequential programming, concurrent programming
28 Feb (Cancelled)
7 Mar Erlang: distributed programming, fault tolerance
14 Mar Erlang: the actor model, comparison with other frameworks;
Benchmarking: approach, pitfalls, statistics, reporting
21 Mar GPU Programming using OpenCL: introduction
28 Mar GPU Programming using OpenCL: memory hierarchy
4 Apr GPU Programming using OpenCL: optimization
11 Apr (Easter break)
18 Apr (Easter break)
25 Apr Clojure: introduction, sequential programming
2 May Clojure: persistent data structures, atoms, agents
9 May Clojure: software transactional memory
16 May Clojure: software transactional memory
23 May Communicating Sequential Programming and channels;
Categories of concurrency models (task vs. data paralellism, message passing vs. shared memory)

Project deadlines

For regular students:

Erlang Thursday 10 April 2025
OpenCL Thursday 8 May 2025
Clojure Wednesday 28 May 2025

For working students (only if you are officially registered as such!), the deadline for all three projects is Wednesday 28 May 2025, 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.