Please note! Course description is confirmed for two academic years, which means that in general, e.g. Learning outcomes, assessment methods and key content stays unchanged. However, via course syllabus, it is possible to specify or change the course execution in each realization of the course, such as how the contact sessions are organized, assessment methods weighted or materials used.


In this course, we study the principles of efficient algorithm design and you will learn how to systematically approach new algorithmic problems. You will be able to formally argue why your algorithm works correctly and identify the challenges you need to overcome to solve a given problem. You will also learn to analyse the efficiency of algorithms and algorithmic approaches prior to their implementation.

Credits: 5

Schedule: 15.09.2021 - 17.12.2021

Teacher in charge (valid for whole curriculum period):

Teacher in charge (applies in this implementation): Jara Uitto

Contact information for the course (applies in this implementation):

CEFR level (valid for whole curriculum period):

Language of instruction and studies (applies in this implementation):

Teaching language: English. Languages of study attainment: English


  • valid for whole curriculum period:

    Algorithm design paradigms: divide-and-conquer, greedy algorithms, dynamic programming. Principles of analysis of algorithms: correctness, potential functions, duality, randomization

Assessment Methods and Criteria
  • valid for whole curriculum period:

    Exercise sessions, programming assignments, graded homework, and exam. 

  • valid for whole curriculum period:

    Lectures. Exercise sessions. Exam. Independent work. Graded homework.


Study Material
  • valid for whole curriculum period:

    Cormen, Leiserson, Rivest, Stein. Introduction to algorithms.

Substitutes for Courses
SDG: Sustainable Development Goals

    7 Affordable and Clean Energy

    9 Industry, Innovation and Infrastructure


Further Information
  • valid for whole curriculum period:

    Teaching Period:

    2020-2021 Autumn I-II

    2021-2022 Autumn I-II

    Course Homepage:

    Registration for Courses: In the academic year 2021-2022, registration for courses will take place on Sisu ( instead of WebOodi.