-
Nicolas Alexander Stucki authoredf5b4c4ef
This repository will be used as the website for Parallelism and Concurrency CS-206. It will be updated weekly throughout the semester. This README contains general information about the class.
- previous-exams contains PDFs for the previous exams.
- exercises contains markdown documents for exercises and solutions.
- slides contains the slides presented in class.
- labs contains markdown documents for the labs.
We will use GitLab's issue tracker as a discussion forum. Feel free to open an issue if you have any comments or questions.
First-week tasks
- Join the Discord
- Log into gitlab: https://gitlab.epfl.ch/users/sign_in
- Please fill in this table with your GASPAR and SCIPER number
- Choose the group for the exercises
- This will initialize your GitLab repository for the course
- Follow the Tools Setup page.
- Do the example lab.
- Watch all videos under Parallelism 1: Introduction to Parallel Programming below
- Do the first graded lab.
Grading
The grading of the course is divided between exercies (5%), labs (25%), midterm exam (30%) and final exam (40%).
Staff
Role | People |
---|---|
Professors | Martin Odersky, Viktor Kunčak |
TAs | Aleksander Boruch-Gruszecki, Dragana Milovancevic, Guillaume Martres, Nicolas Stucki, Olivier Blanvillain |
Student TAs | Antoine Masanet, Lucas Giordano, Kajetan Pyszkowski, Marco Vögeli, Quentin Guignard, Sara Djambazovska |
Course Schedule
Lectures are partially live (on Zoom) and partially prerecorded (on YouTube). Live sessions will be held on Wednesdays from 14:15 to 16:00. Weekly Discord sessions will be held on Wednesdays from 14:15 to 16:00 for exercises (if it is a week with exercises) and 16:15 to 18:00 for labs. You should watch the prerecorded lectures before doing the exercies. In the first week of the semester, there will be a live Zoom session on Wednesday at 14:15 to welcome you to the class and answer questions you might have, followed by a Discord session.
Week | Date | Topic | Lectures (14:15-16:00) | Exercises (14:15-16:00) | Labs (16:15-18:00) |
---|---|---|---|---|---|
1 | 24.02.21 | Parallelism 1 | Prerecorded | Welcome Zoom session | Lab 1 |
2 | 03.03.21 | Parallelism 2 | Prerecorded | Exercise 1 | Lab 1 & 2 |
3 | 10.03.21 | Parallelism 3 | Prerecorded | Exercise 2 | Lab 2 & 3 |
4 | 17.03.21 | Parallelism 4 | Prerecorded | Exercise 3 | Lab 3 & 4 |
5 | 24.03.21 | Concurrency 1 | Live | Lab 4 & 5 | |
6 | 31.03.21 | Concurrency 2 | Live | Lab 5 & 6 | |
7 | 07.04.21 | Easter | |||
8 | 14.04.21 | Midterm Exam | |||
9 | 21.04.21 | Concurrency 3 | Live | Lab 6 | |
10 | 28.04.21 | Actors 1 | Prerecorded | Exercise 4 | Lab 7 |
11 | 05.05.21 | Actors 2 | Prerecorded | Exercise 5 | Lab 7 |
12 | 12.05.21 | Spark 1 | Prerecorded | Exercise 6 | Lab 8 |
13 | 19.05.21 | Spark 2 | Prerecorded | Exercise 7 | Lab 8 & 9 |
14 | 26.05.21 | Spark 3 | Prerecorded | Exercise 8 | Lab 9 |
15 | 02.06.21 | Review for Final Exam |
Solutions to the exercises are released after each deadline. We do not provide solutions for the labs.
Before each Discord session, students should watch videos corresponding to that week's topic:
Intro
Parallelism 1: Introduction to Parallel Programming
- Introduction to Parallel Computing
- Parallelism on the JVM I
- Parallelism on the JVM II
- Running Computations in Parallel
- Monte Carlo Method to Estimate Pi
- First-Class Tasks
- How Fast are Parallel Programs?
- Benchmarking Parallel Programs