Theorie und Implementation objektorientierter Programmiersprachen (PG)

Hauptstudium, PG
SS 2002
Vorlesung: Di, 10-12, Andreas Abel
Übung: Mo, 10-12, Andreas Abel
Schein: ja
SWS: 2 Vorlesung + 2 Übung


Aktuelles

Organisatorisches

 TagZeitOrtBeginnDozent
VorlesungDi10.15 - 12.000.15 (Oettingenstr. 67)16.04.02Andreas Abel
ÜbungMo10.15 - 12.000.15 (Oettingenstr. 67)22.04.02Andreas Abel
SprechstundeMo13.30 - 14.30D1.09 (Oettingenstr. 67) Andreas Abel

FürHaupt- und Nebenfach Informatik
PrüfungsbereichPG
VorkenntnisseGrundkenntnisse in objektorientierter Programmierung
Scheingilt für Diplomprüfung im Haupt- oder Nebenfach Informatik
ScheinerwerbMündliche Prüfung am Ende des Semesters mit Zulassungsvoraussetzung (50% Übungspunkte).
PrüfungstermineDi, 30.07.02, 10:00-12:00
Mo, 19.08.02, 10:00-12:00
Abschlussaufgabe Alternativ kann der Schein durch Lösung und informellen Präsentation der Abschlussaufgabe erworben werden, welche in der Implementation eines kleinen Interpreters mit Typ-Prüfer besteht. Abgabe: 19. September 2002

Ziel

Am Beispiel von JAVA werden wesentliche Konzepte der objektorientierten Programmierung im Detail beleuchtet. Am Ende der Vorlesung wird der Hörer in der Lage sein, für eine substanzielle Teilsprache von JAVA einen Interpreter zu implementieren. Dieser Interpreter wird typ-sicher sein, d.h. er weist statisch (vor der Ausführung des Codes) auf Typfehler (Class Cast Error) hin, die zu Programm-Abstürzen führen können. Im Verlauf der Vorlesung werden dem Hörer genügend Kenntnisse vermittelt, so dass er die Typsicherheit des Interpreters mathematisch beweisen kann.

Inhalt

  • Elementare funktionale Programmierung
    • Auswertung
    • Typisierung
    • Sicherheitseigenschaften: Typerhaltung und Fortschritt
  • Erweiterungen und imperative Konzepte
    • Wertzuweisung
    • Rekursion
    • Records und Variants
  • Prinzipien der Objektorientierung
    • Datenabstraktion (Interfaces)
    • Subtyping
    • Vererbung und späte Bindung
  • Featherweight JAVA

Literatur

Benjamin Pierce, Types and Programming Languages, MIT Press, 2002.

Skript zur Vorlesung (unvollständig und vorläufig).


Valid HTML 4.01!
AndreasAbel
Last modified: Tue Oct 1 15:31:58 CEST 2002
Valid CSS!