Programmiersprachen und Übersetzerkonstruktion
Institut für Informatik
Technische Fakultät, Christian-Albrechts-Universität zu Kiel
space  
 

Funktionale Programmierung

Dozenten

Frank Huch, Jan Christiansen

Aktuelles

Am Freitag, den 25. Juli um 20 Uhr findet ein Abschlusstreffen in der Forstbaumschule statt. Ich würde mich freuen, wenn viele von euch dabei sind und möchte hiermit insbesondere diejenigen einladen, die in letzter Zeit seltener in der Vorlesung / Übung gesehen wurden.

Daten

Vorlesung, 4 SWS, ECTS-Studium, ECTS-Credits: 8,0, Modul: MS0304; Fachgebiet: Praktische Informatik
Zeit und Ort: Mo, 14:15 - 15:45, LMS2 - R.Ü1; Do 12:15 - 13:45, LMS2 - R.Ü1 vom 14.04.2008 bis 17.07.2008

Übung, 2 SWS
Zeit und Ort: Mi, 14:15 - 15:45, LMS2 - R.Ü2 vom 16.04.2008 bis 16.07.2008

Inhalt

Die Vorlesung gibt eine ausführliche Einführung in die funktionale Programmierung. Neben den Grundlagen (Lambda-Kalkül, Semantik, Polymorphismus) werden auch weiterführende Konzepte moderner funktionaler Sprachen vorgestellt. Hierbei liegt der Schwerpunkt auf dem praktischen Einsatz funktionaler Sprachen. Geplante Themen sind: effiziente Algorithmen und Datenstrukturen, Programmiertechniken, Parserkombinatoren, nebenläufige Programmierung, verteilte Programmierung, Debugging und Profiling.

Bei diesen Themen werden in der funktionalen Programmierung zum Teil andere Ansätze als in imperativen Sprachen gewählt. Es zeigt sich häufig aber auch, dass diese Ansätze auch im imperativen/objektorientierten Kontext tragen und zu verständlicherem Code führen.

Hauptsächlich werden wir uns mit der lazy funktionalen Programmiersprache Haskell beschäftigen. Bei der verteilten Programmierung wird außerdem die Sprache Erlang diskutiert.

Skript

Zu einer früheren Version der Vorlesung hat Klaas Ole Kürtz ein Skript erstellt.

Wir überarbeiteten das Skriptes regelmäßig zu jeder Vorlesung und stellen hier immer eine aktualisierte Version zur Verfügung.

Informationen zu den Übungen

Hier finden Sie die Übungszettel, einzelne Musterlösungen und Anmerkungen zu den Übungsaufgaben.
Hier finden Sie das cgi-Skript zu dem folgenden Haskell Programm Sudoku.hs.

Haskell

Die Programmieraufgaben sollen überwiegend in der Programmiersprache Haskell bearbeitet werden. Haskelldateien tragen die Endung .hs und können im Interpreter mit dem Kommando

:l [Dateiname ohne Endung]

geladen werden. Auf den Uni-Rechnern stehen Ihnen dazu Hugs oder der Glasgow Haskell Compiler (ghc) zur Verfügung, die Sie mit

/home/haskell/bin/hugs

beziehungsweise

/home/haskell/bin/ghci

starten können. Weitere Informationen finden Sie auf der Haskell Seite des Instituts. Beide Systeme sind frei verfügbar. Wer die Programmieraufgaben lieber zuhause löst, kann sich eines der Systeme auf seinem eigenen Rechner installieren.

 
Jan Christiansen - jac@informatik.uni-kiel.de
Last modified: 21-Jul-2008, 09:22:29 MEST