Sommersemester 2026

Bachelorveranstaltungen

Algorithmen und Datenstrukturen (4V+2Ü)
Bachelorseminar Informatik
Software Praktikum

Masterveranstaltungen

Algorithmen für Programmierwettbewerbe (2V+1Ü)
Forschungsprojekt
Forschungsseminar

 


Bachelorvorlesungen

Algorithmen und Datenstrukturen (4V+2Ü)

Algorithms and Data Structures

Jedes Sommersemester

Die Vorlesung Algorithmen & Datenstrukturen beschäftigt sich mit Techniken für Entwurf und Analyse von Algorithmen, Sortierverfahren, grundlegenden Datenstrukturen, systematischem Probieren und einfachen Graphalgorithmen.

Lernziele

In dieser Veranstaltung lernen Sie,

  • die Effizienz von Algorithmen zu messen und miteinander zu vergleichen,
  • grundlegende Algorithmen und Datenstrukturen zu implementieren,
  • selbst Algorithmen und Datenstrukturen zu entwerfen sowie
  • deren Korrektheit und Effizienz zu beweisen.

Berechenbarkeit und Komplexität (2V+1Ü)

Jedes Wintersemester

Die Vorlesung Berechenbarkeit und Komplexität beschäftigt sich mit den theoretischen Grundlagen der Informatik, insbesondere mit formalen Modellen der Berechnung, Entscheidbarkeitsfragen sowie der Analyse des Ressourcenbedarfs von Algorithmen.

Lernziele

In dieser Veranstaltung lernen Sie,

  • die Grenzen algorithmischer Lösbarkeit zu verstehen und zu beurteilen,
  • grundlegende Modelle der Berechnung (z.B. Turingmaschinen) zu analysieren,
  • Komplexitätsklassen zu unterscheiden und einzuordnen,
  • Reduktionen als zentrales Werkzeug der Komplexitätsanalyse anzuwenden sowie
  • die Schwierigkeit von Problemen formal zu bewerten.

Mastervorlesungen

Fortgeschrittene Algorithmen (4V+2Ü)

Fortgeschrittene Algorithmen

Vorerst jedes Wintersemester

Dieser Kurs vermittelt einen Überblick über verschiedene Themenbereiche der Algorithmik anhand einer Auswahl von Materialien zu exakten, geometrischen, randomisierten und Approximationsalgorithmen sowie zu fortgeschrittenen Datenstrukturen. Als solcher dient dieser Kurs als eine Basis für die dazugehörigen Mastervorlesungen. Der Kurs behandelt Verbesserungen von klassischen Algorithmen sowie Ansätze, um NP-schwere Probleme anzugehen. Diese Ansätze reichen vom Verständnis "guter" Algorithmen, die solche Probleme exakt lösen, über effiziente Algorithmen, die solche Probleme approximieren, bis hin zu randomisierten Ansätzen, welche im Erwartungswert gut funktionieren. Im Zuge dessen werden wir einige interessante Datenstrukturen kennen lernen, welche hierfür ausgenutzt werden können.

Lernziele

Am Ende dieses Kurses sollten TeilnehmerInnen einen groben Überblick über fortgeschrittene Themen der Algorithmik und Datenstrukturen haben. Sie sollten in der Lage sein, Algorithmen von jedem Typ zu analysieren und zu entwerfen sowie den angemessenen Gebrauch der Datenstrukturen verstehen.

 

Visualisierung von Graphen (2V+1Ü)

Visualisierung von Graphen

Voraussichtlich das nächste Mal im Sommersemester 2024

Das Graphenzeichnen beschäftigt sich mit der geometrischen Repräsentation von Graphen und Netzwerken und wird durch jene Anwendungen motiviert, in denen eine Visualisierung struktureller Informationen als Graph unentbehrlich ist. Das Gebiet erstreckt sich von rein theoretischen Aspekten bis hin zu Implementationen denen man im Alltag begegnet.
Wir beschäftigen uns mit den wichtigsten Algorithmen zum Zeichnen von Graphen. Wir werden Maße für die Qualität einer Graphzeichnung kennenlernen und Algorithmen betrachten, die diese Maße optimieren.

Lernziele

Die TeilnehmerInnen bekommen einen Überblick über das Thema Graphvisualisierung (das sich sehr gut für Abschlussarbeiten eignet) und lernen typische Werkzeuge dafür kennen. Sie vertiefen ihre Kenntnisse über das Modellieren und Lösen von Problemen mithilfe von Graphen und Graphalgorithmen.

 

Algorithmen für Programmierwettbewerbe (2V+1Ü)

APW

Vorerst jedes Sommersemester

Die Vorlesung Algorithmen für Programmierwettbewerbe dient als Einführung in die Welt der Programmierwettbewerbe, insbesondere dem International Collegiate Programming Contest (ICPC) und dem German Collegiate Programming Contest (GCPC).

Lernziele

In dieser Veranstaltung lernen Sie

  • Probleme abstrakt zu formulieren
  • Eigenständig Lösungskonzepte zu entwickeln
  • Die Lösungskonzepte schnell und effizient zu implementieren
  • Grundlegende Programmierkenntnisse in C++

 

Algorithmen für geographische Informationssysteme (2V+1Ü)

Logo AGIS

Jedes gerade Wintersemester

Diese Vorlesung befasst sich mit den algorithmischen Grundlagen geographischer Informationssysteme (GIS) und deren Anwendung in ausgewählten Problemen bei der Erfassung, Verarbeitung, Analyse und Präsentation raumbezogener Information. Im Vordergrund stehen Verfahren der diskreten und kontinuierlichen Optimierung. Zu den besprochenen Anwendungen gehören die Erstellung digitaler Höhenmodelle, die Arbeit mit GPS-Trajektorien, Aufgaben der räumlichen Planung sowie die kartographische Generalisierung.

 

Algorithmische Geometrie (2V+1Ü)

Jedes ungerade Wintersemester

Die Vorlesung Algorithmische Geometrie beschäftigt sich mit der Entwicklung und Analyse effizienter Algorithmen für geometrische Probleme, wie sie etwa in Computergraphik, Geoinformationssystemen, Robotik oder Datenanalyse auftreten.

Lernziele

In dieser Veranstaltung lernen Sie

  • geometrische Problemstellungen formal zu modellieren,
  • grundlegende algorithmische Techniken der Algorithmischen Geometrie anzuwenden,
  • effiziente Lösungen für klassische Probleme wie Nachbarschaftsstrukturen, Sichtbarkeitsfragen oder Flächenberechnungen zu entwickeln,
  • geometrische Datenstrukturen zu entwerfen sowie
  • die Laufzeit und Korrektheit geometrischer Algorithmen zu analysieren 

 

Netzwerkalgorithmen (2V+1Ü)

Jedes ungerade Sommersemester

Die Vorlesung Netzwerkalgorithmen beschäftigt sich mit algorithmischen Methoden zur Analyse und Optimierung von Netzwerken, wie sie etwa in Verkehrs-, Kommunikations- oder Versorgungsnetzen auftreten.

Lernziele

In dieser Veranstaltung lernen Sie,

  • Netzwerkprobleme formal zu modellieren,
  • klassische Optimierungsprobleme wie kürzeste Wege, Flüsse oder Matchings algorithmisch zu lösen,
  • effiziente Strategien für Routing-, Planungs- und Ressourcenprobleme zu entwickeln,
  • geeignete Datenstrukturen für Netzwerkalgorithmen einzusetzen sowie
  • die Laufzeit und Qualität von Lösungen zu analysieren und zu bewerten