This page is for an old version of the course, click here to go to the 2019 edition of the course

EPFL Parallelism and Concurrency (CS-206), Spring 2018

Moodle Calendar Slides

Parallelism Youtube

This is the EPFL course CS 206 offered in Spring Semester, 2nd year at the undergraduate level.

You can read here the Course Book Description.

The main textbook is Learning Concurrent Programming in Scala.


There are three main parts of the course, given in this order:

  • Parallelism
  • Concurrency
  • Big Data Analysis with Scala and Spark

Your task in this course is:

  • attend live lectures when given
  • watch videos linked from this page
  • ask questions in the Moodle forum (make sure you sign up in Moodle)
  • attend project sessions to work on assignments
  • submit assignments using git (make sure your points are what you expected)
  • write the mid-term exam
  • write the final exam

Note: you do not need to use Coursera or this year.

IMPORTANT: Exercises Rooms

Please select your preferred time slot and location for exercise sessions on the following Doodle form.

Exercise sessions will take place whenever no live lectures are given.

  • Exercise sessions (which start at 14:15) differ from project sessions given every week in INF1 and INF2 from 16:15



If you have any questions regarding assignments, lecture material or organization, please ask them on the Moodle forums. We will also use Moodle for all communications regarding the course, so make sure you are registered.

Course Material


For all assignments, students must work alone – working in groups is not allowed!.

  • Assignment 1, to be delivered before Friday 2nd March 2018, 23:59.
  • Assignment 2, to be delivered before Friday 9th March 2018, 23:59.
  • Assignment 3, to be delivered before Friday 16th March 2018, 23:59.
  • Assignment 4, to be delivered before Friday 23rd March 2018, 23:59.
  • Assignment 5, to be delivered before Friday 30th March 2018, 23:59.
  • Assignment 6, to be delivered before Friday 13th April 2018, 23:59.
  • Assignment 7, to be delivered before Friday 4th May 2018, 23:59.
  • Assignment 8, to be delivered before Friday 18th May 2018, 23:59.
  • Assignment 9, to be delivered before Friday 25th May 2018, 23:59.

Important note regarding assignments

The assignments must be delivered on before their respective deadlines. To deliver assignments, use the Deliverables tab on the website. If you fail to do so, the system will automatically deliver the latest commit at the time of the deadline, which might not be the commit you wanted to be delivered.

Please test your submissions on the server. Your projects will be graded solely based on the number of passing tests. Please ask for help before the deadline if you don't manage to properly test your assignment on the testing infrastructure. Contact us as soon as possible if something seems wrong with your projects on the testing infrastructure !

Please use the EPFL VPN if you want to connect to the grading infrastructure from outside of EPFL.


This is a continuous control course with grading during the semester. The grading of the course is as follows:

  • all (project) assignments together (25%)
  • midterm (35%)
  • final exam (40%)

The examination including the final exam are held during the semester.

  • the usual rules for EPFL “continuous control” courses apply regarding registration (enrollment) and un-enrollment, please check the general EPFL rules

The midterm will be held on Wednesday 18th April. Midterm

The final exam will be held on Wednesday 30th May.

Exams from previous years are available here.