TDDA32 Design and Analysis of Algorithms, ECTS-points
/KONSTRUKTION OCH ANALYS AV ALGORITMER/

Advancement level:
D

Aim:
The primary aim of this course is to increase the student's skills in algorithmic problem solving. To this end, the course presents several techniques for design and analysis of algorithms. In addition, the course gives knowledge about important subareas within algorithm and complexity theory.

Prerequisites:
An introductory course on data structures and algorithms, e.g. TDDB57 "Data Structures and Algorithms". That is, the student is expected to be familiar with asymptotic notation, basic data structures, such as lists, stacks, queues, trees etc., and algorithms for fundamental problems, such as searching, sorting, etc.

Supplementary courses:
TDDB45 "Computability and Complexity Theory"

Course organization:
The theoretical content of the course is presented during the lectures. Seminars and homework exercises are intended to practice design and analysis of algorithms.

Course content:
Techniques for design and analysis of algorithms, and for determining lower bounds on time complexity, fast Fourier transforms, randomized algorithms, string matching algorithms, geometric algorithms, NP completeness, approximation algorithms, parallel algorithms, etc.

Course literature:
Cormen, T.H., Leiserson, C.E., Rivest, R.L.: Introduction to Algorithms. The MIT Press.

UPG1Obligatory homework assignments
TEN1Written examination
Course language is Swedish.