Dieses Modul behandelt fortgeschrittene Aspekte der objektorientierten Programmierung und findet regelmäßig im Sommersemester statt. Es ist ist als Seminar in allen Informatik-Bachelor-Studiengängen anrechenbar.
In der Softwaretechnik bildet die Programmiersprache neben der natürlichen Sprache das wichtigste Werkzeug. Aus SE1 und SE2 kennen die Studierenden üblicherweise nur die Sprache Java. Es gibt aber eine Reihe softwaretechnisch interessanter Sprachkonzepte, die in Java nur teilweise oder gar nicht zu finden sind, wie beispielsweise multiple Vererbung, flexible Typbezeichner, Unterstützung für das Vertragsmodell, mehrfaches dynamisches Binden, benutzerdefinierte Werttypen. Außerdem gibt es eine Reihe von Entwurfskonzepten, die sich durch den Umgang mit objektorientierten Sprachen etabliert haben - teilweise ausgedrückt in den Entwurfsmustern, wie sie von Gamma et al. und auch anderen beschrieben wurden. Da Sprachen unser Denken beeinflussen, beeinflusst Java unser Denken über objektorientierte Entwürfe. In diesem Seminar wird dieser "Java- Horizont" etwas geweitet.
Die Teilnehmer sollen klassische Entwurfskonzepte der Objektorientierung (insbesondere Entwurfsmuster) kennen und ihre Eignung für konkrete Projekte einschätzen können. Sie sollen die Architektur und die Funktionalität eines konkreten Softwaresystems geeignet vorstellen können und Entwurfsdiskussionen zu Erweiterungen des Systems moderieren können.
In diesem Seminar wurde über die letzten Jahre ein innovatives Lehrkonzept weiterentwickelt, das speziell für die Vermittlung von Software-Entwurfskonzepten entworfen wurde: Teachlets. Ein Teachlet ist eine interaktive Lehreinheit, in der ein lauffähiges Stück Software um eine klar definierte Funktionalität erweitert werden soll, um ein Programmiersprachkonzept oder ein Entwurfsmuster zu veranschaulichen. Ein Moderator motiviert mit Hilfe eines Rechners und einem Beamer das Ausgangssystem sowie die vorzunehmende Erweiterung und lässt sich dann von den Teilnehmern anleiten, die dazu notwendigen Änderungen am Quelltext durchzuführen. Durch den praktischen Umgang soll ein größerer Lerneffekt als mit rein theoretischen Diskussionen bei den Teilnehmern erzielt werden.
In diesem Seminar werden Teachlets nicht nur durchgeführt, die Teilnehmer können auch selbst Teachlets entwerfen. Das Seminar wird auf diese Weise zu einer Teachlet-Werkstatt.