LEARNING OUTCOMES
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: 06.09.2024 - 03.12.2024
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
CONTENT, ASSESSMENT AND WORKLOAD
Content
valid for whole curriculum period:
The main focus of this course is on mathematical foundations of algorithms.
Algorithm design paradigms: divide-and-conquer, greedy algorithms, dynamic programming. Principles of analysis of algorithms: correctness, duality, randomization.
Assessment Methods and Criteria
valid for whole curriculum period:
Exercise sessions and graded homework.
Workload
valid for whole curriculum period:
Lectures. Exercise sessions. Independent work. Graded homework.
DETAILS
Study Material
valid for whole curriculum period:
Mostly based on: Jeff Erickson - Algorithms https://jeffe.cs.illinois.edu/teaching/algorithms/
Supporting material:
Cormen, Leiserson, Rivest, Stein. Introduction to algorithms.
Kleinberg, Tardos. Algorithms Design.
Vazirani. Approximation Algorithms.
Substitutes for Courses
valid for whole curriculum period:
Prerequisites
valid for whole curriculum period:
FURTHER INFORMATION
Further Information
valid for whole curriculum period:
Teaching Language: English
Teaching Period: 2024-2025 Autumn I - II
2025-2026 Autumn I - II