Institut für Theoretische Informatik, Algorithm Engineering

Algorithm Engineering

  • Typ: Vorlesung (V)
  • Semester: SS 2016
  • Zeit: 19.04.2016
    15:45 - 17:15 wöchentlich
    50.34 Raum 236 50.34 INFORMATIK, Kollegiengebäude am Fasanengarten


    26.04.2016
    15:45 - 17:15 wöchentlich
    50.34 Raum 236 50.34 INFORMATIK, Kollegiengebäude am Fasanengarten

    03.05.2016
    15:45 - 17:15 wöchentlich
    50.34 Raum 236 50.34 INFORMATIK, Kollegiengebäude am Fasanengarten

    10.05.2016
    15:45 - 17:15 wöchentlich
    50.34 Raum 236 50.34 INFORMATIK, Kollegiengebäude am Fasanengarten

    17.05.2016
    15:45 - 17:15 wöchentlich
    50.34 Raum 236 50.34 INFORMATIK, Kollegiengebäude am Fasanengarten

    24.05.2016
    15:45 - 17:15 wöchentlich
    50.34 Raum 236 50.34 INFORMATIK, Kollegiengebäude am Fasanengarten

    31.05.2016
    15:45 - 17:15 wöchentlich
    50.34 Raum 236 50.34 INFORMATIK, Kollegiengebäude am Fasanengarten

    07.06.2016
    15:45 - 17:15 wöchentlich
    50.34 Raum 236 50.34 INFORMATIK, Kollegiengebäude am Fasanengarten

    14.06.2016
    15:45 - 17:15 wöchentlich
    50.34 Raum 236 50.34 INFORMATIK, Kollegiengebäude am Fasanengarten

    21.06.2016
    15:45 - 17:15 wöchentlich
    50.34 Raum 236 50.34 INFORMATIK, Kollegiengebäude am Fasanengarten

    28.06.2016
    15:45 - 17:15 wöchentlich
    50.34 Raum 236 50.34 INFORMATIK, Kollegiengebäude am Fasanengarten

    05.07.2016
    15:45 - 17:15 wöchentlich
    50.34 Raum 236 50.34 INFORMATIK, Kollegiengebäude am Fasanengarten

    12.07.2016
    15:45 - 17:15 wöchentlich
    50.34 Raum 236 50.34 INFORMATIK, Kollegiengebäude am Fasanengarten

    19.07.2016
    15:45 - 17:15 wöchentlich
    50.34 Raum 236 50.34 INFORMATIK, Kollegiengebäude am Fasanengarten


  • Dozent: Prof.Dr. Peter Sanders
  • SWS: 2/1
  • LVNr.: 2400051
BeschreibungDie Studierenden erwerben in dieser Veranstaltung ein systematisches Verständnis algorithmischer Fragestellungen und Lösungsansätze im Bereich Algorithm Engineering, das auf dem bestehenden Wissen im Themenbereich Algorithmik aufbaut. Außerdem können sie erlernte Techniken auf verwandte Fragestellungen anwenden und aktuelle Forschungsthemen im Bereich Algorithm Engineering interpretieren und nachvollziehen.
Lehrinhalt
  • Was ist Algorithm Engineering, Motivation etc.
  • realistische Modellierung von Maschinen und Anwendungen
  • praxisorientierter Algorithmenentwurf
  • Implementierungstechniken
  • Experimentiertechniken
  • Auswertung von Messungen

Die oben angegebenen Fertigkeiten werden vor allem anhand von konkreten Beispielen gelehrt. In der Vergangenheit waren das zum Beispiel die folgenden Themen aus dem Bereich grundlegender Algorithmen und Datenstrukturen:

  • linked lists ohne Sonderfälle
  • Sortieren: parallel, extern, superskalar,...
  • Prioritätslisten (cache effizient,...)
  • Suchbäume für ganzzahlige Schlüssel
  • Volltextindizes
  • Graphenalgorithmen: miminale Spannbäume (extern,...), Routenplanung

Dabei geht es jeweils um die besten bekannten praktischen und theoretischen Verfahren. Diese weichen meist erheblich von den in Anfängervorlesungen gelehrten Verfahren ab.

ArbeitsbelastungVorlesung und Übung mit 3 SWS, 5 LP entsprechen ca. 150 Arbeitsstunden, davon

ca. 30 Std. Besuch der Vorlesung und Übung bzw. Blockseminar
ca. 60 Std. Vor- und Nachbereitung
ca. 30 Std. Bearbeitung der Übungsblätter/Vorbereitung Minisemiar
ca. 30 Std. Prüfungsvorbereitung

Ziel

Nach erfolgreicher Teilnahme an der Lehrveranstaltung können die Studierenden

  • Begriffe, Strukturen, grundlegende Problemdefinitionen und Algorithmen aus der Vorlesung erklären;
  • auswählen, welche Algorithmen und Datenstrukturen zur Lösung einer algorithmischen Fragestellung geeignet sind und diese ggf. den Anforderungen einer konkreten Problemstellung anpassen;
  • Algorithmen und Datenstrukturen ausführen, mathematisch präzise analysieren und die algorithmischen Eigenschaften beweisen;
  • Maschinenmodelle aus der Vorlesung erklären sowie Algorithmen und Datenstrukturen in diesen analysieren;
  • neue Probleme aus Anwendungen analysieren, auf den algorithmischen Kern reduzieren und daraus ein abstraktes Modell erstellen; auf Basis der in der Vorlesung erlernten Konzepte und Techniken eigene Lösungen in diesem Modell entwerfen, analysieren und die algorithmischen Eigenschaften beweisen.
PrüfungDie Erfolgskontrolle erfolgt in Form einer mündlichen Prüfung nach § 4 Abs. 2 Nr. 2 SPO und einer Übung als Erfolgskontrolle anderer Art nach § 2 Abs. 2 Nr. 3.
Gewichtung: 80 % mündliche Prüfung, 20 % Übung.

Anmeldung

Vor der mündlichen Prüfung müssen Sie sich am Studierendenportal  für diese Veranstaltung anmelden; falls zwei Einträge "Algorithm Engineering" bei Ihnen vorhanden sind, wählen Sie bitte die Nummer 13321. Bitte vereinbaren Sie Ihren Termin mit Herrn Prof. Sanders direkt per E-Mail.