This course addresses several algorithmic methods for problem solving, including various well-known algorithms, such as Shortest Path First algorithm. We demonstrate these methods based on illustrative examples.
Some examples of algorithmic methods that this course covers: state space/tree traversal algorithms, brute force, exhaustive search, divide and conquer, backtracking, dynamic programming, greedy algorithms, branch and bound, heap-sort. We also cover the basics of computational complexity.
There will be three programming assignments in Python, in which one of the aforementioned algorithmic methods should be implemented. Good knowledge of programming in Python, as obtained by the course “Introduction to Programming” is required to successfully participate in this course.
Applying algorithmic methods
studying and analyzing algorithmic methods
designing of algorithms
The most updated version of the timetables can be found on the students' website:
Mode of instruction
For 12 weeks, there will be 2 hours of lecture (given by the professor), as well as 2 hours seminar lecture (given by the team of the teaching assistants). There will be 2 practical assignments. During the seminar, the student assistants will either cover questions on paper, or supervise the programming assignments
On line learning: While the University is locked down, the schedule will remain the same, however the lecture session will be replaced by a video lecture (pre-recorded) a live session where students can interactively ask questions about the pre-recorded video. The seminar slot will be replaced by an on line session where assistance is given to complete the assignments.
Digital exam, in which both question are answered as well as small programmable questions need to be programmed. The exam covers 70% of the grade, the programming assignments each cover the other 30% of the grade. The exam and assignments need to be graded at least 5.5 to successfully pass the course.
Anany Levitin, Introduction to The Design and Analysis of Algorithms, third edition (Pearson, 2012, ISBN: 978-0-273-76411-3).
Lecturer: Jan van Rijn
Blackboard Discussion Board:
Onderwijscoordinator Riet Derogee