Termine
Aufgrund der aktuellen Pandemie findet in dieser Vorlesungszeit keine Präsenzlehre statt. Die Vorlesung wird in Form von Videos im Moodle-Raum zur Vorlesung zur Verfügung gestellt. Sie müssen sich über LSF zur Vorlesung anmelden.
Hinweise
Die Lehrveranstaltung folgt inhaltlich den entsprechenden Vorlesungen aus den vergangenen Jahren an der Fakultät für Informatik. Christian Sohler hat mir netterweise seinen Foliensatz zur Verfügung gestellt.
Allgemeine Informationen zu Teilnahmevoraussetzungen und Studienleistungen finden sich in den entsprechenden Modulbeschreibungen der jeweiligen Studiengänge.
Inhalt und Lernziele
Damit ein Algorithmus eine Aufgabenstellung sinnvoll löst, muss er zum einen korrekt arbeiten und zum anderen eine Lösung des betrachteten Problems in akzeptabler Zeit berechnen. Um die Qualität von Algorithmen zu bewerten, muss man daher ihre Korrektheit und ihren Ressourcenverbrauch beurteilen können. Neben der Bewertung vorgegebener Algorithmen ist ein wichtiges Arbeitsfeld eines Informatikers und einer Informatikerin der Entwurf neuer algorithmischer Lösungen. Die Kenntnis grundlegender Methoden zum Entwurf von Algorithmen und des Zusammenspiels von Algorithmen und Datenstrukturen ist dabei ein wichtiges Werkzeug.
Daher gehören zu den Lernzielen der Veranstaltung Datenstrukturen, Algorithmen und Programmierung 2 die folgenden Punkte.
- Die Studierenden können Kriterien für die Effizienz algorithmischer Lösungen benennen und die Qualität von Algorithmen einschätzen.
- Sie können mathematische Methoden für den Korrektheitsbeweis und die Effizienzanalyse von Algorithmen anwenden.
- Die Studierenden können verschiedene Algorithmen für eine gegebene Problemstellung miteinander vergleichen und nach ihrer Effizienz anordnen.
- Sie können komplexere Datenstrukturen mit ihren Eigenschaften sowie Vor- und Nachteilen beschreiben und erweitern.
- Sie können die Wechselwirkung zwischen Algorithmen und eingesetzten Datenstrukturen erläutern und geeignete Datenstrukturen für algorithmische Lösungen auswählen.
- Die Studierenden können grundlegende Entwurfsmethoden für Algorithmen wie Dynamische Programmierung, Greedy-Strategien oder Teile-und-Herrsche beschreiben und sie selbstständig für die Entwicklung algorithmischer Lösungen nutzen.
- Sie können algorithmische Lösungen in lauffähige Programme übertragen.
- Die in der Lehrveranstaltung untersuchten Probleme sind grundlegend für den Algorithmenentwurf und dienen insbesondere auch dazu, Entwurfs- und Analysemethoden zu illustrieren.
Praktikum
Informationen zum Praktikum werden in Kürze zur Verfügung gestellt.
Prüfungen
Prüfungsgrundlage ist der Inhalt der DAP2-Veranstaltung des Sommersemesters 2021
Geplante Prüfungstermine sind der 5.8.2021 und der 24.9.2021. Aufgrund der Pandemielage kann sich das aber noch ändern.
Übungen
Informationen zu den Übungen folgen in Kürze.