Seminar Theoretische Informatik - Funktionale Programmierung mit Haskell
- Seminar, Tim Richter, Mario Frank, Do. 10:00-12:00, 3.04.2.01 (gelegentlich in 3.04.1.03)
In diesem Seminar werden vertiefende Themen der theoretischen Informatik und angrenzender Bereiche der Mathematik anhand ausgewählter Literatur besprochen.
Das Thema des SS 2014 ist "Funktionale Programmierung mit Haskell".
Logik und Abstraktion spielen in allen Phasen der strukturierten Softwareentwicklung eine immer bedeutendere Rolle. Funktionale Programmiersprachen mit ausdrucksstarken Typsystemen ermöglichen einerseits die Spezifikation von Entwurfszielen in dem Anwendungsgebiet angepassten, gleichwohl formalen Begriffen, andererseits die Verwendung logisch-formaler Methoden zur Entwicklung von Implementationen, die der Spezifikation beweisbar entsprechen.
Sie werden in diesem Seminar grundlegende Fertigkeiten im Umgang mit der Programmiersprache Haskell erwerben und dabei auch einige wichtige theoretische Konzepte wie Funktionen höherer Ordnung und abstrakte Datentypen kennenlernen. Schliesslich werden Sie ausgewählte einfache Probleme selbständig modellieren, eine formale Problemspezifikation entwickeln, eine Implementation ableiten und durch Verfeinerung effizient machen.
Literatur
Leittexte der Veranstaltung:- Richard Bird, "Introduction to Functional Programming using Haskell", Prentice Hall, 199
- Graham Hutton, "Programming in Haskell", Cambridge University Press, 2007
zu Haskell:
- Miran Lipovaca, "Learn You a Haskell for Great Good!", No Starch
Press, 2011. Freie Online-Version unter http://learnyouahaskell.com/
- Kees Doets, Jan van Eijck, "The Haskell Road to Logic, Maths, and
Programming", Kings College Pubn, 2004
- Bryan O'Sullivan, Don Stewart, John Goerzen, "Real World Haskell",
O'Reilly Media, 2008. Freie Online-Version unter http://book.realworldhaskell.org/
- Simon Thompson, "Haskell: The Craft of Functional Programming", Addison-Wesley Longman, Amsterdam, 3. Auflage, 2011
Theorie:
- Richard Bird, Oege De Moor, "The algebra of programming", Prentice
Hall, 1997
- Jeremy Gibbons, "Calculating Functional Programs"