Logische Programmierung (Sommersemester 2024)

Deklarative Programmierungsprachen bieten aufgrund ihrer formalen Basis Vorteile bei der Erstellung, Wartung und Analyse von Programmen. Neben der funktionalen Programmierung zählt die logisch-relationale Programmierung mit Regeln zu dieser Art von Sprachen. In der Lehrveranstaltung werden Prolog und erste Schritte in Constraint Handling Rules (CHR) vorgestellt, vor allem durch viele Programmierbeispiele.

Lernziele

Ziel der Lehrveranstaltung ist es, die Fähigkeit der Analyse und Lösung von Problemen um die Perspektive des logischen Programmimerparadigmas zu erweitern. Dazu sollen die Studierenden mit den Eigenschaften logischer Programmiersprachen, wie Prolog und Constraint Handling Rules, theoretisch vertraut gemacht werden und praktisch lernen, diese zur Lösung typischer Probleme der Informatik einzusetzen. Zudem soll das Verständnis von Programmiersprachen im Allgemeinen durch die Betrachtung von Konzepten wie deklarativer und operationeller Semantik vertieft werden.

Inhalt

In der Lehrveranstaltung werden Prolog und erste Schritte in Constraint Handling Rules (CHR) vorgestellt, vor allem durch viele Programmierbeispiele.

Prolog

Beispiele, Syntax, deklarative und operationale Semantik, Eigenschaften. Einfache Programme, Rekursion, Listenverarbeitung, Meta-Programmierung, Constraint-Verarbeitung.

Constraint Handling Rules (CHR)

Beispiele, Syntax, deklarative und operationale Semantik, Eigenschaften, Einfache Programme.

Übung

Die Übung findet wöchentlich parallel zur Vorlesung statt und ermöglicht es, praktische Erfahrungen mit logischen Programmiersprachen zu sammeln.

Literatur

  • W. F. Clocksin, C. S. Mellish: Programming in Prolog, Springer, 2003
  • Frühwirth und Abdennadher, Constraint-Programmierung, Springer, 1997
Termine

Vorlesung: Mittwoch, 12-14 Uhr in O27/123

Übung: Donnerstag, 8-10 Uhr in O27/123