Praktikum „Applikative Programmierung“ im WS 06/07

Inhaltsübersicht:

Inhalt des Praktikums

Im Praktikum „Applikative Programmierung“ wird das Programmieren mit der funktionalen Programmiersprache Haskell sowie der logischen Programmiersprache Prolog trainiert. Dazu sind drei Programmieraufgaben zu lösen, zwei haskell- und eine prologbezogene. Eine der Aufgaben beschäftigt sich mit einem Thema aus der Computergrafik und zwei mit Themen der sogenannten Künstlichen Intelligenz.

Voraussetzungen für die Teilnahme

Vorausgesetzt werden lediglich Grundkenntnisse zur funktionalen und logischen Programmierung, wie sie z.B. in der Vorlesung und Übung „Applikative Programmierung“ vermittelt werden. Die notwendigen Kenntnisse zur Computergrafik und zur Künstlichen Intelligenz können ohne weiteres im Rahmen des Praktikums erworben werden.

Organisatorisches

Das Praktikum wird von mir, Wolfgang Jeltsch, betreut. Es erstreckt sich vom 23. Januar 2007 bis Anfang April 2007. Der veranschlagte Arbeitsaufwand ist, wie für Praktika üblich, 120 Stunden.

Immer dienstags im 2. Block finden im Raum EH/212 Praktikumstreffen statt, in denen ergänzendes Wissen vermittelt und über Lösungsansätze gesprochen wird. Die Teilnahme an diesen Treffen ist für alle Praktikumsteilnehmer obligatorisch.

Aufgabenstellungen

Die Aufgabenstellungen befinden sich auf dem Aufgabenblatt.

Richtlinien für die zu erstellenden Programme

Die Haskell-Programme müssen mit einer 6.6er-Version des Glasgow Haskell Compilers und die Prolog-Programme mit einer 5.6er-Version von SWI-Prolog compilierbar sein. Bibliotheken, welche mit dem Glasgow Haskell Compiler bzw. SWI-Prolog mitgeliefert werden, dürfen benutzt werden. Zu diesen zählen insbesondere die Haskell-Bindings für OpenGL und GLUT, welche für die Grafikausgabe und die Ereignisbehandlung der Haskell-Programme Verwendung finden sollten. Weiterhin dürfen durch den Glasgow Haskell Compiler bzw. SWI-Prolog unterstützte Spracherweiterungen benutzt werden. Betriebssystemspezifischer Code ist allerdings zu vermeiden.

Literatur

Hudak, Paul; Peterson, John; Fasel, Joseph: A Gentle Introduction to Haskell 98. 1999 – http://www.haskell.org/tutorial/

Daumé, Hal: Yet Another Haskell Tutorial. 2006 – http://www.cs.utah.edu/~hal/docs/daume02yaht.pdf

Peyton Jones, Simon: Tackling the Awkward Squad: Monadic Input/Output, Concurrency, Exceptions, and Foreign-Language Calls in Haskell. 2001 – http://research.microsoft.com/Users/simonpj/papers/marktoberdorf/

Peyton Jones, Simon (Hrsg.): Haskell 98 Language and Libraries – The Revised Report. Cambridge University Press, 2003 – http://www.haskell.org/haskellwiki/Definition

Peyton Jones, Simon u.a.: The Glorious Glasgow Haskell Compilation System User’s Guide, Version 6.6. 2006 – http://www.haskell.org/ghc/docs/6.6/html/users_guide/index.html

Peyton Jones, Simon u.a.: Haskell Hierarchical Libraries. 2006 – http://www.haskell.org/ghc/docs/6.6/html/libraries/index.html

Marlow, Simon u.a.: The Haskell Performance Resource. 2007 – http://www.haskell.org/haskellwiki/Performance

Panitz, Sven Eric: HOpenGL – 3D Graphics with Haskell. 2004 – http://www.informatik.fh-wiesbaden.de/~panitz/hopengl/

Rammelt, Patrick: 3D-Julia-Fraktale. 2005 – http://user.cs.tu-berlin.de/~rammelt/fractal/index.html

Kurth, Winfried: Skript zur Vorlesung „Computergrafik“, gehalten an der BTU Cottbus im Wintersemester 2004/2005. 2005 – http://www-gs.informatik.tu-cottbus.de/~wwwgs/cg4_vorles.htm

Sterling, Leon; Shapiro, Ehud: The Art of Prolog. MIT Press, 1994

Clocksin, William; Mellish, Christopher: Programming in Prolog. Springer, 1994

Wielemaker, Jan: SWI-Prolog 5.6.25 Reference Manual. 2007 – http://gollem.science.uva.nl/SWI-Prolog/Manual/

Kontakt

Raum: EH/202
Telefon: 69-3822
E-Mail: jeltsch@informatik.tu-cottbus.de

Wolfgang Jeltsch

letzte Änderung am 30.01.2007 um 12.15 Uhr