Lehrstuhl Informatik II   
Sprachen und Beschreibungsstrukturen      
   Home Lehre Wintersemester 17/18 Vorlesungen Einführung in die Informatik 2 - Funktionale Programmierung und Verifikation login

Einführung in die Informatik 2 - Funktionale Programmierung und Verifikation

Dozent:Prof. Dr. Helmut Seidl
Ort/Zeit:Freitag, 08:25 - 9:55 Uhr / MW 0001 Gustav-Niemann-Hörsaal
ModulNummer:IN0003
Beschreibung:    Die Veranstaltung gibt eine Einführung in die funktionale Programmierung mit OCaml, sowie die Verifikation von imperativen und funktionalen Programmen.

(Hinweis: Diese Seite wird in den nächsten Tagen regelmäßig erweitert und aktualisiert. Letzte Aktualisierung: 15.11.17, 15:20)
(Achtung: Diese Seite kann Spuren von Kamelen enthalten.)

Wichtige Informationen

Die Zentralübung zum Thema "Schleifeninvarianten" findet am Freitag den 24.11.2017 um 16:00 Uhr im Hörsaal 1 (Friedrich L. Bauer) statt. Die Sprechstunde endet an diesem Tag bereits um 16:00 Uhr.

Bitte bereiten Sie Ihre OCaml Installation vor. Informationen und Hilfe dazu finden Sie auf Moodle, sowie Piazza!

Inhalt

  • Korrektheit imperativer Programme
  • Grundbegriffe funktionalen Programmierens mit Ocaml
    • Werte, Variablen, Funktionen
    • Datenstrukturen, Pattern Matching
    • Höhere Funktionen
    • Polymorphe Typen
    • Schlangen
  • Programmieren im Großen: Strukturen und Funktoren
  • Korrektheit funktionaler Programme
  • Nebenläufigkeit mit Kanälen und Rendezvous.

Vorlesung

Die Vorlesung findet Freitags von 08:30 bis 10:00 Uhr im Hörsaal MW0001 (Gustav-Niemann-Hörsaal) im Maschinenbau-Gebäude statt.

Übungsbetrieb

Um die Themen der Veranstaltung zu üben und zu vertiefen, wird die Vorlesung von Tutorübungen begleitet.

Übungsleitung

Für die Übungsleitung sind in diesem Semester Nico Hartmann und Ralf Vogler verantwortlich.

Bitte zögern Sie nicht uns bei Fragen oder Problemen jederzeit zu kontaktieren.

Zentralübungen

Am Freitag den 24.11.2017 findet um 16:00 Uhr eine Zentralübung zum Thema "Schleifeninvarianten" im Hörsaal 1 (Friedrich L. Bauer) statt. Wir möchten mit Ihnen noch einmal die wichtigsten Punkte der Schleifeninvarianten wiederholen und Ihnen darüber hinaus nützliche Tipps und Tricks zum Finden der Invariante geben. Wir wollen das an typischen Beispielen vorführen und gemeinsam durchrechnen. Wir werden außerdem darauf eingehen, wie Sie die lokale Konsistenz zeigen können sobald Sie die Invariante einmal gefunden haben und auch dabei noch einmal auf Situationen eingehen, die dabei häufig vorkommen. Die Sprechstunde endet an diesem Tag bereits um 16:00 Uhr.

Übungsgruppen

Um besser auf Ihre individuellen Bedürfnisse eingehen zu können, bieten wir in diesem Semester zwei Arten von Übungsgruppen an (deren Benennung Sie im Laufe der Veranstaltung noch verstehen werden):

  • Dromedar-Gruppen setzen den Fokus der Tutorübung auf die Einübung und Vertiefung des Vorlesungsstoffs. So werden zum Beispiel erlernte Grundlagen und Techniken intensiv eingesetzt und erweitert um Aufgaben der Typen Steppe und Wüste (mehr dazu siehe Übungsaufgaben) zu lösen. Die Lösungen der Oase-Aufgaben werden in der Regel nur recht kurz besprochen.
  • Lama-Gruppen richten sich an Teilnehmerinnen und Teilnehmer, die größere Schwierigkeiten mit dem Vorlesungsstoff haben, und sollen durch verstärktes Wiederholen und Üben eine Hilfestellung beim Erlernen und Festigen der Grundlagen bieten. Dazu werden Oase- und Steppe-Aufgaben intensiver bearbeitet und besprochen. Aufgaben des Typs Wüste werden nur optional behandelt.

