Algorithms and Data Structures 1 (AD1) -- SML part
Program Design II (PK2) -- SML part

Courses 1TD442 and 1IT022
in the "Datavetenskapligt Program" (DVP)
and the Information Technology Programme (ITP), respectively
at Uppsala University, Sweden

First Year, 6 (ECTS) Credit Points


Pierre Flener


The main objective is to make you familiar with some fundamental principles and methodologies of algorithm and data-structure design and evaluation. We will use the functional programming language Standard ML (SML) as the teaching medium. You will learn when to use each discussed algorithm and data structure, when not to, and what to consider when designing or choosing an algorithm or data structure. The lectures are in English, by the instructor, and have a slight theoretical flavour, but with many examples. Also see the popular-science description of this course.

More practice of algorithm and data-structure design (via programming in SML) is acquired through assignments. Several assignments are to be prepared at home, then tried on the computer in labs under assistant supervision, then submitted, and finally graded, but also discussed in lessons by the assistants.


The following two textbooks were used: CLRS could be replaced by the following textbook:



Assignment archive of previous academic years:


Exams from previous academic years are archived at the AD1 course instance of 2008. There are no solutions in distributable form for these exams.

Last modified: Wed Jan 2 10:09:05 MEST 2008