Funktionale Programmierung
LVA 185.161, VL 2.0, ECTS 3.0, 2009 W
BDS/W, BSI/P5, BZI/W, ZbGr

(zweistündige Vorlesung mit Laborübung; siehe auch TUWIS++/185.161)

Haben Sie Interesse an einem geförderten Auslandsstudium?

Informationen zu Fördermöglichkeiten finden Sie hier.

 

Anmeldesystem freigeschaltet!

Das elektronische Anmeldesystem ist freigeschaltet (06.10.2009). Sie können sich ab sofort bis einschließlich zum 22. Oktober 2009 für die Teilnahme an der Lehrveranstaltung "Funktionale Programmierung" anmelden. Bis zum 31. Oktober 2009 können Sie sich gegebenenfalls auch wieder abmelden. Nach dem 31. Oktober 2009 gehe ich davon aus, dass Sie die Lehrveranstaltung fest in Ihren Stundenplan aufgenommen haben und sie erfolgreich bis zum Ende besuchen wollen.

Zum Anmeldesystem.

Vorlesungstermine / Hauptklausurtermin

Inhalt

Die Vorlesung gibt eine Einführung in die Grundlagen und Konzepte funktionaler Programmierung. Dabei werden insbesondere die folgenden Prinzipien funktionaler Programmierung vorgestellt und behandelt: und die Umsetzung dieser Konzepte in Haskell.

Ziele

Die Teilnehmer sollen einen Überblick über die wichtigsten Konzepte funktionaler Programmiersprachen bekommen und lernen, diese Konzepte sinnvoll einzusetzen.

Voraussetzungen

Für die Teilnahme an der Lehrveranstaltung gelten die in Abschnitt 1.6 des ab 01.10.2006 gültigen neuen Studienplans niedergelegten Voraussetzungen.

Lehrbehelfe

In der Lehrveranstaltung wird die Programmiersprache Haskell verwendet. Ein Online-Tutorial erklärt die Sprache sehr gut, setzt aber Grundkenntnisse der funktionalen Programmierung voraus. Umfangreiche Informationen zu Haskell finden Sie auch auf der Haskell Home Page. Weitere Literaturhinweise finden Sie auch auf den Folien zur Vorbesprechung der Lehrveranstaltung und im Abschnitt Literaturhinweise. In der Laborübung wird der Haskell-Interpreter Hugs 98 verwendet, der für viele Plattformen verfügbar ist.

Vorlesungsfolien (letzte Aktualisierung: 14.01.2010)

Die Vorlesungsfolien für das WS 2009/10 sind als Gesamtdokument in zwei Formaten verfügbar: (Die Folien werden im Lauf des Semesters bei Bedarf aktualisiert.)

Folien Vorbesprechung

Die Folien zur Vorbesprechung für das WS 2009/10 sind in zwei Formaten verfügbar:

Übungen

Für die Übungsaufgaben werden im Regelfall auch einige Testfälle zur Verfügung gestellt. Diese Testfälle sind in erster Linie dazu gedacht, die erwartete Signatur, insbesondere die Reihenfolge von Parametern deutlich zu machen. Sie können Ihnen nicht ein eigenständiges Testen Ihrer Programme abnehmen. Die Testfälle sind dazu weder gedacht noch geeignet.

Übung
 
Aufgabenblatt vom
Abgabe/Nachabgabe Verfügbare Formate Hinweise und Bemerkungen
16.12.2009 Mi, 13.01.2010 (15:00) /
Mi, 20.01.2010 (15:00)
Blatt 9.pdf
Blatt 9.pdf.gz
Testfälle (Letztes
Aufgabenblatt)
 
