Design and Analysis of Algorithms (6 op) 3621511

Course description

Design principles of algorithms and their application to computing problems. Topics include NP-completeness, analysis techniques, and main design principles including divide-and-conquer, dynamic programming, and branch-and-bound. Examples of advanced data structures and algorithmic approaches (like heuristics, approximation, and randomization) to solving hard computational problems.


Teacher: Pasi Fränti
Schedule: 34 h, starting from 11.9. (Mon)
Monday 14-17 -- 248 (Joensuu) F211 (Kuopio)
Tuesday 14-16 -- 248 (Joensuu) F211 (Kuopio)
Schedule and Lecture Notes


Teachers: Radu Mariescu-Istodor (Joensuu) and Matti Nykänen (Kuopio)
Schedule: 16 h, starting from 15.9.
Friday: 10-12
Seminar room: 180 (Joensuu), E26 (Kuopio)
Exercise 1
Exercise 2
Exercise 3
Exercise 4
Exercise 5
Exercise 6
Exercise 7

Preliminary knowledge

Data Structures and Algorithms I and II


Friday 3.11. 12-16 (Joensuu OTS100, Kuopio CA101)
Friday 24.11. 12-16 (Joensuu OTS100, Kuopio MD100)
Register via WebOodi

Recommended literature

T. Cormen, C. Leiserson, and R. Rivest: Introduction to Algorithms, MIT Press, 1990.
P. Fränti, Design & Analysis of Algorithms, Lecture Notes, 2012-2016.
Course page in Kuopio campus
Advanced Topics in Algorithms