Undergraduate course

Concurrent programming

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

ECTS Credits


Level of Study




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


Credit Reduction due to Course Overlap


Access to the Course

Access to the course requires admission to a programme of study at The Faculty of Mathematics and Natural Sciences

Teaching and learning methods

Lectures: up to 4 hours per week in 13 weeks, a total of about 40 hours.

Exercise class: 2 hours per week for.

In addition, exercises and self-studies, for a total of 270 study hours.

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.

Examination Support Material


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


Assessment Semester

Examination both spring semester and autumn semester. In semesters without teaching the examination will be arranged at the beginning of the semester.

Reading List

Students who have been admitted to a program of study at the University of Bergen that includes access to this course are eligible to register. For information about admission requirements see Admission.

Course Evaluation

The course will be evaluated by the students in accordance with the quality assurance system at UiB and the department.

Programme Committee

The Programme Committee is responsible for the content, structure and quality of the study programme and courses.

Course Coordinator

Course coordinator and administrative contact person can be found on Mitt UiB, or contact Student adviser

Course Administrator

The Faculty of Mathematics and Natural Sciences represented by the Department of Informatics is the course administrator for the course and study programme.


Contact Information

Student adviser:

Student adviser

T: 55 58 42 00

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