CS 552: Semantik von Programmiersprachen
12 113 11552 Semantik von Programmiersprachen
Prof. Dr. R. Loogen
Dienstags, 16.15 - 18.00 Uhr, LE HS IV (Lahnberge), Mittwochs, 16.15 - 18.00 Uhr, LE HS IV (Lahnberge)
Beginn: 13. April 2010
Übungen Mischa Dieterle
Donnerstags, 12 - 14 Uhr, LE HS II (Lahnberge)
Beginn: 22. April 2010

Achtung: Am Donnerstag, dem 24. Juni 2010, fällt die Übung aus, weil Mischa Dieterle krank ist!
Bitte melden Sie sich über diesen Link online zur Vorlesung an!
Fachgebiet Klassifikation Semester Leistungspunkte (ECTS) Skript
Theoretische Informatik Hauptstudium >=5 9

Voraussetzungen: Programmierkenntnisse, Mathematische Grundkenntnisse
Scheinkriterien: Voraussetzungen für einen unbenoteten Schein:
  1. aktive Teilnahme an den Übungen
  2. erfolgreiche Bearbeitung von mindestens 50 % der Übungsaufgaben
  3. Vorbereitung und mündliche Präsentation mindestens einer Übungsaufgabe
Für einen benoteten Schein bzw. eine Modulbescheinigung muss zusätzlich ein Kolloquium (mündliche Abschlussprüfung) bestanden werden.
Termine:
  • Prüfungsanmeldung: 15. - 17. Juni 2010
  • Kolloquiumstermine: 21. und 22. Juli 2010


Übungsblätter: ...erscheinen dienstags. Die Aufgaben sind am darauffolgenden Dienstag abzugeben.

Blatt 1, 13.04.2010
Blatt 2, 20.04.2010
Blatt 3, 27.04.2010
Blatt 4, 04.05.2010
Blatt 5, 12.05.2010
Blatt 6, 18.05.2010
Blatt 7, 25.05.2010
Blatt 8, 08.06.2010
Blatt 9, 15.06.2010
Blatt 10, 22.06.2010
Blatt 11, 29.06.2010
Blatt 12, 06.07.2010


Literatur:
  • Hanne Riis Nielson, Flemming Nielson: Semantics with Applications - A Formal Introduction, Wiley 1992.
    Da das Nielson-Buch nicht mehr lieferbar ist, haben die Autoren 1999 eine überarbeitete Version veröffentlicht.
  • Glynn Winskel: The Formal Semantics of Programming Languages, MIT Press 1993.
  • K. Slonneger, B. Kurtz: Formal Syntax and Semantics of Programming Languages, Addison-Wesley 1995.
  • Elfriede Fehr: Semantik von Programmiersprachen, Springer 1989.
Zusatzmaterial: Folien aus erster Vorlesung
Mitschrift der aktuellen Vorlesung von Florian Pfeiffer


Inhalt: Es werden verschiedene Ansätze zur formalen Beschreibung der Bedeutung (Semantik) von Programmiersprachen vorgestellt. Formale Semantikmodelle unterstützen das Verständnis von Programmiersprachen und die Entwicklung von Compilern. Unsicherheiten bei der Umsetzung von Algorithmen können verhindert werden. Fehlende Details, Mehrdeutigkeiten und Inkonsistenzen können frühzeitig erkannt und beseitigt werden. Korrektheitsbeweise für Programme und Compiler basieren auf einer formalen Semantik. Grundsätzlich unterscheidet man drei verschiedene Ansätze, die in der Vorlesung anhand der einfachen imperativen Modellsprache While eingeführt werden:
  • Operationelle Semantiken: Beschreibung von Berechnungen
  • Denotationelle Semantiken: Beschreibung des Ein-/Ausgabeverhaltens
  • Axiomatische Semantiken: Angabe von Aussagen über Programmeigenschaften
Es werden auch weiterführende Techniken für funktionale und objektorientierte Sprachen und die Beschreibung von Nichtdeterminismus und Parallelität behandelt.


Zuletzt geändert: Wednesday, 14-Jul-2010 15:51:14 CEST