Zwischen den beiden Gruppen können Sie jederzeit wechseln. Sollten Sie also einmal mit einem Übungsblatt oder einem Thema mehr Schwierigkeiten haben, können Sie dafür in eine Lama-Gruppe wechseln. Oder wenn Sie ein geübter Programmierer sind, so können Sie in den Wochen, in denen sich die Vorlesung mit OCaml beschäftigt, einfach in eine Dromedar-Gruppe wechseln. Der Besuch einer anderen Übungsgruppe, als diejenige, für die Sie angemeldet sind, ist ebenfalls gestattet. Sollte einmal die Situation eintreten, dass die Arbeitsplätze in einem Übungsraum nicht mehr ausreichen, so erhalten allerdings die für diese Übung angemeldeten Teilnehmer den Vorzug. Geben Sie daher im Matchingsystem derjenigen Gruppe den Vorzug, die Sie glauben am regelmäßigsten zu besuchen.

Der Übungsbetrieb beginnt in der 2. Vorlesungswoche (also am Mo, 23.10.2017).
 
Es stehen für Sie die folgenden Übungsgruppen zur Verfügung (EN Gruppen werden in englischer Sprache gehalten), wobei Sie die genaue Uhrzeit der 90-minütigen Übung innerhalb des 2-Stunde-Slots mit ihrem jeweiligen Tutor absprechen:

(Hinweis: Kürzlich aktualisierte Einträge sind entsprechend hervorgehoben. Außerdem können Sie dem Status-Feld entnehmen ob eine Übung zur Zeit noch einige freie Plätze bietet, bereits recht voll oder schon überfüllt ist.)

Gruppe Status Termin Raum Typ Tutor
A.12.1   Mo, 12:00-13:30 Uhr 00.13.054 Lama Fabian Kilger
A.12.2   Mo, 12:00 - 13:30 Uhr 00.08.059 Dromedar Felix Wechsler
A.16.1   Mo, 16:00 - 17:30 Uhr 03.13.010 Lama Nico Hartmann
A.16.2   Mo, 16:00-17:30 Uhr 02.07.014 Lama Philipp Hagenlocher
A.16.3   Mo, 16:00-17:30 Uhr 00.08.059 Dromedar Anastasiia Izycheva (EN)
B.08.1   Di, 08:15-9:45 Uhr 01.11.018 Dromedar Arne Lochner
B.16.1   Di, 16:00-17:30 Uhr 02.13.010 Dromedar Anastasiia Izycheva (EN)
C.08.1   Mi, 08:30 - 10:00 Uhr 00.13.008 Dromedar Felix Wechsler
C.12.1   Mi, 12-14 Uhr MI HS 2 Dromedar Fabio Carlos Madge Pimentel
C.14.1   Mi, 14:15-15:45 Uhr 00.08.059 Lama Erkin Kirdan (EN)
C.14.2   Mi, 14:15-15:45 Uhr 02.07.014 Dromedar Maximilian Schäffeler
C.16.1   Mi, 16:00-17:30 Uhr 00.08.059 Lama Maximilian Schitteck
C.16.2   Mi, 16:15-17:45 Uhr 00.13.008 Lama Benedikt Seidl
C.16.3   Mi, 16:15-17:45 Uhr 01.11.018 Dromedar Fabio Carlos Madge Pimentel
D.08.1   Do, 08:15-9:45 Uhr 01.11.018 Dromedar Arne Lochner
D.10.1   Do, 10:15-11:45 Uhr 01.11.018 Lama Fabian Hellauer
D.10.2   Do, 10:15-11:45 Uhr 00.11.038 Dromedar Simon Leber
D.12.1   Do, 12:15-13:45 Uhr 00.08.059 Lama Simon Leber
D.12.2   Do, 12:15-13:45 Uhr 00.13.036 Dromedar Fabian Hellauer
D.14.1   Do, 14:15-15:45 Uhr 00.08.059 Lama Benedikt Seidl
D.14.2   Do, 14:15-15:45 Uhr 00.13.036 Dromedar Fabian Kilger
D.16.1   Do, 16:00-17:30 Uhr 00.13.036 Lama Maximilian Schäffeler
D.16.2   Do, 16:00-17:30 Uhr 00.08.059 Dromedar Erkin Kirdan (EN)
E.10.1   Fr, 10:15-11:45 Uhr 00.08.038 Lama Maximilian Schitteck
E.10.2   Fr, 10:15-11:45 Uhr 01.11.018 Dromedar Nico Hartmann
E.12.1   Fr, 12:15-13:45 Uhr 02.07.014 Dromedar Philipp Hagenlocher

