Praktikum BKSPP-PR (WS 2014/15)

Dr. David Sabel

Aktuelles

Update zu Aufgabenblatt 4

Neuere Versionen von Yesod kennen den Key-Konstruktor und die unKey-Funktion nicht mehr, wie sie in den Beispielen in der Anleitung verwendet wurden, um Schlüssel in Integer-Werte und umgekehrt zu konvertieren

Eine Abhilfe für neuere Versionen ist die Module



zu importieren und anschließend



zu verwenden, um Schlüssel und Integer-Werte zu konvertieren.

Termine für die Gruppen-Präsentationen zu Blatt 3 (in Raum 216):

  • Gruppe A: Donnerstag, 18.12 um 17.00h
  • Gruppe B: Freitag, 19.12. um 14.00h
  • Gruppe C: Dienstag, 16.12. um 17.00 h
  • Gruppe D: Donnerstag, 18.12. um 14.00 h
  • Gruppe E: Dienstag, 16.12. um 16.00 h

Hinweise und Tipps zu Blatt 1

  • Listenfunktionen und Integer vs. Int:
    Da die Länge des Alphabets als Integer und nicht als Int berechnet werden muss, empfiehlt es sich anstelle der Funktionen length und (!!) die generischen Varianten genericLength und genericIndex aus der Bibliothek Data.List zu verwenden.

    Z.B. kann man dies auch bewerkstelligen durch:



    Hierdurch werden die Standarddefinition für length und (!!) durch die generischen Varianten ersetzt.
  • Fehler beim Schreiben von Dateien:
  • Sollte Schreiben der Dateien ein Fehler der Art "Exception: ... commitBuffer: invalid argument " auftreten, so liegt dies daran, dass der GHC mit einem anderen Datei-Format schreibt, als gewünscht.
    Abhilfe kann dadurch geschaffen werden, angepasste Versionen von readFile und writeFile zu verwenden, die die Kodierung auf latin1 setzen (hierfür muss die Bibliothek GHC.IO.Encoding importiert werden:



Inhalt des Praktikums im WS 2014/15

Im Praktikum wird es mehrwöchige Aufgaben geben, die in Gruppenarbeit bearbeitet werden. Die Implementierungen werden dabei in der funktionalen Programmiersprache Haskell angefertigt.

Grundlegende Kenntnisse dieser Programmiersprache, wie sie in der Veranstaltung Grundlagen der Programmierung 2 vermittelt werden, werden vorausgesetzt.

Empfehlenswert ist es, die Veranstaltung Einführung in die funktionale Programmierung vor Teilnahme an diesem Praktikum zu besuchen.

Anmeldung

Zur Teilnahme war eine Anmeldung bis zum 26. September erforderlich. Alle Plätze sind vergeben.

Regelmäßiges Treffen

Di 14:00-16:00 Seminarraum 307

Anleitung und Aufgaben

Anleitung

Die Anleitung zum Praktikum ist hier verfügbar. Sie enthält Informationen zum Organisatorischen sowie ein Kapitel "Hintergrundwissen", welches einige wichtige Themen zu Haskell, CVS, etc. zusammenfasst.

CVS mit Eclipse

Screenshots zum Arbeiten mit CVS unter Eclipse sind hier zu finden.

Aufgaben

Es wird mehrwöchige Aufgaben geben, die in Gruppenarbeit bearbeitet werden.
  • Blatt 1 (blatt1.pdf) ist bis 28. Oktober zu bearbeiten
  • Blatt 2 (blatt2.pdf) ist bis 18. November zu bearbeiten
  • Blatt 3 (blatt3.pdf) ist bis 16. Dezember zu bearbeiten
  • Blatt 4 (blatt4.pdf) ist bis 10. Februar zu bearbeiten

Folien

Material

Zu verwendeten Programmiersprache Haskell:

Informationen für einzelne Studiengänge

Bachelor

  • Die Veranstaltung ist Pflichtveranstaltung des Vertiefungsmoduls B-BKSPP-PR (8 CP).
    Das Modul B-BKSPP-PR ist Wahlpflichtmodul im Vertiefungsgebiet BKSPP.

$Author: sabel $, $Date: 2015/01/12 17:16:25 $

uni ffm © 1997, 2004