This course is replaced by IN2010 – Algorithms and Data Structures.

INF2220 – Algorithms and Data Structures

Schedule, syllabus and examination date

Choose semester

Course content

Basic data structures such as stacks, trees, graphs, hash tables and priority queues, together with algorithms for traversing and manipulating these structures. Different implementations are covered, with emphasis being put on efficiency, program structure and abstract data types. Different sorting algorithms will be examined. Important elements in the course include recursive programming as well as evaluation and description of program efficiency.

Learning outcome

Learn to solve practical and complex problems where the choice of data structures and appropriate algorithms is essential to implement effective programs with acceptable time and space requirements. Students shall also be able to decide if a given problem can be given an efficient implementation at all.


Students who are admitted to study programmes at UiO must each semester register which courses and exams they wish to sign up for in Studentweb.

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


Formal prerequisite knowledge

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).

INF1010 – Object oriented programming (continued)/INF101/IN105.

INF101/IN105 overlaps 5 credits with INF1000 and 5 credits with INF1010. INF1010 is therfore strongly recommended as the best background for INF2220.

Overlapping courses

10 credits INF1020/INF110/IN115.


2 hours of lectures and 4 hours of tuition each week. Mandatory assignments must be completed during the course. Rules for mandatory assignments.


A 4 hour written digital exam. The mandatory assignments must be approved prior to the exam. 


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.

Explanations and appeals

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.

Withdrawal from an examination

It is possible to take the exam up to 3 times. If you withdraw from the exam after the deadline or during the exam, this will be counted as an examination attempt.

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: INF1020/INF110/IN115


It is strongly recommended to attend the first lecture since it will be given important information.

Facts about this course






Every autumn


Every autumn

Teaching language