Reactive Programming and Parallelism


The course is divided into two parts:

  • In the first part (16.02.2015 – 03.04.2015) lectures will be tought in the classroom and assignments will be automatically graded through Coursera. In the exercise sessions TAs will help students with the assignments.
  • In the second part, both the lectures and the exercises will be taught as a MOOC on Coursera.

Signing up for the Course

For managing your grades we will use Moodle. (Please register for this course in moodle!) In addition, students must sign up to Coursera and provide us with the email address they use for their Coursera account, using this form.

Schedule From 30.04.2015. to 29.05.2015

In this period all lectures will be given online. In the empty slot we will give recitation sessions where students actively work in groups on interesting assignments. The assignments are aimed to prepare you for the final exam and improve “thinking on your feet” skills. Recitation sessions last for 1 hour so each student needs to choose one of the two possible groups; the doodle for choosing your group is here.

We follow the schedule according to IS Academia. This means:

  • Recitation sessions: Thursdays at 8:15am or 9:15am in CM1121
  • Exercise sessions: Fridays at 10:15am in INF3

Schedule From 16.04.2015 to 29.04.2015

Thursday, 16.04.2015 is the exercise session which is given in CO4 and CM103.

Friday, 17.04.2015. is the midterm exam in AAC231.

Thursday, 23.04.2015 is the lecture given by Prof. Odersky in CM1121.

Friday, 24.04.2015 is the exercise session given in INF3.

Schedule From 16.02.2015 to 03.04.2015

We follow the schedule according to IS Academia (last checked: 23 Febaruary 2015). This means, for all but two weeks:

  • Lectures: Thursdays at 8:15am in CM1121
  • Exercise sessions: Fridays at 10:15am in INF3

the above default schedule is shown in this picture for one example week.

Exceptions are three weeks in March when the exercise and course schedule are swapped and also the rooms are changed:

  • Exercise on 5 March at 8:15am in rooms CO021 and CO023 and lecture on 6 March at 10:15am in our usual lecture room CM1121, as shown in this picture
  • Exercise on 12 March at 8:15am in rooms CO021 and CO023 and lecture on 13 March at 10:15am in our usual lecture room CM1121, as shown in this picture
  • Exercise on 19 March at 8:15am in room INF3 and lecture on 20 March at 10:15am in our usual lecture room CM1121 

In addition to these exceptions, during the exams there will be additional rooms available; please see below.


The programming assignments will be published on the Coursera website. For those assignments that we hand out through Coursera, the students will work alone – working in groups is not allowed.

The programming assignments have a hard deadline. This means that handing in late will invalidate that particular project, and you will not receive any points for them. While the public Coursera course has a hard and soft deadline, for EPFL students, only the earlier one applies. Therefore the soft deadline on Coursera corresponds to the hard deadline for EPFL students. In other words, you will always have to hand in your projects in time for the Sunday deadline.

Submitting the Assignment

You can submit your solutions for grading using the sbt tool. Open a console and go to the root of the directory where the assignment is stored. Launch ‘sbt’ and type the following command in the prompt:

> submit  <coursera-email-id> <coursera-assignment-password>

After executing the command, you should get an acknowledgement stating that your solution was successfully submitted. To find your Coursera password for assignments, go to the Coursera homepage of the course: and select “programming assignments” from the menu on the left-side.

Exams and Grading Policy

The grading of the course is divided between projects, a midterm, and a final exam held during the last week of courses. This course is a semester course, which means that once registered for the course, you cannot un-register before the final exam.

The midterm will take place on Friday the 17th of April, from 10h00 (sharp) to 12h00 in room

The final exam will take place on Friday the 29th of May, from 10h00 (sharp) to 12h00 in rooms


Evaluation Weight
Projects 30%
Midterm exam 30%
Final exam 40%



A recommended textbook for several parts of this course is Learning Concurrent Programming in Scala by Aleksandar Prokopec.