News
Re-exam InspectionWritten on 21.04.23 by Karl Bringmann Dear students, You can inspect your re-exam on Thursday, April 27, from 10:00-12:00 in room HS003 E1 3. Please come in the following time slot according to the first letter of your last name: A-D: 10:00-10:20 E-H: 10:20-10:40 I-L: 10:40-11:00 M-P: 11:00-11:20 R-S: 11:20-11:40 T-Z: 12:40-12:00 |
Grades Re-examWritten on 20.04.23 by Karl Bringmann Dear students, The grades of the re-exam can now be found on the CMS website. Sorry for the delay, which was due to illness. Information regarding the exam inspection will follow soon. Best, Karl Bringmann |
Grades in LSFWritten on 13.03.23 by Karl Bringmann Dear students, The grades of the final exam have been entered into the LSF (and Vipa) systems. If you couldn't register in LSF (or Vipa) and need a paper certificate, please contact the course organizers. If you want to participate in the re-exam, don't forget to register in LSF (or Vipa), and if… Read more Dear students, The grades of the final exam have been entered into the LSF (and Vipa) systems. If you couldn't register in LSF (or Vipa) and need a paper certificate, please contact the course organizers. If you want to participate in the re-exam, don't forget to register in LSF (or Vipa), and if you cannot register in these systems then write an email to the course organizers. |
Exercise Points and Office HoursWritten on 13.02.23 by Alejandro Cassis Dear students, We have two announcements:
Dear students, We have two announcements:
|
Exam DatesWritten on 09.11.22 by Alejandro Cassis Dear students, We have fixed the following dates for the exams:
|
Introduction to Algorithms and 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. We will cover sorting algorithms, basic data structures (linked lists, stacks, priority queues, balanced binary search trees, hashing), and basic graph algorithms (traversal, shortest path, minimum spanning tree). We will also discuss algorithm design techniques such as divide and conquer, exhaustive search, greedy and dynamic programming as well as randomized algorithms and amortized analysis of algorithms.
Lecture Format
Lecture: Thursdays 12:15-14:00 (E2 2 HS 001, Günter-Hotz-Hörsaal)
The first lecture will take place on October 27. The lectures will be held in English.
Lectures will be recorded and the recordings will be made available on this website (see "Information"->"Material" after registering and logging into this website).
Exercise Sheets & Tutorials
Exercise sheets will be handed out on Thursday and are due on the next Thursday before the lecture. Your solutions should be submitted either physically in the lecture hall or digitally via this website. Physical solutions are handwritten or printed sheets of paper. Digital solutions are submitted as a PDF by writing in LaTeX, writing in a common word processor like Word, or as a high quality scan/photo of a handwritten submission. The first page of your solutions must list your name and your tutorial slot.
You can work in groups of up to 3 students on the exercises. Each group must submit exactly one solution (for digital solutions this means that exactly one group member should submit the solutions via this website). The first page of your solutions must list all group members. Each group must write their own solution and must not copy the solution of another group!
The exercises sheets will be written in English, but you can choose to write your solutions in English or German depending on the tutorial you choose (i.e. check the submission language in the table below).
Solutions to the exercises will be presented in the weekly tutorials. Tutorials start in the week November 7-11. We offer the following tutorial slots:
Time | Tutor | Room | Tutorial Language | Submission Language |
---|---|---|---|---|
Monday 10-12 | Anton | E1.1, SR106 | English | English or German |
Monday 14-16 | Julius | E1.1, SR106 | German | English or German |
Monday 16-18 | Ahmed | E1.1, SR106 | English | English |
Tuesday 10-12 | Ivo | E1.1, SR106 | German | English or German |
Tuesday 12-14 | Simon | E1.1, SR106 | German | English or German |
Tuesday 14-16 | Nicolas | E1.1, SR106 | English | English or German |
Wednesday 10-12 | Elina | E1.1, SR106 | German | English or German |
Wednesday 12-14 | Tim R. | E2.5, SR3 (U.11) | German | English or German |
Thursday 10-12 | Tim S. | E1.3, SR014 | German | English or German |
When registering on this website, you are asked to give your preferences for tutorial slots. Please select more than one option as "preferred" (this will help us finding a fair tutorial assignment). You can submit your preferences until November 1. We will then create a tutorial assignment on November 2.
Grading and Exams
To be able to obtain a certificate you must register in the LSF system! If you are unable to register in LSF, please contact Alejandro.
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. For the exams you are allowed to bring a single handwritten DinA4-sheet (which can be written on both sides); photocopies and printouts are not allowed. Your final grade will be the better of your grade in the final exam and your grade in the re-exam.
- Final Exam: 14:00-17:00, February 27 (GHH/HS002/HSI/HSII)
- Re-Exam: 14:00-17:00, April 5 (GHH/HS002/HSI)
If for some urgent reasons you cannot attend the exams in person please contact us directly via email.
Literature
There are many good books and lecture scripts on the topic, here is a selection:
- [Blä] M. Bläser, Introduction to Algorithms and Data Structures, 2015 (Script)
- [MS] K. Mehlhorn, P. Sanders, Algorithms and Data Structures - The Basic Toolbox, Springer, 2008 (ISBN: 9783540779773)
- [CLRS] T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms - Fourth Edition, MIT Press, 2022 (ISBN: 9780262046305)
- [Eri] J. Erickson, Algorithms, 2019 (Free electronic version)