Schedule, syllabus and examination date

Choose semester

Teaching and exams spring 2022

At the MN Faculty teaching is in-person this spring, but there may still be cases of online or hybrid teaching.

Please see the semester page, Canvas or your regular channel of information for changes in teaching and form of examination.

Course content

The course is an introduction to principles and practice of the design of distributed systems. The course covers fundamental models for distributed systems, distributed middleware with the focus on object-based middleware and component-based architectures, distributed algorithms for consensus and other underlying problems, and modern-day challenges of distributed processing technology such as cloud, multimedia and IoT. The course includes mandatory programming exercises.

Learning outcome

After having completed the course you will

  • understand the basic principles and concepts of distributed systems
  • understand the workings of the most important types of distributed systems
  • be able to program with selected software platforms for distributed processing
  • have knowledge about and be able to apply important distributed algorithms
  • have knowledge about standards for distributed processing
  • have knowledge about key requirements and challenges for the construction of modern distributed systems

Admission to the course

Students admitted at UiO must apply for courses in Studentweb. Students enrolled in other Master's Degree Programmes can, on application, be admitted to the course if this is cleared by their own study programme.

If you are not already enrolled as a student at UiO, please see our information about admission requirements and procedures for international applicants.

The course is based on IN1010 – Object-oriented Programming, IN2140 – Introduction to operating systems and data communication and INF3151 – Operating systems (continued). It would also be advantageous to have IN2010 – Algorithms and Data Structures.

Overlapping courses


2 hours of lectures and 2 hours of group meetings per week. There exist mandatory programming assignments in the course. Read more about mandatory assignments and hand-ins here.


Oral exam. Mandatory assignments must be approved prior to the exam.

It will also be counted as one of your three attempts to sit the exam for this course, if you sit the exam for one of the following courses: INF5040 – Open distributed processing (continued), IN9020 – Distributed Systems, INF9040 – Open distributed processing (continued)

Examination support material

No examination support material is allowed.

Language of examination

You may write your examination paper in Norwegian, Swedish, Danish or English.

Grading scale

Grades are awarded on a scale from A to F, where A is the best grade and F is a fail. Read more about the grading system.

Resit an examination

Students who can document a valid reason for absence from the regular examination are offered a postponed examination at the beginning of the next semester. Re-scheduled examinations are not offered to students who withdraw during, or did not pass the original examination.

Special examination arrangements, use of sources, explanations and appeals

See more about examinations at UiO

Last updated from FS (Common Student System) May 18, 2022 10:36:04 PM

Facts about this course

Teaching language
Norwegian (English on request)