Lernergebnisse
Die Studierenden haben Grundkenntnisse in imperativer und objektorientierter Programmierung, die
Fähigkeit zur Formulierung einer Spezifikation und ihrer Umsetzung in eine Implementierung sowie
Kenntnisse der wesentlichen Datenstrukturen und Algorithmen. Sie sind sicher in der Auswahl geeigneter
Datenstrukturen.
Lehrinhalte
* Aufwandsabschätzungen und Korrektheitsnachweise
* Einführung in Java
* Weiterführende Datenstrukturen (z.B.: Realisierung von Mengen)
* Graphenrepräsentation
* Flussprobleme (Modellierung, Max-Flow, Min-Cut)
* Algorithmen für Optimierungsprobleme (z.B.: Branch & Bound, Backtracking)
* Scheduling
Beschreibung der Lehr- und Lernformen
Vorlesung zur Stoffvermittlung mit begleitenden wöchentlichen Übungen (Tutorien) zur Festigung und Einübung. Die Bearbeitung von Übungsblättern und Programmieraufgaben erfolgt in Kleingruppen.