Nichtprozedurale Programmierung (2V + 1Ü)
Sommersemester 1997
Dr. Georg Schied
Inhalt
Unter nichtprozeduralen Programmiersprachen, manchmal auch als
"very-high-level-languages" bezeichnet, versteht man Sprachen, bei
denen im Gegensatz zu konventionellen, prozeduralen Sprachen nicht die
maschinennahen Konzepte der Wertzuweisung und des Kontrollflusses die
Basis bilden, sondern von abstrakteren Ausführungsmodellen
ausgegangen wird.
In dieser Vorlesung werden unterschiedliche Ausprägungen der
nichtprozeduralen Programmierung vorgestellt. Betrachtet werden
jeweils die zugrundeliegenden Programmierparadigmen,
theoretische Grundlagen, typische Anwendungen sowie Fragen der
Sprachimplementierung.
-
Funktionale Programmierung: Programmiersprache Haskell,
Lambda-Kalkül, Programmieren mit Funktionen höherer Ordnung,
Interpretation funktionaler Programme, polymorphe Typen,
Lazy evaluation und unendliche Datenstrukturen,
Graphreduktion.
-
Logische Programmierung: Programmiersprachen Prolog und Gödel,
Unifikation und Resolution, Interpretation von Logikprogrammen,
Ablaufkontrolle, Negation in Logikprogrammen
-
Funktional-logische Programmierung: Programmiersprache Alf,
Implementierungsstrategien, Narrowing-Verfahren
-
Programmieren mit Constraints: Die Sprache CLP(R),
Constraint-logic-programming, Interpretation von
Constraint-Programmen, Lösungsmethoden für Constraints,
(evtl. auch "concurrent constraint programming")
Vorlesung-Folien
Voraussetzungen
Die Vorlesung richtet sich an Informatikstudentinnen und -studenten im Hauptstudium
sowie an Studierende anderer Fachrichtungen (z.B. Technische
Kybernetik,Computerlinguistik, Mathematik), die über
Informatikgrundkenntnisse
verfügen
Termine
-
Vorlesung: Donnerstag, 8.30-10.00 Uhr, Raum 1.026
erste Vorlesung am 17. April 1997
-
Übungen: Montag, 10.15 - 11.45 Uhr, Hörsaal V20.04,
(14-tägig)
Weiterführende Informationen
schied@informatik.uni-stuttgart.de
Last modified: Fri May 15 16:37:20 MET DST 1998