Wir behalten uns vor, wenig besuchte Gruppen im Laufe des Semesters zu schließen oder je nach Bedarf den Typ einer Gruppe zu ändern. 

Anmeldung zu den Übungsgruppen

Die Übertragung der Matchingergebnisse nach TUMonline ist nun abgeschlossen. Außerdem wurden alle Teilnehmerinnen und Teilnehmer von Wartelisten in entsprechende Gruppen verteilt, sodass nun alle in einer Gruppe angemeldet sind und damit auch Zugang zum Moodlekurs haben. Studierende, die bis jetzt nicht in TUMonline angemeldet sind (z.B. weil sie das Matching versäumt haben), melden sich bitte in einer Gruppe mit freien Plätzen an.

Es steht Ihnen weiterhin frei eine andere Gruppe zu besuchen, als diejenige für die Sie angemeldet sind. Sollte ein Übungsraum jedoch nicht ausreichend Platz bieten, erhalten Teilnehmerinnen und Teilnehmer, die für diese Gruppe angemeldet sind, den Vorrang.

Tutoren

In diesem Semester werden Sie von folgendem Tutorenteam betreut:

Philipp Hagenlocher philipp.hagenlocher@tum.de
Nico Hartmann nico.hartmann@in.tum.de
Fabian Hellauer hellauer@in.tum.de
Anastasiia Izycheva an.izycheva@tum.de
Fabian Kilger f.kilger@tum.de
Erkin Kirdan erkin.kirdan@tum.de
Simon Leber simon.leber@softleb.de
Arne Lochner arnemartin.lochner@gmail.com
Fabio Carlos Madge Pimentel fabio.madge@tum.de
Maximilian Schäffeler maximilian.schaeffeler@tum.de
Maximilian Schitteck maximilian.schitteck@tum.de
Benedikt Seidl benedikt.seidl@tum.de
Felix Wechsler felix.wechsler@tum.de

Übungsaufgaben

Jede Woche veröffentlichen wir ein Übungsblatt, das Aufgaben zum Üben und Vertiefen des Vorlesungsinhalts bereitstellt. Auf den einzelnen Blättern ist jeweils vermerkt, welche primären Lernziele Sie durch die Bearbeitung der Aufgaben erreichen sollen. Alle Aufgaben sind außerdem einer von drei Kategorien zugeordnet (deren Benennung Sie im Laufe der Veranstaltung noch verstehen werden), die Ihnen dabei helfen sollen die Anforderungen der Aufgabe richtig einzuschätzen. Außerdem soll sie Ihnen ein Gefühl dafür geben, was Sie in der Klausur erwarten müssen:

  • Oase-Aufgaben erfordern von Ihnen, dass Sie gelernte Definitionen und Techniken verstehen, in eigenen Worten wiedergeben und zur Lösung einfacherer Probleme einsetzen können.
  • Steppe-Aufgaben erfordern von Ihnen, dass Sie Gelerntes zur Lösung von neuen Problemen einsetzen oder erlernte Techniken auf neue Beispiele anwenden.
  • Wüste-Aufgaben erfordern von Ihnen, dass Sie sich auf schwierigeres Terrain begeben. Um hier zu bestehen, müssen Sie über das Gelernte hinaus denken und zur Lösung des Problems eigene Ideen aufbringen.

Um die Klausur zu bestehen, müssen Sie in der Lage sein müssen sowohl Oase- als auch Steppe-Aufgaben (zumindest in Teilen) zu lösen. Um eine gute Note zu erzielen, müssen Sie darüber hinaus auch Wüste-Aufgaben lösen.