08.12.2009 Mi, 16.12.2009 (15:00) /
Mi, 13.01.2010 (15:00)
Blatt 8.pdf
Blatt 8.pdf.gz
Testfälle
Erklärung zu Zeilen und Spalten im Schachbrett und zu Sudokus ergänzt. (11.12.2009)
01.12.2009 Mi, 16.12.2009 (15:00) /
Di, 12.01.2010 (15:00)
Verschoben!
Blatt 7.pdf
Blatt 7.pdf.gz
Testfälle
Berichtigung und Vereinfachung in Aufgabe 1c, 2a und 2b, sowie zugehörigen Testfällen. (11.12.2009)
24.11.2009 01.12.2009 (15:00) /
08.12.2009 (15:00)
Blatt 6.pdf
Blatt 6.pdf.gz
Testfälle
Expr zu VExpr in Aufgabe 6.2 (26.11.2009).
17.11.2009 24.11.2009 (15:00) /
01.12.2009 (15:00)
Blatt 5.pdf
Blatt 5.pdf.gz
Testfälle
Klarstellung in Aufgabe 5.3. (22.11.2009)
10.11.2009 17.11.2009 (15:00) /
24.11.2009 (15:00)
Blatt 4.pdf
Blatt 4.pdf.gz
Testfälle
Tippfehler in Testfall 5 und Teilaufgabe 4 bereinigt. (15.11.2009)
03.11.2009 10.11.2009 (15:00) /
17.11.2009 (15:00)
Blatt 3.pdf
Blatt 3.pdf.gz
Testfälle

24.10.2009 03.11.2009 (15:00) /
10.11.2009 (15:00)
Blatt 2.pdf
Blatt 2.pdf.gz
Testfälle

21.10.2009 27.10.2009 (15:00) /
03.11.2009 (15:00)
Blatt 1.pdf
Blatt 1.pdf.gz
Testfälle

Literaturhinweise

Im Abschnitt Lehrbehelfe finden Sie Hinweise auf einige im Internet frei verfügbare Informationsquellen zum Themenkreis funktionale Programmierung und funktionale Programmierung in Haskell. Daneben gibt es auch eine Fülle von Lehrbüchern zu diesen Themenkreisen. Im folgenden finden Sie eine Auswahl aktueller Lehrbücher, die als begleitende und ergänzende Lektüre zur Lehrveranstaltung und auch zum Selbststudium sehr gut geeeignet sind. Weitergehende Literaturhinweise, auch auf Originalartikel, werden bei Bedarf zusätzlich in der Vorlesung angegeben. Die mit "drei Punkten" abschließende Liste soll Sie ermuntern, auch weitere Literatur zu suchen und auszuwählen, die Sie für sich und Ihren Lerntyp für besonders geeignet halten.

Zeit und Ort

Die Vorbesprechung für das Wintersemester 2009/2010 findet am Donnerstag, den 8. Oktober 2009, von 16:00 Uhr bis 16:30 Uhr im Informatik-Hörsaal in der Treitlstraße 3 statt. Unmittelbar im Anschluss daran findet ebendort die erste Vorlesung von 16:30 Uhr bis 18:00 Uhr statt. Die Anmeldung für die Teilnahme an der Vorlesung erfolgt in den Tagen nach der Vorbesprechung über ein elektronisches Anmeldesystem, das über diese Webseite erreichbar sein wird. Für die Anmeldung wird ein ausreichender Zeitraum zur Verfügung stehen. Die weiteren Vorlesungen finden im Regelfall am Donnerstag von 16:00 Uhr bis 17:30 Uhr ebenfalls im HS 8 Heinz Parkus, am Karlsplatz 13 statt.

Bei Fragen und Problemen

Lesen Sie regelmäßig die Newsgroup tuwien.lva.funktional, und posten Sie darin Fragen zur Lehrveranstaltung, die von allgemeinem Interesse sein könnten. Da die Newsgroup (noch immer) vergleichsweise neu ist, kann sie derzeit vermutlich nur über den Newsserver der TU-Wien (news.tuwien.ac.at) gelesen werden. Nicht für die Öffentlichkeit bestimmte Fragen zur Lehrveranstaltung können Sie per e-Mail an studass@complang.tuwien.ac.at oder an fp2009W@g0.complang.tuwien.ac.at (Achtung: an fp2009W@g0... nur von der g0 aus, nicht von einem anderen Rechner oder von außen!) bzw. direkt an einen Tutor in den Übungsräumen richten.

Anwesenheitszeiten der Tutoren

Ab dem 23. November 2009 wird ein Tutor (bis auf weiteres) an folgenden Tagen und Zeiten im Labor anwesend sein und Ihnen für Fragen zur Verfügung stehen.

