Funktionale Programmierung und Verifikation (IN0003), WS 2019/20
Übersicht
Note for English speaking students: The slides and assignment sheets will be offered in English. Moreover, tutorials Mi-16-3 and Do-10-1 are held in English. The exam will presumably be in English or bilingual (German and English). The lectures will be given in German.
Dozent: | Prof. Tobias Nipkow |
Zeit und Ort: | Fr. 08:30-10:00 Uhr im MW 2001, Rudolf-Diesel-Hörsaal (5510.02.001) |
Erste Vorlesung: | 18.10.2019 |
Lehrsprache: | Deutsch |
TUMonline: | WS 2019/20, Modulbeschreibung |
Moodle: | Aufgabenblätter |
Abgabesystem: | vmnipkow3 |
Piazza: | Forum |
Übungsleitung: |
Jonas Rädle,
Lukas Stevens und
Kevin Kappelmann
|
Fragen zu der Vorlesung und Übungen können auf Piazza zwischen Studenten und Tutoren besprochen werden.
Es ist in keinster Weise erlaubt, Lösungen vor der Abgabefrist zu teilen.
Ein solches Verhalten führt zum Auschluss aller Beteiligten vom Notenbonus.
Die Übungsleitung ist in besonderen Fällen unter fpv@in.tum.de kontaktierbar.
News
Inhalt
Die Vorlesung bietet eine Einführung in die funktionale Programmierung und Programmverifikation. Als Programmiersprache verwenden wir Haskell.
Vorlesungsunterlagen
- Der aktuelle Stand der Folien
- Vorlesungsaufzeichnungen
- Haskell-Beispiele aus der Vorlesung: V1.hs V2.hs Pictures.hs Tree.hs edit.lhs Form.hs hangman.hs icp.hs Huffman.hs SkewHeap.hs
Haskell
Übersicht: Offizielle Haskell-Seite mit Büchern, Tutorien, Sprachdefinition und vielem mehr
Installationsanleitung: Wie man den Glasgow Haskell Compiler installiert und benutzt
Die ersten Übungen finden in der Woche vom 21.10. statt. Zur Teilnahme an der Übung müssen Sie mit einer funktionsfähigen Haskell-Installation (GHC 8.4.4+ und QuickCheck) erscheinen. Es wird keine Installationshilfe während den Tutorien geben. Sollten Sie trotz Installationsanleitung Probleme haben, bieten wir Ihnen eine Sprechstunde an. Sie können unangemeldet zu diesem Termin erscheinen: Montag, 21.10.2019 von 10 bis 13 Uhr im Raum 00.09.038.
Literatur
Die Vorlesung orientiert sich stark an
- Simon Thompson. Haskell - The Craft of Functional Programming. Addison-Wesley.
Eine viel kompaktere und ebenfalls sehr empfehlenswerte Einführung ist
- Graham Hutton. Programming in Haskell. Cambridge University Press.
Funktionale Programmierung ist wichtig und beliebt
Funktionale Programmiersprachen erfreuen sich steigender Beliebtheit. Zum Beispiel bei Jane Street Capital, einer Finanzfirma in New York, London und Hong Kong, die die funktionale Sprache OCaml benutzt und auch darüber berichtet.Was passieren kann, wenn Finzanzsoftware fehlerhaft ist, kann man am Fall Knight Capital sehen.
Aber auch viele andere Firmen bedienen sich funktionaler Programmiersprachen Haskell [1] und OCaml [2]. Hier ein paar weitere Erfahrungsberichte mit industrieller funktionaler Programmierung: Credit Suisse, Twitter, Naughty Dog Inc., Trifork, Citrix, S&P Capital IQ, Verizon Pfizer Facebook