Die Aufgaben eines Übungsblattes sind außerdem zweigeteilt in Präsenzaufgaben und Hausaufgaben:

  • Präsenzaufgaben (P) werden Sie im Rahmen der Tutorübung bearbeiten und besprechen. Sie dienen der Übung des Vorlesungsstoffs und sollen Sie auf die Bearbeitung der Hausaufgaben vorbereiten. Viele der Übungsblätter werden mehr Präsenzaufgaben enthalten, als in den 90 Minuten der Tutorübung behandelt werden können. Sehen Sie die zusätzlichen Aufgaben als weiteres Material zum selbständigen Üben. Abhängig davon ob Sie eine Lama oder eine Dromedar Gruppe besuchen, wird Ihr Tutor den Fokus auf einen anderen Teil der Aufgaben legen (siehe dazu Übungsgruppen).
  • Hausaufgaben (H) werden von Ihnen eigenständig bearbeitet. Ihre Lösungen können Sie, bis zu dem auf dem Aufgabenblatt angegebenen Datum, in Moodle hochladen. Laden Sie dabei bitte nach Möglichkeit ein einzelnes PDF Dokument hoch, das für den Korrektor gut lesbar ist. Unlesbare Dokumente, Scans bei denen die Hälfte der Lösung abgeschnitten ist und verschwommene Fotos werden von uns nicht bewertet! Ihre Abgaben werden von uns korrigiert und mit Punkten bewertet. Durch das Sammeln dieser Punkte, können Sie sich einen Bonus für Ihre Klausurnote verdienen (mehr dazu unter Notenbonus).

Sofern nicht explizit in der Aufgabe angegeben, sind Gruppenarbeit und Gruppenabgaben ausdrücklich untersagt und können mit Unterschleif geahndet werden.

Lösungen

Die Musterlösungen der Präsenzaufgaben veröffentlichen wir im Anschluss an die letzte Tutorübung der jeweiligen Woche - also am Freitag Nachmittag - in Moodle. Wir möchten jedoch ausdrücklich darauf hinweisen, dass die Musterlösungen niemals die ausführlichen Erklärungen und zusätzlichen Erläuterungen eines Tutors ersetzen können. Deshalb empfehlen wir jeder Teilnehmerin und jedem Teilnehmer der Veranstaltung die Tutorübungen regelmäßig zu besuchen.

Die Lösungen der Hausaufgaben werden nach der Abgabedeadline ebenfalls dort veröffentlicht. Diese enthalten ein grobes Korrekturschema, sodass Sie nachvollziehen können, wofür Sie Punkte bekommen haben.

Notenbonus

Die Regelmäßige Bearbeitung der Hausaufgaben belohnen wir mit einem Notenbonus von 0,3 für die Klausur. Der Bonus kann nur bei bestandener Klausur angerechnet werden. Eine Klausur, in der Sie eine 4,3 geschrieben haben, können Sie also nicht mit Hilfe des Notenbonus bestehen! Der Notenbonus wird auch für die Wiederholungsklausur angerechnet.

Um den Notenbonus zu erhalten, müssen Sie einen bestimmten Prozentsatz der Hausaufgabenpunkte erreichen. Dabei entscheidet nur die Summe Ihrer Punkte über alle Übungsblätter hinweg, nicht ob Sie diesen Prozentsatz in jedem einzelnen Übungsblatt erreicht haben. Den nötigen Prozentsatz legen wir am Ende des Semesters fest. Damit wollen wir verhindern, dass Sie die Bearbeitung der Hausaufgaben einstellen, sobald Sie eine bestimmte Punktzahl rechnerisch nicht mehr erreichen können. Wir werden die Grenze für den Bonus dabei so wählen, dass all diejenigen belohnt werden, die Ihre Hausaufgaben bis zum Ende des Kurses regelmäßig bearbeitet und abgegeben haben. Diese Grenze wird dabei nicht höher als 70% sein, das heißt, wenn Sie 70% der Punkte erreichen, erhalten Sie in jedem Fall den Notenbonus. Wir empfehlen Ihnen allerdings unbedingt die Hausaufgaben regelmäßig abzugeben, auch wenn Sie merken, dass Sie eventuell nur noch auf 50% der Punkte kommen können. Zum einen erfahren Sie dadurch die nötige Übung und erhalten von Ihrem Korrektor Feedback zu Ihren Lösungen und zum anderen ist es möglich, dass Sie damit dennoch den Bonus erhalten.

Sprechstunde

Jeden Freitag bieten wir von 15:00 bis 17:00 Uhr eine Sprechstunde für Sie an. Dort haben Sie die Möglichkeit in einem kleinen Kreis oder einem Vieraugengespräch mit einem Tutor oder der Übungsleitung über etwaige Schwierigkeiten oder Probleme zu sprechen oder nochmals konkrete Fragen zur Vorlesung, den Übungen, den Hausaufgaben oder der Klausurvorbereitung zu stellen.

Mitwirken

