Advanced Algorithmic Techniques

Postgraduate course

Course description

Objectives and Content

The course introduces advanced methods for design and analysis of algorithms for computationally intractable problems. The areas of application include graphs, networks, sets, and geometric objects. The algorithm design paradigms introduced in the course are: approximation algorithms, parameterized algorithms, exponential time algorithms, and polynomial time algorithms for restricted classes of input. The course also covers algorithms that make use of randomness.

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:

  • the central definitions of the paradigms for coping with computational intractability, such as FPT algorithms, kernels, approximation algorithms, exact exponential time algorithms, and polynomial time algorithms for restricted input classes.
  • the basic algorithm design techniques within each of the paradigms.
  • restricted input classes, such as trees, chordal graphs, and graphs of bounded treewidth, and the structural characterizations of these classes.
  • the definition of randomized algorithms.


The student is able to:

  • analyze the performance of a proposed algorithm within the different paradigms for coping with computational intractability
  • design new algorithms for concrete problems within each of the considered algorithm design paradigms using the covered algorithm design techniques.
  • apply structural insights about restricted input classes to design more efficient algorithms for these classes.
  • Design randomized algorithms and analyze their performance in terms of the expected running time, the probability that the running time exceeds a set threshold, the expected quality of an output solution, and the probability that the quality is better or worse than a set threshold.


General competence
The student:

  • can analyze and develop algorithms for computationally intractable problems.

ECTS Credits


Level of Study


Semester of Instruction

Required Previous Knowledge
At least 120 ECTS in computer science, preferably including some mathematics.
Recommended Previous Knowledge
Credit Reduction due to Course Overlap
I238: 10 ECTS
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
There are 4 hours of lectures every week. When possible, there are also 2 hours of group sessions every week.
Compulsory Assignments and Attendance
Forms of Assessment

Oral exam.

Up to 30% of the final grade may be based on course activities during the semester, such as in-class midterms or hand-in assignments. The students will be notified of these activities and their final weight in the grade at the beginning of the semester.

Grading Scale
The grading scale used is A to F. Grade A is the highest passing grade in the grading scale, grade F is a fail.
Assessment Semester

Examination both spring semester and autumn semester.

Activities that count towards the grade are valid for two semesters, the semester the course is taught and in the following 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.