Diese Veranstaltung vertieft die Kenntnisse der objektorientierten Programmierung am Beispiel der Programmiersprache Java. Der Schwerpunkt liegt auf der Vermittlung von Programmierkonzepten welche in der Entwicklung von großen Softwareprojekten erforderlich sind: Schnittstellen und Komponenten, Daten- und Entitätstypen, Entwurfsmuster, Nebenläufigkeit (Threads). Der abschließende Einblick in die funktionale Programmierung bereitet die Studierenden auf skalierbare Datenverarbeitungssysteme vor.