Skip to main content

Modulbeschreibung - Effiziente Algorithmen

Nummer
efalg
ECTS 3.0
Anspruchsniveau advanced
Inhaltsübersicht In diesem Modul werden für verschiedenste Probleme effiziente algorithmische Lösungen besprochen und praktisch eingeübt. Dabei liegt der Fokus darauf, algorithmische Probleme besser einordnen zu können und effiziente Lösungen praktisch umzusetzen.
Theoretischer Teil:
In traditionellen Vorlesungseinheiten werden wichtige algorithmische Konzepte behandelt:

  • Algorithmische Grundkonzepte (Backtracking, Branch & Bound, etc.)
  • Effiziente Implementation (Speicherhierarchie, Branch Prediction, etc.)
  • Dynamische Programmierung
  • Lineare Programmierung
  • Geometrische Algorithmen (Sweep-Verfahren, konvexe Hülle, etc.)
  • Fortgeschrittene Graphenalgorithmen (Routen- und Tourenplanung, Matchings, optimale Flüsse, etc.)
  • Metaheuristiken (Ant Colony Optimization, Genetische Algorithmen, Particle Swarm Optimization, etc.)
  • Weitere ausgewählte Themen


Praktischer Teil:
Der praktische Teil basiert auf dem Konzept des flipped classroom. Die Studierenden lösen während der Vorlesung praktische Aufgaben auf einer Programmier-Plattform. Dabei werden die hochgeladenen Lösungen automatisch getestet und bewertet, was den Studierenden die Möglichkeit gibt, ihre jeweilige Lösung bezüglich Korrektheit und Performance einzuordnen und zu verbessern.
Lernziele
  • Die Studierenden kennen die wichtigsten algorithmischen Methoden und können vorgegebene Probleme bezüglich möglicher Lösungsansätze einordnen.
  • Die Studierenden können Lösungsansätze und Implementierungsvarianten bezüglich Rechenaufwand (Performance) und Speicherbedarf abschätzen.
  • Sie können für diverse algorithmische Probleme effiziente Lösungen in einer höheren Programmiersprache umsetzen.
  • Die Studierenden können Fragestellungen als algorithmisches Problem formulieren und dafür geeignete Lösungsansätze vorschlagen.


  • Empfohlene Vorkenntnisse

    • Objektorientierte Programmierung (oopI1 & oopI2)
    • Algorithmen und Datenstrukturen (algd1 & algd2)
    • Mathematische Grundkenntnisse (eana & lag & mada)


    Leistungsbewertung Erfahrungsnoten
    Diese Seite teilen: