Dozent: Thomas Bläsius
Übungsleiter: Maximilian Katzmann, Marcus Wilhelm
In dieser Vorlesung werden grundlegende Kenntnisse im Bereich Algorithmen und Datenstrukturen vermittelt. Ziel ist es, Fähigkeiten zu Verständnis und Lösung algorithmischer Probleme, sowie insbesondere deren Formalisierung, Kommunikation und Analyse zu erlernen.
Austausch findet vorrangig über Discord statt. Der Zugang ist verlinkt im ILIAS-Kurs: https://ilias.studium.kit.edu/goto.php?target=crs_1730917&client_id=produktiv
Wöchentliche Termine:
Die Ausgabe der Übungsblätter erfolgt jeweils Mittwochs, bei einer Bearbeitungsdauer von 1 Woche bis zum darauf folgenden Mittwoch um 14:00. Die Abgabe erfolgt über ILIAS unter 'Tutoriumsgruppen' in der Gruppe des jeweiligen Tutors.
Vor der Klausur werden zusätzliche Tutorien angeboten, bei denen Stoff aus der Vorlesung wiederholt und Übungsaufgaben bearbeitet werden. Eine Anmeldung ist nicht nötig.
Pro Woche werden zwei Tutorien stattfinden. Der Termin am Montag wird zur Wiederholung und als Fragestunde genutzt, am Mittwoch werden wir vornehmlich gemeinsam Aufgaben bearbeiten. Jede Woche wird einem Themenblock gewidmet sein.
Woche | Montag | Mittwoch | Themen |
---|---|---|---|
1 | 01.08.2022 | 03.08.2022 | Beweise, O-Notation, Rekurrenzen, Amortisierte Analyse |
2 | 08.08.2022 | 10.08.2022 | Grundlegende Datenstrukturen, Hashing, Union-Find |
3 | 15.08.2022 | 17.08.2022 | Sortieren, Suchbäume, Heaps |
4 | 22.08.2022 | 24.08.2022 | Breitensuche, Kürzeste Wege, Minimale Spannbäume |
5 | 29.08.2022 | 31.08.2022 | Tiefensuche, Dynamsiche Programmierung |
Die digitalen Sprechstunden finden via Twitch statt. Wir werden immer etwas vorbereitet haben, das den Stoff aus der Vorlesung übt bzw. wiederholt. Darüber hinaus ist Raum für Fragen (sowohl inhaltlicher als auch organisatorischer Natur). Wenn es konkrete Wünsche gibt, was nochmal wiederholt werden soll, dann können die gerne auch vorab an uns herangetragen werden.
Hier beschäftigen wir uns insbesondere mit der Frage, wie man in einem Graphen alle Dreiecke findet. An dem Beispiel werden wir sehen, wie uns theoretische Überlegungen zu einem effizienten Algorithmus führen können. Dabei beschäftigen wir uns insbesondere mit der O-Notation, mit verschiedenen Graphdatenstrukturen und mit der Umsetzung der Algorithmischen Idee in Pseudocode.
Hier der Link zum genannten Git-Rep: https://github.com/thobl/triangle-counting
Da die Klausur näher rückt wird hier hauptsächlich Platz für Fragen sein. Zusätzlich werden wir uns eher kleinere Aufgaben anschauen, bei denen wir insbesondere auf die Unterscheidung zwischen relevanten und irrelevanten Details eingehen. Falls ihr Wünsche für Themen habt, dann könnt ihr uns die auch gerne vorab zukommen lassen.
Materialien:
Dieser Termin ist ausschließlich zur Beantwortung von Fragen gedacht. Die Fragen können gerne spontan im Chat gestellt werden oder vorab via Discord/Mail. Fragen zu spezifischen Aufgaben am besten schon vorab stelle, da diese spontan ggf. nicht so gut beantwortbar sind. Unspezifische Fragen der Form “Kannst du nochmal XY erklären?” sind natürlich auch ok.
Dieser Termin kurz vor der Nachklausur ist hauptsächlich zur Beantwortung von Fragen gedacht. Die Fragen können gerne spontan im Chat gestellt werden oder vorab via Discord/Mail. Fragen zu spezifischen Aufgaben am besten schon vorab stelle, da diese spontan ggf. nicht so gut beantwortbar sind. Unspezifische Fragen der Form “Kannst du nochmal XY erklären?” sind natürlich auch ok.
Die Notizen vom Stream findet ihr hier: notes-23-03-20.pdf.
Die Lehrveranstaltung wird automatisch aufgezeichnet und im Ilias hochgeladen. Zusätzlich gibt es die Aufnahmen auch beim Lecture Translator. Dort wird die Veranstaltung automatisiert live transkribiert und übersetzt. Außerdem kann man sich die Aufzeichnungen dann später mit Untertiteln ansehen.
Woche | Montag | Mittwoch (Übungsblatt(ab/aus)gabe) |
---|---|---|
1 | 18.4.22: Feiertag | 20.4.22: VL 1 |
2 | 25.4.22: VL 2 | 27.4.22: Übung 1 |
3 | 2.5.22: VL 3 | 4.5.22: VL 4 |
4 | 9.5.22: VL 5 | 11.5.22: Übung 2 |
5 | 16.5.22: VL 6 | 18.5.22: VL 7 |
6 | 23.5.22: VL 8 | 25.5.22: Übung 3 |
7 | 30.5.22: VL 9 | 1.6.22: VL 10 |
8 | 6.6.22: Pfingstmontag | 8.6.22: Vorlesungsfrei |
9 | 13.6.22: VL 11 | 15.6.22: Übung 4 |
10 | 20.6.22: VL 12 | 22.6.22: VL 13 |
11 | 27.6.22: VL 14 | 29.6.22: Übung 5 |
12 | 4.7.22: VL 15 | 6.7.22: digitale Sprechstunde |
13 | 11.7.22 VL 16 | 13.7.22 Übung 6 |
14 | 18.7.22 VL 17 | 20.7.22 VL 18 |
15 | 25.7.22 VL 19 | 27.7.22 Zusammenfassung, Ausblick, etc |
Zusätzliche Notizen mit den Lernzielen, Literaturhinweisen zu den einzelnen Vorlesungen und eine Glossar mit den wichtigsten Begriffen findet ihr hier. Hier auch nochmal das selbe Dokument aber mit Links zu den Folien ohne Klicks.
Die Übungsblätter werden mittwochs ab 14:00 Uhr hier verfügbar sein. Die Lösungen können dann bis zum darauffolgenden Mittwoch um 14:00 Uhr in Form eines PDFs online eingereicht werden. Dies erfolgt über ILIAS unter 'Tutoriumsgruppen' in der Gruppe des jeweiligen Tutors. Es wird genau eine Abgabe pro Student erwartet. Die Lösungen müssen mit gut sichtbar mit Namen und Matrikelnummer beschriftet sein. Bei handschriftlichen Abgaben muss auf Lesbarkeit und ausreichend Platz für Korrekturanmerkungen gesorgt werden.
Wer mindestens 50% aller Punkte erreicht, die auf den Übungsblättern vergeben werden, erhält einen Bonus von 0.3 Notenpunkten in der Abschlussklausur.
Eine Übersicht der angebotenen Tutorien gibt es hier. Die Anmeldung erfolgt über https://www.informatik.kit.edu/tutorieneinteilung/.
Wir bieten folgenden Richtlinien für das Schreiben von Pseudocode an, die zur Orientierung helfen können: Pseudocode Richtlinien.
Am 6.7. ist der Audimax wegen einer Veranstaltung belegt. Daher weichen wir an dem Tag auf ein Online-Format aus. Hier die wichtigsten Informationen zum Ablauf: