Algorithmen und Datenstrukturen
Since 2012, I have been teaching the Algorithms and data structures lecture (in German). This is the continuation of the lecture Introduction to Computer Science. Studium
In 2013, the lecture was awarded Held der Lehre.
Credits
The course includes a programming contest, which traditionally implements part of a computer game. Since 2012, the contest has been organized by students from Acagamics, and Dirk Aporius put a lot of work into the contest the years before. Thank you!
As for the EinfInf lecture, we have more than 200 students attending, and I’m thankful for the great support by (student) tutors and in particular by Ilona Blümel (until 2018), Christian Braune (since 2019) and Thomas Wilde (since 2021) who organize exercise groups, tutorials, etc.
Overview
The lecture aims at students in the second semester with moderate programming experience. It includes the exemplary implementation of algorithms and data structures and a programming contest.
Contents
- Lists
- Dynamic arrays and linked lists
- Stacks & queues
- Iterators
- Trees
- Traversals: recursive and non-recursive
- Syntax tree from recursive descent parsing
- Search trees & balanced trees (AVL-, 2-3-4-, red-black-, and B-trees)
- Binary heaps
- Hashing
- Graphs & data structures
- Algorithms on graphs including
- Traversals & topological sorting
- Minimum spanning trees
- Shortest paths & A*-algorithm
- Maximum flow / minimum cut
- Dynamic programming
- String pattern matching
Organization
extent (week) | 3h lecture + 2h exercises |
credit points | 6 |
course language | German (literature partially in English) |
prerequisites | EinfInf (recommended), Java programming |
recommended semester | 2 (or 3 when starting in summer) |
official times & dates | please search LSF (no permalink available) |