Currently, no news are available
Fundamentals of Algorithms und Data Structures
This lecture gives an introduction to the design of efficient algorithms and data structures, as well as analyzing their correctness and running time.
Please register early but before the 31.10.23 on this website.
Please note that if you want to get credit for this course you also need to register for this course in lsf (or whatever system your course of studies provides).
Thursday 12:15 -- 14:00 Günter-Hotz-Hörsaal (E 2 2)
The first lecture will take place on October 26.
The lectures will be held in English. Tutorials will be offered in English as well as in German.
The lectures will not be recorded.
We will have 12 homework assignments/exercise sheets. They will be published on Thursday and are due on the next Thursday before the lecture. The solutions are to be submitted digitally as a pdf-file via this website. You can create a PDF by writing in LaTeX, or submit a high quality scan/photo of a handwritten solution.
You can discuss your approach and solutions with other students, but each student has to submit his own formulation of the solution. You are not allowed to submit copied solutions. If you use a core idea from another student or one that you found somewhere else, you must cite your sources. Applying yourself to the exercises, trying to understand and solve them in earnest, is the best way to learn the contents of the lecture and prepare for the exams.
The exercises sheets will be in English and so should be your solutions. However, If your tutorial is given in German then you can choose to write your solutions in English or German.
Solutions to the exercises will be presented in the weekly tutorials.
Your solutions will be marked by your tutor. The points you achieved and the feedback to your solution can be viewed on your personal status page. When possible they should be available before your tutorial.
In the registration process you can select your preferred tutorial based on time slot and language. This preference can be changed on your 'Personal Status' page until the 31.10.23.
We will determine the language for each tutorial and assign the tutorials based on those preferences before the second lecture on 02.11.23.
The first tutorials will take place November 6 through 8.
We offer the following tutorials:
Midterm: Wednesday 13.12.23 16:00 - 19:00
Endterm: Wednesday 21.02.24 14:00 - 17:00
Conditions for Getting Credit
To be able to obtain a certificate you must register in the LSF system! If you are unable to register in LSF, please contact Jannik Kulesha.
To be admitted to the final exam and the re-exam, you need to score at least 50% of the points on the exercise sheets. Your final grade will be the better of your grade in the endterm exam and your grade in the re-exam.
The midterm exam will not count toward your final grade. It will give you an opportunity to check your progress and your general understanding of the course material. We will inspect and "grade" your midterm exam only if at the time of the midterm exam you have achieved at least 50% of the points on the exercise sheets so far.
For the exams you are allowed to bring along a crib sheet with notes. It must be a single sheet (size A4). It can have notes on both sides. It must be hand-written; photocopies and printouts are not allowed. You will have to turn in the crib sheet with your exam.
The following is a list of literature that could be useful.
- J. Erickson, Algorithms, 2019 (Link: http://jeffe.cs.illinois.edu/teaching/algorithms/#book)
- K. Mehlhorn, P. Sanders: Algorithms and Data Structures - The Basic Toolbox, Springer, 2008 (ISBN: 9783540779773)
- M. Dietzfelbinger, K. Mehlhorn und P. Sanders, Algorithmen und Datenstrukturen - Die Grundwerkzeuge, Springer, 2014 (ISBN: 978-3-642-05471-6)
- T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms - Second Edition, McGraw-Hill, 2001 (ISBN: 0262531968)
- T. Ottman, P. Widmayer, Algorithmen und Datenstrukturen, Springer, 2017 (ISBN: 978-3-662-55649-8)
- K. Mehlhorn, Data Structures and Algorithms, Vols. 1-3, Springer Verlag, 1984
There are course notes from a previous iteration of this lecture by a different lecturer: M. Bläser, Introduction to Algorithms and Data Structures, 2015