Sie befinden sich hier: Termine » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 2 » Funktionale Programmierung in Haskell   (Übersicht)

Funktionale Programmierung in Haskell

Studiengang: Bachelor Inf

Dauer: 30 Minuten

Prüfer: Hans-Jürgen Schneider

Datum: 27.08.2013

Allgemeines

Man bekommt sehr altes Papier von ihm aus seiner Studienzeit or so und einen Stift. Allgemein empfand ich die Atmosphaere als entspannt.

Inhalt

Schneider fragte am Anfang gleich, was einem denn an Haskell so gefaellt. Da will er wirklich nur diese Standartpunkte hoeren (Seiteneffektfrei, Pattern Matching, Streng Typgebunden, alles ist eine Funktion, lazy evaluation). Habe jeden Punkt gleich genutzt, um ein bisschen Wissen loszuwerden. Das nahm er dann auch als Anlass mich mal eine CurryFunktion mit Pattern Matching machen zulassen (elem funktion usw). Dann wurde noch Lambda Kalkuel und Infix Operator gefragt, weil ich mich erst etwas schwer tat zu verstehen, was genau er denn jetzt von mir moechte. Allgemein wartet Schneider nicht lange, wenn man nicht weiterkommt und macht die Aufgabe dann nahezu selbst. Also immer einhacken und zeigen, dass man schon eine grobe Ahnung hat.

Danach wurden die ganzen Standart Dinge gefragt (data, class, instance usw). Ich habe einfach jedes mal aufgeschrieben wie das genau aussieht und erwaehnt was fuer Beschraenkungen es so gibt. Auch bekam ich verschiedene StandBinTree Implementierungen gezeigt und musste erkennen, dass es einmal mit Tupeln und ein anderes mal mit Curry gemacht wurde. Anschliessend kamen wir zu den Zermelo-Fraenkel Ausdruecken. Ich sollte die mal erklaeren und danach seinen cyk Ausschnitt aus der VL verstehen (hauptsaechlich die Zermelo Ausdruecke, nicht explizit was der Algorithmus tut). Irgendtwann musste man auch den Unterschied zwischen map, fmap und rmap erklaeren (Signatur).

Kurz darauf waren auch schon 25 min um, und dann wollte er noch was von den Fallstudien wissen. In meinem Fall aus dem Kapitel „Semantik operationeller Sprachen“. Da Haskell ja eine universelle Sprache ist, muss sie auch Variablen speichern koennen. Dann wollte er von mir die Idee erklaert haben und die Signatur von assign und Store wissen. Ausserdem den ungefaehren Zusammenhang hoeren. Leider will er das wirklich genau 1:1 haben, was mich ein bisschen ueberforderte. Das wars schon. An sich war die Pruefung echt ok und wirklich sehr wenig zu den Fallstudien gefragt.

Vorbereitung

Von neverpanic das tolle Skript ueber die Basic Kapitel. Zu finden unter http://wwwcip.cs.fau.de/~sicslang/ss13/haskell/. Danke nochmal dafuer.

Ansonsten wuensche ich euch viel Erfolg.

Gruss greeny