main page — CS 566 Efficient Algorithms
CS 566 as Prerequisite Module
This is an archived version of this module from Winter 2024-25.
The goal of the prerequisite version of CS 566 is to prepare you for your MSc program by closing a skills gap in your prior knowledge.
If you are taking CS 566 to satisfy the prerequisites of a conditional admission to an international Master’s program, you will be offered a separate examination in English that is based on the provided English self-study material below instead of the German lectures. You do not need to take part in the exercise classes or submit exercise sheets. You can simply register for the pass/fail exam. You are, however, welcome and encouraged to attend lectures and tutorials (space permitting), and in particular to join and use the Campuswire Q&A forum.
Note: If you are required to take the CS 566 prerequisite module as part of your admission, you cannot take CS 566 for credit in your program.
Learning outcomes
Students
- are able to apply common algorithm design patterns to new algorithmic problems,
- are able to use efficient data structures in algorithm design,
- are able to analyze algorithms with respect to correctness and effort,
- can apply scientific working methods (recognizing, formulating, solving problems, abstraction),
- can competently present scientific content, both in front of an audience and in a discussion.
Info Session
Join the info session on
- 15 October at 4pm, Hörsaal A in H|05
for additional information about the module organization and the examination.
Self-study material
The following list of self-study material defines the scope of the examination for the prerequisite version of CS 566.
Both together define the scope of the examination.
Lecture videos
Around two thirds of the material are covered by the following lecture videos.
The playlist is a bespoke “best-of selection” of my previous lectures on algorithms and data structures (please forgive the varying loudness of the different clips).
The list is intended to be watched in the order given, but of course you can skip parts you are already very familiar with from prior studies.
The module website of COMP526 contains further reading for each of the topics, see the Unit subpages there.
Since the order of units has changed, the numbering of units will slightly differ from CS 566.
Book Chapters
In addition to the material covered in the COMP526 lecture videos, the following chapters in Cormen, Leiserson, Rivest, and Stein: Introduction to Algorithms (3rd edition) define the exam material for the prerequisite version of CS 566:
- II Sorting and Order Statistics
- 6 Heapsort
- III Data Structures
- 11 Hash Tables (exluding 11.5)
- 13 Red-Black Trees
- IV Advanced Design and Analysis techniques
- 15 Dynamic Programming
- 16 Greedy Algorithms (excluding 16.4, 16.5)
- V Advanced Data Structures
- 18 B-trees
- VI Graph Algorithms
- 22 Elementary Graph Algorithms
- 23 Minimum Spanning Trees (23)
- 24 Shortest-Source Shortest Paths (excluding 24.2 and 24.5)
- 26 Maximum Flow (excluding 26.3, 26.4, and 26.5)