Course manual 2025/2026

Study materials

Literature

  • Book 'Algorithm Design' by Kleinberg and Tardos

Objectives

  • Get to know a toolbox of different algorithmic paradigms and be able to recognize them.
  • Be able to adjust known algorithmic approaches to a given problem.
  • Be able to recognize structural properties of problems and determine a suitable algorithmic paradigm for solving them.
  • Recognize and prove the hardness of NP-complete problems, as well as show the performance and correctness of (approximation) algorithms.
  • Be able to develop algorithms for different types of problems based on the concepts introduced in the course.

Teaching methods

  • Lecture
  • Self-study
  • Tutorial/Problem Session

Concepts are introduced and explained in the lecture, then applied in the problem sessions after deepening them via self-study.

Learning activities

Activity

Hours

Deeltoets

3

Hoorcollege

30

Werkcollege

14

Self study

121

Total

168

(6 EC x 28 uur)

Attendance

Programme's requirements concerning attendance (TER-B):

  • In the case of a practical training, the student must attend at least 100% of the practical sessions. Should the student attend less than 100%, the student must repeat the practical training, or the Examinations Board may have one or more supplementary assignments issued.
  • In the case of a tutorial, the student must attend at least 100% of the tutorial sessions. Should the student attend less 100%, the student must repeat the tutorial, or the Examinations Board may have one or more supplementary assignments issued.

Additional requirements for this course:

Absence in a small number of problem sessions is tolerated, however sufficient attendance to verify knowledge / enable presentation of the assignment solutions each student hands in are required.

Assessment

Item and weight Details

Final grade

0.7 (70%)

Deeltoets

0.1 (10%)

Assignment 1 - Ex. Sheets 1&2

0.1 (10%)

Assignment 2 - Ex. Sheets 3&4

0.1 (10%)

Assignment 3 - Ex. Sheets 5&6

Final grade after retake

0.7 (70%)

Hertentamen

0.1 (10%)

Assignment 1 - Ex. Sheets 1&2

0.1 (10%)

Assignment 2 - Ex. Sheets 3&4

0.1 (10%)

Assignment 3 - Ex. Sheets 5&6

For passing the course, both a weighted average (exam + exercises) of at least 5.5 and an exam result of at least 5.5 are necessary.

Inspection of assessed work

Inspection is communicated via Canvas announcement. 

Assignments

Assignments are individual. Use of AI or other students' solutions is forbidden and results in a score of 0. Students must be able to present and discuss their solutions in exercise sessions (otherwise, can result in a score of 0).

Fraud and plagiarism

The 'Regulations governing fraud and plagiarism for UvA students' applies to this course. This will be monitored carefully. Upon suspicion of fraud or plagiarism the Examinations Board of the programme will be informed. For the 'Regulations governing fraud and plagiarism for UvA students' see: www.student.uva.nl

Course structure

Weeknummer Onderwerpen Studiestof
1 Intro/Foundations  
2 Network Flows  
3 Greedy/Approx. Algorithms  
4 NP Hardness/Reductions  
5 Linear Programs  
6 Randomized Algorithms  
7 Online Algorithms  
8 Current Research Topics/ Recap  

Contact information

Coordinator

  • dr. rer. nat. R.E.M. Reiffenhäuser

Staff

Staff