Wirken Sie direkt an der Veranstaltung mit, indem Sie auf Piazza mit Ihren Kommilitonen diskutieren, Fragen stellen oder die Fragen anderer beantworten.

Außerdem haben Sie bei unserer wöchentlichen Moodle-Umfrage die Möglichkeit anonymes Feedback zu den Veranstaltungen der entsprechenden Woche, sowie zu Ihren Lernerfolgen und Problemen zu geben. Sie helfen uns damit die Qualität der Veranstaltung weiter zu verbessern. Die Umfrage wird am Freitag der jeweiligen Woche um 18:00 Uhr freigeschaltet. Sie haben dann 7 Tage Zeit Ihr Feedback abzugeben. Beantworten Sie die Fragen bitte erst am Ende Ihrer "Übungswoche", das heißt, nachdem Sie mit der Bearbeitung des Übungsblatts fertig sind und die Veranstaltungen (Vorlesung, Tutorübung, Sprechstunde, ...) besucht haben, die Sie besuchen möchten.

Hinweis: Die Befragung ist völlig anonym. Sie müssen zwar in Moodle eingelogt sein (damit verhindert Moodle, dass Sie die Umfrage mehrfach ausfüllen), für uns besteht aber keine Möglichkeit Ihre Angaben mit Ihnen in Verbindung zu bringen.

Gemeinsam Erreichtes

