Kurs 01814 - SoSe 2019

Objektorientierte Programmierung

Betreuung:

Veranstaltungsbezogene E-Mail:

steimann

Voraussetzungen

Belegung des Kurses 01613 (imperative Programmierung) ist günstige Voraussetzung. Die Belegung des Kurses 01618 (Einführung in die objektorientierte Programmierung) ist hilfreich, aber keine Bedingung.

Kurzbeschreibung

Die meisten der heute verwendeten Programmiersprachen sind in der einen oder anderen Form objektorientiert. Doch was heißt „objektorientiert“ eigentlich? Dieser Kurs vermittelt die Grundlagen objektorientierter Programmierung, so wie wir sie heute kennen. Er greift dazu auf Programmiersprachen zurück, die diese Grundlagen in besondere Weise verdeutlichen. Dabei geht es um objektorientierte Konzepte und nicht um die Sprachen selbst: Da in der Praxis die verwendete Sprache das Denken in erheblichem Maße beeinflusst, soll wenigstens im Studium das objektorientierte Denken zuerst kommen. Nur so kann sich das Vermögen entwickeln, Programmiersprachen auf ihre Eignung hin zu beurteilen und für einen bestimmten Zweck auszuwählen. Dafür ist es allerdings insbesondere für diejenigen, die schon die eine oder andere objektorientierte Programmiersprache kennen, zunächst notwendig, Abstand vom Bekannten zu gewinnen.

Der Kurs führt die objektorientierte Programmierung anhand der Programmiersprache Smalltalk ein, die nicht nur diejenige war, die die objektorientierte Programmierung populär gemacht hat, sondern die auch durch eine besonders direkte und klare Umsetzung objektorientierter Konzepte besticht. Smalltalk ist schnell und leicht erlernbar, dies nicht zuletzt auch deswegen, weil es kein Typsystem verwendet. Da Typsysteme aber frühzeitig logische Fehler in Programmen aufzudecken erlauben und daher für die kommerzielle Softwareentwicklung als unverzichtbar angesehen werden müssen, führt der Kurs anschließend ausführlich in die Thematik objektorientierter Typsysteme ein. Auf Basis der nunmehr vollständig vorgestellten Grundbausteine objektorientierter Programmierung werden dann verbreitete objektorientierte Programmiersprachen mit ihren jeweiligen besonderen Eigenschaften vorgestellt. Der Kurs widmet sich sodann den häufig ignorierten, aber dennoch nicht zu vernachlässigenden Problemen der objektorientierten Programmierung und schließt mit einer Abhandlung über objektorientierten Programmierstil ab.

Der Kurs richtet sich an Interessierte in fortgeschrittenen Studienabschnitten. Belegung der Kurse 01613 (imperative Programmierung) ist günstige Voraussetzung. Die Belegung des Kurses 01618 (Einführung in die objektorientierte Programmierung) ist hilfreich, aber keine Bedingung.

Achtung: Dieser Kurs ist kein Java-Kurs. Java wird im Kurs 01618 in großer Vollständigkeit abgehandelt. Auch befasst sich dieser Kurs nicht mit Skriptsprachen. Einsende- und Selbsttestaufgaben verlangen die Bereitschaft, in Smalltalk zu programmieren. Ihre Bearbeitung wird dringend empfohlen.

Versandtermine

Titel Aufgaben
1 Grundkonzepte der objektorientierten Programmierung Übung 1 (VU PDF) Musterlösung 1 (VU PDF)
2 Systematik der objektorientierten Programmierung Übung 2 (VU PDF) Musterlösung 2 (VU PDF)
3 Typen in der objektorientierten Programmierung Übung 3 (VU PDF) Musterlösung 3 (VU PDF)
4 Java Übung 4 (VU PDF) Musterlösung 4 (VU PDF)
5 Andere objekorientierte Programmiersprachen Übung 5 (VU PDF) Musterlösung 5 (VU PDF)
6 Probleme der objektorientierten Programmierung Übung 6 (VU PDF) Musterlösung 6 (VU PDF)
7 Objektorientierter Stil Übung 7 (VU PDF) Musterlösung 7 (VU PDF)
12.08.2021