autumn 2026
INF-3200 Distributed Systems Fundamentals - 10 ECTS

Type of course

The course can be taken as a singular master's-level course.

Admission requirements

Higher Education Entrance Requirement + Bachelor's degree in Computer Science or similar education. The Bachelor degree must contain a specialization in Computer Science worth the equivalent of not less than 80 ECTS credits. Application code: 9371 - Singular courses at master's level.

Course overlap

If you pass the examination in this course, you will get an reduction in credits (as stated below), if you previously have passed the following courses:

D-340 Distributed computations theory and practice 8 ects

Course content

Fundamental mechanisms and structuring principles for distributed systems are covered. Focus is on issues like, for instance, processes, computer communication, consistency, concurrency, replication, fault-tolerance, security, resource control, distributed file systems, and distributed architectures.

Recommended prerequisites

INF-2200 Computer architecture and organization, INF-2201 Operating system fundamentals, INF-2300 Computer Communication, INF-2310 Computer Security

Objectives of the course

Knowledge:

  • Knowledge of the main topics of distributed systems at an introductory level.
  • Knowledge of the central challenges of distributed systems, their behavior, characteristics, advantages and disadvantages.
  • Knowledge of the primary ideas, architectures, designs, and implementations of distributed systems
  • Knowledge of some select cases of distributed systems
  • The best way to learn how to build distributed systems is by practice, and so an important part of the course is a substantial distributed system design and implementation project.

Skills:

  • Skills in systems-level programming. How to build a working prototype of a non-trivial distributed system including its architecture, design, and implementation.
  • Skills in the languages, frameworks, and tools used to build a prototype distributed system
  • Skills to analyze real distributed systems, and identify central characteristics including performance scaling.
  • Skills in presenting a system, giving a demonstration of it, and identify lessons learned.

General competence:

  • Competence in selecting a suitable set of programming languages, frameworks, and tools for a given problem domain.
  • Competence in asking relevant questions about computer based systems.

Language of instruction and examination

The language of instruction is English and all of the syllabus material is in English. Examination questions will be given in English, but may be answered either in English or a Scandinavian language.

Teaching methods

Lectures: 30 hours, Colloquium: 30 hours, Laboratory: 30 hours. The course is given every autumn semester.

Information to incoming exchange students

This course is open to incoming exchange students.

Study level: Master’s

Admission prerequisites:
This course has admission prerequisites, which are listed under the Admission requirements section. Please review this information carefully before adding the course to your Learning Agreement.

For details on how to apply for exchange, course selection guidelines, or to contact the Incoming Admissions Team, please visit: Admissions for Student Exchange.


Schedule

Examination

Examination: Grade scale:
Oral exam A–E, fail F

Coursework requirements:

To take an examination, the student must have passed the following coursework requirements:

Programming assignments Approved – not approved
UiT Exams homepage

More info about the coursework requirements

2 written programming assignments.

Re-sit examination

A re-sit exam will not be held.
  • About the course
  • Campus: Tromsø |
  • ECTS: 10
  • Course code: INF-3200
  • Earlier years and semesters for this topic