Seit Beginn der Veranstaltung hat uns eine Vielzahl von Rückmeldungen und Verbesserungsvorschlägen über Piazza, das wöchentliche Moodle Feedback und andere Wege erreicht. Wir möchten uns hierfür bedanken und noch einmal betonen wie wichtig uns Ihr Mitwirken an der Veranstaltung ist. Deshalb möchten wir hier ganz kurz auf die am häufigsten genannten Punkte eingehen und berichten, was wir davon bereits umsetzen konnten oder was die Gründe dafür sind, dass uns dies bisher nicht gelungen ist:

  • Vorlesungsaufzeichnung am Freitag veröffentlichen. Der zeitnahe Upload der Aufzeichnung hat für uns eine noch höhere Priorität bekommen, sodass wir seitdem alle Aufzeichnungen noch am selben Tag hochgeladen haben und unser möglichstes tun dies auch in Zukunft beizubehalten.
  • Tutorübungen zu voll. Um diesem Problem Abhilfe zu schaffen, haben wir eine zusätzliche Übungsgruppe (C.12.1) ins Leben gerufen, die weitere Übungsplätze bietet und damit für Entlastung sorgen soll. Wir haben außerdem in der zweiten Übungswoche zwei Ausweichtermine organisiert, sodass trotz der Feiertage ausreichend Übungsplätze zur Verfügung standen. Uns ist bewusst, dass einige Übungen dennoch sehr überfüllt sind. Da wir Ihnen gerne die freie Übungswahl zugestehen wollen, besteht ein großer Bedarf an Übungsplätzen zu den beliebteren Zeiten. Leider sind aber aktuell weder Räume noch Personal verfügbar um weitere Gruppen zu diesen Zeiten anzubieten. Unsere nächsten Schritte zur Lösung dieses Problems werden sein:
    • Wir haben die Auslastung der einzelnen Gruppen auf der Website ausgezeichnet, sodass Sie auf einen Blick sehen können in welchen Übungsgruppen Sie noch freie Plätze finden können.
    • Sobald die Teilnehmerzahl einer Gruppe unter ein Minimum fällt, werden wir diese Gruppe schließen und versuchen einen weiteren Termin zu den Stoßzeiten anzubieten.
    • In den besonders überfüllten Räumen werden wir in Zukunft nicht angemeldete Teilnehmer in eine andere Übung zu schicken.
  • Ausreichend Zeit für Wüste-Aufgaben in Dromedargruppen. Generell sind wir der Meinung, dass auch in Dromedargruppen zuerst die Kernelemente eines Themas besprochen und geübt werden sollten, bevor sich die Übung mit Wüste-Aufgaben beschäftigt. Je nach Vorbereitung und Menge der ergänzenden Fragen der Teilnehmer, wird die Zeit dann oft knapp. Alle Tutoren wurden dennoch angewiesen genügend Zeit für die Besprechung der schwierigeren Aufgaben einzuplanen. Sollte die Zeit einmal dennoch nicht ausreichen, wird Ihr Tutor gerne ein paar Minuten länger bleiben und die Aufgabe für alle Interessierten noch zuende besprechen. Sie haben außerdem die Möglichkeit in die Sprechstunde zu kommen und dort noch einmal Fragen zu den Lösungen zu stellen.
  • Hausaufgaben zu umfangreich/zu schwierig. Es ist uns bewusst, dass die Hausaufgaben eine gewisse Bearbeitungszeit erfordern und in Teilen auch recht anspruchsvoll sind. Bei einer 5 ECTS Veranstaltung - wie der unsrigen - fordert die Prüfungsordnung eine Eigenstudiumszeit von etwa 6 Stunden pro Woche. Wir sind davon überzeugt, dass alle bisherigen Übungsblätter (ausgenommen Wüste-Aufgabe) in dieser Zeit zu bewältigen waren. Sollten Sie für die Lösung, oder den Versuch diese zu finden, deutlich länger benötigt haben, empfehlen wir Ihnen einmal in die Sprechstunde zu kommen, sodass wir gemeinsam herausarbeiten können, was für Sie die Schwierigkeiten sind und wie wir Ihnen helfen können diese zu bewältigen. Wüste-Aufgaben erfordern oftmals ein wenig Kreativität um die Lösung zu finden. Machen Sie sich keine Sorgen, wenn Ihnen dies nicht immer gelingt. Versuchen Sie aber zumindest die Musterlösung nachzuvollziehen, sobald diese Veröffentlicht ist. Beachten Sie außerdem, dass die Hausaufgaben eine freiwillige Übungsmöglichkeit sind und Sie auch Ihre Teillösungen abgeben können, wenn Sie das Gefühl haben, dass Sie das Thema schon gut beherrschen oder bei einer Aufgabe gerade einfach nicht weiterkommen. Zusammenfassend gesagt, glauben wir, dass Sie besser auf die Klausur vorbereitet sind, wenn Sie an anspruchsvollen Aufgaben üben, selbst wenn Sie diese dann nur zum Teil lösen, weshalb wir aktuell nicht vorsehen den Umfang oder die Schwierigkeit der (Haus-)Aufgaben drastisch zu verändern.
  • Schleifeninvarianten zu finden fällt sehr schwer. Durch Ihr Feedback haben Sie uns wissen lassen, dass das Finden der Schleifeninvarianten für Sie eine der größten Hürden darstellt. Deshalb ziehen wir in Betracht in näherer Zukunft eine Zentralübung rund um das Thema Schleifeinvarianten anzubieten, in der wir mit Ihnen übliche Fälle betrachten und Ihnen Tipps und Tricks an die Hand geben möchten, die Ihnen helfen eine sinnvolle Invariante zu finden. Das aktuelle Wochenfeedback (Woche 3) gibt Ihnen die Möglichkeit sich für eine solche Zentralübung auszusprechen, wenn Sie daran Interesse haben.
  • Tutor-Adressen. Auf einige Anfragen hin haben wir uns entschieden die Mail-Adressen der Tutoren zu veröffentlichen, sodass Sie jederzeit Kontakt mit Ihrem Tutor aufnehmen können, wenn Sie Fragen haben oder Aufgaben aufgrund technischer Probleme nicht in Moodle abgeben können.

Wir möchten Sie aufrufen sich auch weiterhin in Piazza und der Moodle-Umfrage zu beteiligen!

Klausuren

Die Klausuren finden zu folgenden Terminen statt:

  • Klausur: Mi, 21.02.2018 10:30-12:30 Uhr
  • Wiederholungsklausur: Sa, 24.03.2018 10:30-12:30 Uhr

Die Anmeldung zur Klausur ist vom 20.11.2017 bis zum 15.01.2018 möglich. Bitte melden Sie sich von der Klausur ab, sobald Sie wissen, dass Sie nicht teilnehmen werden.

Als einziges Hilfsmittel ist in beiden Klausuren ein beidseitig handbeschriebenes DIN A4 Blatt zugelassen.

Zusatzmaterialien:

Literaturvorschläge

  • OCaml Documentation (esp. "The core language")
  • Guy Cousineau und Michel Mauny, The Functional Approach to Programming, Cambridge University Press, Cambridge, 1998
  • T. Ottmann, P. Widmayer: Algorithmen und Datenstrukturen. Spektrum 2002
 


angehängte Dateien:

    folien.pdf

TUM - Lehrstuhl Informatik II (Sprachen und Beschreibungsstrukturen) Thanks: Tango and TinyMCE     Generationszeit: 9 ms