|
|
|
|
||
Introduction to Algorithms and Data Structures, Course Description | ||
|
|
|
|
|
|
|
The Course Base contains 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.GoalThe goal of the course is to give a basic understanding of how common computational problems can be solved efficiently on a computer.
The goal of the course is to give the student a basic understanding of fundamental algorithms and data structures so that the student:
All in all this course teaches you how to write fast programs, how to design them, and how to analys them. After the course the student has the algorithmic competences required to meet the prerequisites for advanced courses such as "Advanced Algorithms", "Programming Languages, Interpreters, and Compilers", and "Advanced Database Technology". ContentsThis course is a "must have"-course, for anyone who wants to become a good programmer. The course will provide the students with a toolbox of highly relevant techniques for solving common, as well as many specialized, programming problems.The course takes its cue from different problems, which will be solved by using selected basic algorithm/advanced programming techniques. Subjects which we will cover:
TextbookT.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 courseEach 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.LanguageThe course is taught in English.Size in ECTSThe course is worth 7.5 ECTS points, this is 1/3 of a full time study for one semestre (excluding the project period).Programming languageThe 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.ExaminationYour 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. |
|
|
|
|
last updated July 26, 2005 |