Algorithms Engineering

Postgraduate course

Course description

Objectives and Content

The course focuses on the ability to translate theoretical knowledge about algorithms, data structures, and complexity to efficiently be able to perform the complete process of analyzing a problem, estimate the running time of suggested solutions, and to implement a running program.

Learning Outcomes

On completion of the course the student should have the following learning outcomes defined in terms of knowledge, skills and general competence:



The student knows

  • Algorithm design techniques, such as greedy algorithms, Dynamic Programming, Exhaustive Search (brute-force)



The student is able to

  • analyze the performance of a proposed algorithm in big-Oh notation, and use this to estimate the running time of a program on a given computer on a given data set.
  • pick the right algorithm design technique and data structure for a given problem, and adapt these to new problems.
  • implement algorithms based on the covered design techniques,
  • recognize when one can use data structures for which standard library implementations exist, and make use of these data structures.
  • implement efficient data structures.


General competence

  • The student is able to go from an algorithmic problem to an implementation of an efficient and correct algorithm for the problem.

ECTS Credits


Level of Study


Semester of Instruction


Limited capacity course. More information:

This course has a limited capacity, enrolment is based on application. The application deadline is Wednesday in week 2 for the spring semester. You will receive confirmation of whether you received a seat in Studentweb no later than Monday the week after the deadline.


It is compulsory to attend the first lecture/orientation meeting, or you risk losing your seat. If you are unable to attend the first lecture, you must contact the Study Section ( The time of the first lecture/orientation meeting can be found in the schedule on the course website or on Mitt UiB.


Following priority will give admission:

1. Students that have the course mandatory in their study programme

2. Students that have completed INF234.

3. Rest of the seats will be given students that not fulfill numer 1 or 2.

Required Previous Knowledge
For incoming exchange students: At least 60 ECTS in Computer Science and at least 10 ECTS in mathematics
Recommended Previous Knowledge
The course builds on INF102. Having taken INF234 is helpful.
Access to the Course
Access to the course requires admission to a programme of study at The Faculty of Mathematics and Natural Sciences
Teaching and learning methods
2 hours lectures per week throughout the entire semester. 2 hours group sessions per week.
Compulsory Assignments and Attendance
Compulsory exercises, and participation in compulsory programming competitions.
Forms of Assessment
Compulsory exercises which are assigned during the semester and compulsory programming contests assigned by the course instructor.
Grading Scale
Assessment Semester
Spring. With the consent of the lecturer, students who for some reason did not complete the course in the spring semester, can complete the course the following autumn semester. New exercises assigned in the autumn semester are valid only in the same autumn semester.
Reading List
The reading list will be available within July 1st for the autumn semester and December 1st for the spring semester
Course Evaluation
The course will be evaluated by the students in accordance with the quality assurance system at UiB and the department
Examination Support Material
Programme Committee
The Programme Committee is responsible for the content, structure and quality of the study programme and courses.
Course Coordinator
Course coordinator and administrative contact person can be found on Mitt UiB, or contact Student adviser
Course Administrator
The Faculty of Mathematics and Natural Sciences represented by the Department of Informatics is the course administrator for the course and study programme.