IT-Universitetet

Introduction to Algorithms and Data Structures, Course Description

Fall 2004 Schedule Resources Students

The Course Base containss the official description of the course.

Why this course?

When developing software it is important to know how to solve problems in a computationally efficient way. Algorithms describe methods for solving problems under the constraints of the computers resources. Often the goal is to compute a solution as fast as possible, using as few resources as possible. To solve a problem efficiently it may be necessary to use data structures tailored for the particular problem(s) at hand. A data structure is a specific way of organising data that supports efficient performance of the rekevant operations on that data. For instance there are data structures for organizing large numbers of records where records already present can be quickly found and/or deleted, and new records can be inserted and found fast.

Goal

The goal of the course is to give a basic understanding of how common computational problems can be solved efficiently on a computer.

Contents

  • Analysis of the efficiency of algorithms
  • Algorithms for searching, sorting and selecting
  • Data structures (stacks, lists, queues and priority-queues, trees, search-trees and balanced search-trees, sets)
  • Hashing
  • Dynamic programming
  • Graphs and graph algorithms

Textbook

T.H.Cormen, C.E.Leiserson, R.L.Rivest, C.Stein. Introduction to Algorithms. 2nd ed. The MIT Press (1998). ISBN 0-262-53196-8.

Form of course

Each Episode consists of a lecture and tutorials. A weekly plan with curriculum, assignments etc. is provided (see the schedule). There will be a number of small and larger assignments that must be approved prior to examination in order to enable the student to enter the exam.

Language

The course is taught in English.

Size in ECTS

The course is worth 7.5 ECTS points, this is 1/4 of a full time study for one semestre.

Programming language

The course will contain a number of programming assignments, which you can choose to solve. In principle any imperative programming language can be used to solve the assignments. Help can primarily be given in Java.

Examination

Your performance in IADS is evaluated by a 4 hours written exam. The formal exam format is A2.

It is a condition for entering the examination that all or most mandatory assignments be approved. A weekly mandatory assignments can give up to one minus point. The big week assignments can give up to three minus points. To enter exam one must not have more than minus three points in total.


last updated November 30, 2004
Volodya Shavrukov, Andrzej Wąsowski

til top