Über das Modul “Algorithmik”

Inhaltsverzeichnis

  1. Modulübersicht
    1. Lernziele
  2. Vorlesungen
  3. Übungen
  4. Kursinhalt & Wochenübersicht
  5. Ressourcen
  6. Prüfungsleistung

Modulübersicht

Das Modul Algorithmik ist ein Pflichtfach an der Technischen Hochschule Köln. Ziel des Moduls ist es, Studierenden fundierte Kenntnisse zur formalen Beschreibung, Speicherung und effizienten Verarbeitung von Daten durch geeignete Algorithmen und Datenstrukturen zu vermitteln.

Lernziele

Studierende lernen in diesem Modul:

  • Praktische Problemstellungen formal zu beschreiben und zu charakterisieren,
  • Passende Datenstrukturen zur Speicherung von Daten auszuwählen,
  • Effiziente Algorithmen auszuwählen, zu entwerfen und zu implementieren,
  • Laufzeit und Speicherbedarf von Algorithmen asymptotisch zu analysieren (O-, $\Theta$-Notation).

Vorlesungen

Die Vorlesungen finden zweimal wöchentlich statt (Montags und Donnerstags). In den Vorlesungen werden die theoretischen Grundlagen vermittelt und durch praktische Beispiele veranschaulicht.

Jede Vorlesungseinheit behandelt ein spezifisches Thema aus dem Bereich Algorithmen und Datenstrukturen. Die Vorlesungen sind so gestaltet, dass sie aufeinander aufbauen und ein umfassendes Verständnis der Materie ermöglichen.


Übungen

Direkt im Anschluss an die Vorlesungen finden praktische Übungen statt. In den Übungen haben die Studierenden die Möglichkeit, das in der Vorlesung Gelernte direkt anzuwenden und zu vertiefen.


Kursinhalt & Wochenübersicht

Der Kurs erstreckt sich über 7 Wochen mit jeweils zwei Terminen pro Woche (Montag und Donnerstag):

WocheTerminThemaBeschreibung & Schwerpunkte
Woche 1MontagOrganisation & Abstrakte DatentypenEinführung in das Modul sowie in grundlegende ADTs (Liste, Stapel/Stack, Warteschlange/Queue, Tabelle).
 DonnerstagAsymptotische AnalyseAnalyse von Laufzeiten und Speicherbedarf, O-Notation und Komplexitätsklassen.
Woche 2MontagAnalyse rekursiver AlgorithmenAsymptotische Analyse von Rekursionen, $\Theta$-Notation, Rekursionsbäume und Mastermethode.
 DonnerstagHashingHashtabellen, Hashfunktionen, Kollisionsstrategien (Verkettung, offene Adressierung).
Woche 3MontagBinäre SuchbäumeEinfache binäre Suchbäume, Einfüge-, Such- und Löschoperationen sowie Laufzeitanalysen.
 DonnerstagBalancierte Binäre SuchbäumeAVL-Bäume, Rotationen und Gewährleistung logarithmapersistenter Suchzeiten.
Woche 4MontagPrioritätswarteschlangen & HeapsAbstrakter Datentyp Prioritätswarteschlange, Heap-Datenstruktur und Heapsort.
 DonnerstagGraphen IGrundlagen der Graphentheorie, Graphenrepräsentationen, Breitensuche (BFS) und Tiefensuche (DFS).
Woche 5MontagGraphen IIFortgeschrittene Graphenalgorithmen und kürzeste Pfade (z. B. Dijkstra-Algorithmus).
 DonnerstagGraphen III: Minimale SpannbäumeEinführung in minimale Spannbäume (MST) und Grundlagen.
Woche 6MontagGraphen IV: Minimale SpannbäumeAlgorithmen von Kruskal und Prim zur Berechnung minimaler Spannbäume.
 DonnerstagSortieralgorithmenVergleichsbasierte und nicht-vergleichsbasierte Sortierverfahren.
Woche 7MontagDynamische Programmierung IEntwurfsprinzip der dynamischen Programmierung, Teilproblem-DGP und Überlappungen.
 DonnerstagDynamische Programmierung IIVertiefung der dynamischen Programmierung anhand praktischer Optimierungsprobleme.

Ressourcen

Alle Kursmaterialien, einschließlich Folien und Übungsblätter, werden über diese Website bereitgestellt. Zusätzlich werden in der Sektion Materialien weitere Ressourcen wie weiterführende Literatur, Online-Kurse, Tutorials und Tools aufgelistet.


Prüfungsleistung

Informationen zur Prüfungsleistung, Altklausuren und Terminankündigungen finden Sie auf der Seite Prüfungsleistung.