Modul: Konzepte und Implementierung Objektorientierter Programmiersprachen (6 Credits) | |
---|---|
Name im Diploma Supplement | Concepts and Implementation of Object-Oriented Programming Languages |
Verantwortlich | Prof. Dr. Volker Gruhn |
Voraussetzungen | Siehe Prüfungsordnung. |
Workload | 180 Stunden studentischer Workload gesamt, davon:
|
Dauer | Das Modul erstreckt sich über 1 Semester. |
Qualifikationsziele | Die Studierenden
|
Prüfungsmodalitäten | Zum Modul erfolgt eine modulbezogene Prüfung in der Gestalt einer mündlichen Prüfung (in der Regel: 20-40 Minuten). |
Verwendung in Studiengängen |
|
Bestandteile |
|
Modul: Konzepte und Implementierung Objektorientierter Programmiersprachen (WIWI‑M0218) |
Vorlesung: Konzepte und Implementierung Objektorientierter Programmiersprachen (3 Credits) | |||
---|---|---|---|
Name im Diploma Supplement | Concepts and Implementation of Object-oriented Programming Languages | ||
Anbieter | Lehrstuhl für Software-Engineering, insb. mobile Anwendungen | ||
Lehrperson | Dr. Stefan Hanenberg | ||
Semesterwochenstunden | 2 | Sprache | deutsch |
Turnus | Wintersemester | maximale Hörerschaft | ###LABEL_NOLIMIT### |
empfohlenes VorwissenGrundlegende Kenntnisse einer objektorientierten Programmiersprache (z.B. Java) | |||
LehrinhalteDie Objektorientierung spielt heutzutage in sehr vielen Bereichen der Softwareentwicklung eine entscheidende Rolle. So genannte „Enterprise-Frameworks“, welche für eine Vielzahl von Diensten verantwortlich sind, die in den heutigen „Business-Applications“ zum Einsatz kommen, basieren massiv auf objektorientierten Konzepten. Somit ist die Studie der zugrunde liegenden objektorientierten Konstrukte eine wichtige Vorraussetzung um die entsprechenden Frameworks und ihre Architekturen zu verstehen und anzuwenden.Der Begriff der Objektorientierung vereinigt auf Programmiersprachenebene eine Menge von Konzepten, die in unterschiedlichen Programmiersprachen unterschiedliche Ausprägungen finden. Als Beispiel sei an dieser Stelle die Vererbung genannt, welche in unterschiedlichen Sprachen unterschiedlich implementiert ist (Einfachvererbung vs. Mehrfachvererbung, objektbasierte vs. klassenbasierte Vererbung, static dispatching vs. dynamic dispatching, multidispatching, etc.).Für die Anwendung einer Programmiersprache hat die Existenz bestimmter Konzepte erheblichen Einfluss auf die resultierenden Softwarearchitekturen. So hat zum Beispiel in Java die Nichtexistenz von multidispatching zur Konsequenz, dass der Entwickler gegebenenfalls in seinen Anwendungen Vorkehrungen treffen muss, welche die Ausführung der „richtigen“ Methoden garantieren.Die Vorlesung bietet einen breiten Überblick an unterschiedlichen Konzepten objektorientierter Programmiersprachen und deren Semantik, wobei insbesondere Typsysteme (und deren unterschiedliche Ausprägungen) in den Fokus der Betrachtung gezogen werden. Dazu werden gängige Techniken zur Beschreibung der formalen Semantik von Programmiersprachen (Lambda-Kalkül, Featherweight Java als Model für die Sprache Java, etc.) eingeführt und angewendet. | |||
Literaturangaben
| |||
Vorlesung: Konzepte und Implementierung Objektorientierter Programmiersprachen (WIWI‑C0282) |
Übung: Konzepte und Implementierung Objektorientierter Programmiersprachen (3 Credits) | |||
---|---|---|---|
Name im Diploma Supplement | Concepts and Implementation of Object-oriented Programming Languages | ||
Anbieter | Lehrstuhl für Software-Engineering, insb. mobile Anwendungen | ||
Lehrperson | Dr. Stefan Hanenberg | ||
Semesterwochenstunden | 2 | Sprache | deutsch |
Turnus | Wintersemester | maximale Hörerschaft | ###LABEL_NOLIMIT### |
empfohlenes VorwissenKeines | |||
LehrinhalteIm Rahmen der Übung zur Vorlesung werden zum einen die in der Vorlesung behandelten Konzepte praktisch eingesetzt, als auch die Beschreibungstechniken der Sprachkonzepte angewendet. Konkret werden unter anderem das Dispatch-Verhalten von Java, Smalltalk und CLOS angewendet als auch das Typsystem für Featherweight Java eingesetzt. | |||
LiteraturangabenSiehe Literaturangaben der Vorlesung. | |||
Übung: Konzepte und Implementierung Objektorientierter Programmiersprachen (WIWI‑C0281) |