IN5020 – Distributed Systems
Schedule, syllabus and examination date
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.
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.
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.
Recommended previous knowledge
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.
- 10 credits overlap with IN9020 – Distributed Systems.
- 10 credits overlap with INF5040 – Open distributed processing (continued).
- 10 credits overlap with INF9040 – Open distributed processing (continued).
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.
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.