Deskriptive Programmierung, Sommersemester 2012
Für die entsprechende Vorlesung im Sommersemester 2016, siehe hier.
Einträge im Vorlesungsverzeichnis:
Gastvorlesung:
Johannes Waldmann zum Thema "Automatische Analyse von Termination und Komplexität von (funktionalen) Programmen"
Inhaltliche Zusammenfassung:
Die Vorlesung vermittelt gemeinsame Grundlagen deskriptiver Programmiersprachen. Ziel der deskriptiven Prorammierung ist die Vereinfachung des Programmierprozesses. Im Idealfall beschränkt man sich bei diesem Programmierstil auf die Beschreibung eines Problems (das "Was"), während die Operationalisierung der Beschreibung (das "Wie") von der Programmiersprache automatisch geleistet wird. Die beiden wesentlichen Richtungen dieser Programmierform, die logische und die funktionale Programmierung, werden vorgestellt. Wichtige Vertreter der beiden Richtungen, insbesondere Prolog und Haskell, werden in ihren Grundzügen eingeführt und in den Übungen vertieft.
Materialien (Folien, Übungsblätter) zur Vorlesung finden sich auf eCampus.
Lehrbücher:
- Haskell-Intensivkurs, Buch von Marco Block und Adrian Neumann
- Programming in Haskell, book by Graham Hutton
- Learn You a Haskell for Great Good!, book by Miran Lipovaca (freely available online)
- Haskell: the Craft of Functional Programming, book by Simon Thompson
- Learn Prolog Now!, book by Patrick Blackburn, Johan Bos, and Kristina Striegnitz (freely available online)
- Programming in Prolog, book by William Clocksin and Christopher Mellish
- The Art of Prolog, 2nd Edition, book by Leon Sterling and Ehud Shapiro
Online-Ressourcen:
- The Haskell Cheatsheet, by Justin Bailey
- Haskell Kurs, deutsch, von Ralf Hinze
- Haskell homepage
- Functional Programming Fundamentals, online lectures by Erik Meijer (based on Graham Hutton's book): chapter 1, chapter 2, chapter 3, chapter 4, chapter 5, chapter 6, chapter 7, chapter 8, chapter 9, chapter 10, chapter 11, chapter 12, chapter 13
- Commercial Users of Functional Programming
- Commercial Users of Logic Programming
Software:
Weiterführendes Material:
- A History of Haskell: Being Lazy with Class, article by Paul Hudak, John Hughes, Simon Peyton Jones, and Philip Wadler
- Real World Haskell, book by Bryan O'Sullivan, Don Stewart, and John Goerzen (freely available online)
- Advanced Functional Programming, online lectures by Ralf Lämmel: lecture 1, lecture 2, lecture 3, lecture 4, lecture 5
- Curry homepage
- Functional Logic Programming, article by Sergio Antoy and Michael Hanus
Zuletzt geändert: April 2012, Janis Voigtlaender.