Each week, there will be a lab exercise. The exercises are linked here:
Lab 1 Introduction
Lab 2 Parallel algorithms
Lab 3 Introduction to Java
solution (not perfect, just as an inspiration)
Lab 4 Concurrency in Java - Basics, processes, threads, object monitors, memory model
solution (not perfect, just as an inspiration)
Lab 5 Concurrency in Java - ExecutorService, fork/join framework, bounded buffers, semaphores/mutexes
solution (not perfect, just as an inspiration)
Lab 6 Concurrency in Java - Deadlock, livelock, problems to watch out for, functional elements, parallel streams
solution (not perfect, just as an inspiration)
Lab 7 Concurrency in Java - Akka and actors, futures and promises
solution for CompleteableFutures exercise, remove .txt from file name (not perfect, just as an inspiration)
Lab 8 Introduction to C++
Lab 9 OpenMP
Lab 10 OpenCL I
Lab 11 OpenCL II
Lab 12 Scala I
Lab 13 Scala II
Lab 14 Python I
Lab 15 Python II