Dienstag 12:15 Uhr - 15:15 Uhr (Bernhard Urban)
Donnerstag 09:15 Uhr - 12:45 Uhr (Bernhard Urban)
EXTRATERMIN: Mittwoch, 20.01.2010 09:15 Uhr - 12:45 Uhr (Bernhard Urban)

Anrechenbarkeit

"Funktionale Programmierung" ist für folgende Bakkalaureatsstudien anrechenbar: "Software & Information Engineering" (Pflichtfach, 5. Semester), "Data Engineering & Statistics" (Wahlfach) und "Medizinische Informatik" (Wahlfach).

Prüfungen

Die Beurteilung setzt sich je zur Hälfte aus den Leistungen bei der Laborübung und dem Ergebnis einer 90-minütigen schriftlichen Prüfung (sog. Klausur) zusammen. Der Vorlesungsteil soll dabei bis ca. zum 15. Januar 2010 abgeschlossen sein. Der Haupttermin für die schriftliche Prüfung (90 Minuten) ist Donnerstag, der 21.01.2010, von 16 bis 18 Uhr. Die schriftliche Prüfung erfolgt über den Vorlesungs- und Übungsstoff und einen wissenschaftlichen (Übersichts-) Artikel, den Sie sich rechtzeitig selbstständig im Lauf der Vorlesungszeit erschließen und zwar voraussichtlich Nachtragsklausurtermine wird es zu Beginn, in der Mitte und gegen Ende der Vorlesungszeit im Sommersemester 2010 geben. Die genauen Termine werden rechtzeitig an dieser Stelle bekanntgegeben. Nach Ende der Vorlesungszeit im Sommersemester wird es keine weiteren Nachtragstermine geben. Bis dahin noch nicht ausgestellte Zeugnisse werden dann ausgestellt.

Eine Anmeldung zu den schriftlichen Prüfungen ist jeweils erforderlich und erfolgt über TUWIS++. Genaue Informationen werden rechtzeitig in der Vorlesung und auf der Webseite der Lehrveranstaltung bekanntgegeben.

Beurteilung

Je nach Qualität Ihrer Lösungen der Aufgabenstellungen bekommen Sie Punkte. Maximal 100 Punkte pro Aufgabe sind möglich, wenn Sie die Abgabe rechtzeitig durchgeführt haben. Für Lösungen beziehungsweise Änderungen der Lösungen, die nachträglich (also eine Woche nach dem Fälligkeitstermin) abgegeben wurden, gibt es nur die halbe Anzahl der Punkte, die Sie bei rechtzeitiger Abgabe erreicht hätten. Änderungen der Lösung können die Punkteanzahl nach der Abgabe sowohl positiv als auch negativ beeinflussen. Das heißt, wenn die Lösung durch die Änderung schlechter wird, können auch Punkte abgezogen werden. Ihre Punkte ergeben sich aus folgender Formel: Gesamtpunktezahl = (Punkte für ursprüngliche Lösung + Punkte für nachträgliche Lösung) / 2. Es sind nie weniger als 0 oder mehr als 100 Punkte erreichbar.

Bei z.B. 9 Abgaben im Semester sind maximal 900 Punkte erreichbar. Für eine positive Beurteilung des Laborübungsteils benötigen Sie von den maximal erreichbaren Punkten mindestens 450 Punkte, also 50%, für "Befriedigend" mindestens 562.5 (62.5%), für "Gut" mindestens 675 (75%) und für "Sehr Gut" mindestens 787.5 Punkte (87.5%).

Die Note für den Laborübungsteil bestimmt zur Hälfte die Note der Lehrveranstaltung. Die zweite Hälfte ergibt sich aus der schriftlichen Prüfung. Eine Voraussetzung für eine insgesamt positive Beurteilung ist aber eine positive Beurteilung beider Teile, des Laborübungsteils und des schriftlichen Prüfungsteils.

Vortragender

Jens Knoop.
Sprechstunde
wiederholte LVAs:
Fkt. Programmierung
Opt. Übersetzer
Grundl. meth. Arbeitens
Sonstige
Schnellzugriff
TUWIS++
voriges Semester
voriges Jahr
Lehrbehelfe
Literaturhinweise
Tutoren
Prüfungen
Anrechenbarkeit
top | HTML 4.01 | last update: 2014-05-04 (Knoop)