Uni-Logo

Proseminar: Funktionale Programmierung in Haskell

Leitung:Prof. Dr. Peter Thiemann
Mitwirkung:Annette Bieniusa
Ort und Zeit:Montag 13:30-16 Uhr, Geb. 051 Raum 00-006 Montag, 16.02., 14:15-16:00 Uhr, Geb. 051 Raum 00-006

Beschreibung

Das Proseminar beschäftigt sich der Idee der funktionalen Programmierung. Dieses Programmierparadigma betrachtet jede Berechnung als Auswertung einer mathematischen Funktion. Die Kombination und Transformation dieser Funktionen nimmt dabei eine bedeutende Stellung ein.

Als Beispiel für die Umsetzung dieser Konzepte in einer Programmiersprache dient die Sprache Haskell.

Das Proseminar wird im ersten Teil eine Einführung in Haskell geben. Diese wird durch praktische Übungen ergänzt und vertieft. Ab Januar stellen die Teilnehmer dann ihre Themen in eigenen Vorträgen vor.

Prüfungsleistung

  • Vorbereitung und Halten eines 30minütigen Vortrags mit anschließender Diskussion
  • Erstellen einer Ausarbeitung (10 - 15 Seiten)
  • Aktive Teilnahme an den Seminarsitzungen
  • Mitwirkung beim Praxisteil

In einem Proseminar werden neben Fachkenntnissen auch Kompetenzen vermittelt, die eine notwendige Grundlage für eine wissenschaftliche Arbeitsweise sind. Dazu gehören:

  • eigenständige Literaturrecherche
  • Lesen und Verstehen von wissenschaftlichen Texten
  • Vortragstechniken
  • Erstellen einer schriftlichen Ausarbeitung

Zeitplan

In den ersten Sitzungen werden wir eine Einführung in die Programmiersprache Haskell geben. Die Folien basieren auf dem Material von Graham Hutton.

DatumThemaMaterial
20.10.08Informationen zur Vortragsgestaltung und AusarbeitungFolien
27.10.08Einführung, Pattern MatchingFolien
03.11.08Typen und TypklassenFolien
10.11.08TypendeklarationenFolien
17.11.08Input/Ouput und MonadenFolien
24.11.08Monadische InterpreterFolien, interpreter.hs

Für den Vortragsteil durch die Teilnehmer ist folgender aktualisierter Zeitplan vorgesehen:

DatumThemaVortragenderBetreuenderAbgabe
12.01.2009Data Parallel HaskellFlorian GeißerAnnette Bieniusa05.01.2009
12.01.2009Concurrent HaskellSven WirtzAnnette Bieniusa05.01.2009
12.01.2009Software Transactional MemoryFadi SalamehStefan Wehr05.01.2009
02.02.2009ParsingFelix AtmanspacherAnnette Bieniusa19.01.2009
02.02.2009QuickCheck und SmallCheckPhilipp LercheStefan Wehr19.01.2009
02.02.2009ContractsTim SchulteStefan Wehr19.01.2009
09.02.2009Functional Reactive AnimationSebastian DufnerProf. Thiemann26.01.2009
09.02.2009Probabilistic Functional ProgrammingMirko BrodesserAnnette Bieniusa26.01.2009
09.02.2009Foreign Function InterfaceThorsten EngesserProf. Thiemann26.01.2009
16.02.2009Scrap your BoilerplateMihail BorisovStefan Wehr02.02.2009
16.02.2009Generic for the MassesRoland HedigerAnnette Bieniusa02.02.2009
Wichtig!!!
  • Die Vorträge beginnen bereits um 13:30.
  • Bitte vereinbaren Sie mit Ihrem Betreuer einen Termin für eine erste Besprechung vor der Weihnachtspause.
  • Der Abgabe-Termin bezieht sich auf die Abgabe einer vorläufigen Version der Vortragsfolien und der Ausarbeitung (spätestens zwei Wochen vor dem Vortrag).
  • Eine Woche vor dem Vortrag müssen die überarbeiteten Folien dann dem Betreuer vorgelegt werden.
  • Die endgültige Abgabe der Ausarbeitung erfolgt dann zum Vorlesungsende (22.02.2009!!).

Themen

Für die Vortragsthemen finden Sie hier eine Übersicht zu relevantem Material. Arbeiten Sie dieses bitte zunächst selbständig durch. Bei Fragen wenden Sie sich direkt an Ihren Betreuer!

Ausarbeitung

Die Ausarbeitung soll 10-15 Seiten umfassen. Sie muss mit

LaTeX, Dokumentklasse article und einer Schriftgröße von 11 Punkten

erstellt werden.

Material

Diese Seiten können als erster Startpunkt für die Literaturrecherche dienen:

Eine gute allgemeine Einführung in Haskell bietet Programming in Haskell von Graham Hutton.

Weiterführende und praxisrelevante Themen finden sich in Real World Haskell Bryan O'Sullivan, Don Stewart und John Goerzen.