IN2140 – Introduction to operating systems and data communication

Schedule, syllabus and examination date

Choose semester

Teaching and exams spring 2022

In light of the most recent infection control regulations, we will at the start of the spring semester 2022 increase our online teaching, while we at the same time try to maintain in-person teaching where this is possible. We hope to go back to more in-person teaching later on in the semester. You will be informed about any changes in teaching or examinations on the semester page, in Canvas or through your regular channels.

Read more about postponed exams for the autumn semester 2021.

Course content

The course provides an introduction to operating systems, viewed from both the user and the programmer's point of view, and from the machine side. It will also provide insight into how today's data communication is taking place and how to create programs that use such communication. The programming language C is used, and a basic introduction will be given.

Learning outcome

After taking this course you´ll:

  • have basic knowledge of the most important components of an operating system and how it works
  • be able to develop small applications that call on services in your operating system
  • be able to choose between algorithms that enable today´s data communication and their use
  • be able to develop programs with processes that can communicate internally in the computer and over a network
  • know how to use the programming language C

Admission to the course

Students at UiO register for courses and exams in Studentweb.

Special admission requirements

In addition to fulfilling the Higher Education Entrance Qualification, applicants have to meet the following special admission requirements:

  • Mathematics R1 or Mathematics (S1+S2)

The special admission requirements may also be covered by equivalent studies from Norwegian upper secondary school or by other equivalent studies. Read more about special admission requirements (in Norwegian).

Formal prerequisite knowledge

IN1000 – Introduction to Object-oriented Programming/INF1000 or IN1900 – Introduction to Programming with Scientific Applications/INF1100 From spring 2020 onwards: IN1020 – Introduction to Computer Technology

IN1010 – Object-oriented Programming. It is especially important that you understand and are able to use recursion, arrays and lists

Overlapping courses


Each week consist of:

  • 2 hours of lectures
  • 2 hours of practical education in smaller groups
  • 2 hours plenary teaching which addresses both theory and practical

Mandatory assignments have to be approved to submit the home exam and all mandatory assignments must be approved to be allowed to take the final exam.


Digital exam. A practical exam (home exam) constitutes 40% of the final grade and a final 4 hour written exam constitutes 60% of the final grade. Both must be passed to pass the course, and both must be done in the same semester.

Mandatory assignments must be approved to submit the home exam. All mandatory assignments must be approved before you can take the final 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: INF1060 - Introduction to operating systems and data communications (continued)

Examination support material

No examination support material is allowed.

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) Jan. 22, 2022 7:15:47 AM

Facts about this course

Teaching language