Undergraduate course

Concurrent programming

  • ECTS credits10
  • Teaching semesterAutumn
  • Course codeINF214
  • Number of semesters1
  • LanguageEnglish
  • Resources

Teaching semester


Objectives and Content

The course introduces principles for programming secure, reliable and robust software in a multi-threaded or multi-process environment. Concurrent programming techniques are particularly central to the course, but related techniques such as event-driven programming may also be covered. The course combines a strong theoretical foundation with practical exercises.

Learning Outcomes

After successfully completing the course, the students shall be able to:
- Write correct concurrent programs using multiple programming models, e.g., shared memory, message-passing, actors, futures, and data-parallelism primitives.
- Understand, relate and use synchronization primitives appropriately.
- Model a concurrent process using a formal method.
- Explain the potential run-time problems arising from the concurrent operation of many separate tasks.

Required Previous Knowledge

At least 60 ECTS in computer science, preferably including some mathematics

Recommended Previous Knowledge


Compulsory Assignments and Attendance

Compulsory exercises

Forms of Assessment

Written exam. If less than 20 students take the couse an oral exam may be arranged instead.
Compulsory exercises may count towards the final grade.

Grading Scale

The grading scale used is A to F. Grade A is the highest passing grade in the grading scale, grade F is a fail.

Subject Overlap



Exam information

  • For written exams, please note that the start time may change from 09:00 to 15:00 or vice versa until 14 days prior to the exam. The exam location will be published 14 days prior to the exam.

  • Type of assessment: Written examination

    02.03.2018, 09:00
    3 hours
    Withdrawal deadline