Objectives and Content
The course includes advanced methods for design and analysis of discrete algoritms. A central theme in the course is how to cope with NP-hard problems, for example on restricted input, or via approximation algorithms, randomized algorithms or parameterized algorithms. The course also introduces tools to handle input that changes during the course of an algorithm.
I234: 10 ECTS
Compulsory Assignments and Attendance
Compulsory assignments are valid two semesters, the semester of the approval and the following semester.
Semester of Instruction
At the completion of INF234 the student should be able to:
- utilize the classical algorithm design techniques for discrete problems. These techniques include greedy algorithms, dynamic programming, graph traversal and network flow.
- recognize new problems that are amenable to the techniques they learned in this course, and design new algorithms for similar problems.
- prove correctness of algorithms and to analyze the running time of algorithms.
- know the difference between complexity classes P and NP and NP-completeness.
Required Previous Knowledge
At least 60 ECTS in computer science, preferably including some mathematics
Recommended Previous Knowledge
INF102 (Algorithms, data structures, and programming)
Forms of Assessment
Results on compulsory exercises may count towards the final grade. If less than 20 students register for the course an oral exam might be arranged.
No aid allowed
The grading scale used is A to F. Grade A is the highest passing grade in the grading scale, grade F is a fail.