To obtain basic knowledge about data structures, algorithmic design, and
worst-case time complexity.
Concerning data structures:
Linear data structures:
stacks, queues, linked lists.
Tree-like data structures:
binary trees, binary search trees, heaps, red-black trees or AVL-trees.
Graphs-like data structures.
the divide-and-conquer programming paradigm,
big-Oh notation, worst-case time complexity, amortized analysis.
Form of tuition
Lectures: 4 hours per week (in total 28 hours).
Exercise classes: 4 hours per week (in total 28 hours).
There may be a bonus programming assignment.
Type of assessment
A final written exam.
Possibly a mid-term exam.
Possibly a bonus programming assignment.
Introduction to Algorithms
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford
Stein, MIT Press 2009.
recursive procedures, arrays, elementary Java.
For instance the course Programming (X-400554) of year I of the Bachelor
Concerning discrete mathematics:
some familiarity with mathematical reasoning in general and induction in
For instance the course Logic and Sets (X_401090) of year I of the
Bachelor Computer Science.
Moreover elementary knowledge of graphs.
For instance the course Networks and Graphs of year I of the Bachelor
2CS, 2BA, 3IMM, 3LI, 3W, 3Ect