|
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 an exercise session. 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/3 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.
Hand-ins are graded, and students must achieve 70% of the maximum possible point sum to qualify for the exam.
|