Information about the course

Content of the course

This course provides an introduction to the principles underlying concurrent systems, as well as to practical programming solutions to use concurrency in programs.

The official course syllabus is available in the student portal.


Student representatives

Grading guidelines and requirements to pass the course

We will asset your knowledge of the content of the course both in the labs and in the final exam. The course awards a total of 100 points: a maximum of 70 points for the exam, and a maximum of 30 points for the labs.

Exam grading

Labs grading

Each lab submission receives points when it is marked as passing; the amount of points depends on the lab and on how many of your previous submissions of the same lab were rejected.

Accepted at attempt #1 Accepted at attempt #2 Accepted at attempt #3
Lab 1 8 6 4
Lab 2 8 6 4
Lab 3 8 6 4

Each lab has a distinction part worth 2 points, available only on the first attempt. To get these 2 distinction points, submit a solution to the whole lab including the distinction part, at the first attempt. This allows the TAs to check the distinction part at the demonstration. Minor errors can be fixed in later attempts. If you do not submit a solution to the distinction part at the first attempt, you forfeit the 2 distinction points.

Overall grading

Grading for students of TDA383/DIT390

Students who attended the course Concurrent Programming (TDA383/DIT390), which Principles of Concurrent Programming (TDA384/DIT391) has replaced, can still pass TDA383/DIT390 in connection with this edition of TDA384/DIT391 according to the following rules:

These requirements are only to pass TDA383/DIT390; students of TDA384/DIT391 must pass the new labs and the regular exam as detailed in the rest of this page.