Kurs 01814 - Winter 2014/15
Objektorientierte Programmierung
- Autoren/innen: Univ.-Prof. Dr. Friedrich Steimann
- SWS: 4 , WS 2014/15
- Dauer: 1 Semester
- Angebot: jedes Sommersemester
- Übung: 2 SWS
- Prüfung: mündliche Prüfung, Klausurersatzgespräch (Leistungsnachweis)
Betreuung:
- Dr. Daniela Keller
E-Mail: daniela.keller
Tel.: +49 2331 987-2794 - Friedrich Steimann
Veranstaltungsbezogene E-Mail:
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.
- Studienmaterial: Kurstext (VU)
- Letzte grundlegende Überarbeitung: WS 2007/2008
- Nächster geplanter Einsatz: WS 2015/16
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
Nr. | Titel | Aufgaben (VU PDF) | Lösungen (VU PDF) |
---|---|---|---|
Kurstext | |||
Vorkurs | |||
Vorkurs Pharo | |||
1 | Grundkonzepte der objektorientierten Programmierung | Übung 1 | Musterlösung 1 |
2 | Systematik der objektorientierten Programmierung | Übung 2 | Musterlösung 2 |
3 | Typen in der objektorientierten Programmierung | Übung 3 | Musterlösung 3 |
4 | Java | Übung 4 | Musterlösung 4 |
5 | Andere objekorientierte Programmiersprachen | Übung 5 | Musterlösung 5 |
6 | Probleme der objektorientierten Programmierung | Übung 6 | Musterlösung 6 |
7 | Objektorientierter Stil | Übung 7 | Musterlösung 7 |
Weitere Informationen
- Informationsschreiben zum Kurs im WS 14/15 (PDF 220 KB)
- Informationsschreiben zur Klausur im WS 14/15 (PDF 117 KB)
- Versionsliste des Kurses in der LVU
- Kontaktlisten für Studierende
- Videotutorials zu Smalltalk-Systemen