392186 Fortgeschrittene funktionale Programmierung in Haskell (V+Ü) (SoSe 2015)

Short comment

Für diese Veranstaltung werden 5 LP vergeben.

Contents, comment

Die Vorlesung behandelt ein breites Band an Themen von Funktionaler Programmierung am Beispiel
der Sprache Haskell. Es soll auf Bereiche eingegangen werden, die in der Vorlesung
"Programmieren in Haskell" nicht oder nur geringfügig angesprochen werden.

Inbesondere wollen wir folgende Themen behandeln:

  • Wiederholung von essentiellen Konzepten, wie Functor/Applicative/Monad
  • Parsing in Haskell mit attoparsec & Einführung in lens
  • GUI-Programmierung (mit leichter Einführung in Functional Reactive Programming)
  • effiziente Parallelisierung von Haskell-Programmen und parallele Datenstrukturen
  • effiziente Datenstrukturen (2-3-Finger-Trees, Cache-Oblivious Datenstrukturen)
  • serialisierbare In-Memory-Datenbanken mit acid-state
  • Netzwerkprogrammierung und gegebenenfalls Funktionale Programmierung im Web
  • Vorteile und Analyse von Typsystemen
  • Tieferführende Theorie (Lambdawürfel, Curry-Howard-Korrespondenz, Rekursionsschemata)

Als Abschlussleistung wird ein Programmierprojekt dienen, das bis zum Semesterende abzuschließen ist.
Details dazu werden in der Vorlesung bekannt gegeben.

Requirements for participation, required level

Erfolgreiche Teilnahme am Modul "Algorithmen und Datenstrukturen"

Bibliography

Die Folien und Übungsblätter finden Sie unter der folgenden Adresse auf GitHub:
https://github.com/FFPiHaskell

Die Mitschnitte der Vorlesung sind auf YouTube zu finden:
https://www.youtube.com/channel/UC5yZfQZrZnug0sgvveTTfnw

Parallel and Concurrent Programming in Haskell
http://chimera.labs.oreilly.com/books/1230000000929

What i wish i knew when learning Haskell
http://www.stephendiehl.com/what/

Learn you a Haskell for great good!
http://learnyouahaskell.com/

Teaching staff

Dates ( Calendar view )

Frequency Weekday Time Format / Place Period  

Show passed dates >>

Subject assignments

Module Course Requirements  
39-Inf-EGMI Ergänzungsmodul Informatik vertiefende Informatikvorlesung 2.1 Ungraded examination
Student information
vertiefende Übung 2.1 zu einer Vorlesung Ungraded examination
Student information

The binding module descriptions contain further information, including specifications on the "types of assignments" students need to complete. In cases where a module description mentions more than one kind of assignment, the respective member of the teaching staff will decide which task(s) they assign the students.


No more requirements
No eLearning offering available
Registered number: 52
This is the number of students having stored the course in their timetable. In brackets, you see the number of users registered via guest accounts.
Address:
SS2015_392186@ekvv.uni-bielefeld.de
This address can be used by teaching staff, their secretary's offices as well as the individuals in charge of course data maintenance to send emails to the course participants. IMPORTANT: All sent emails must be activated. Wait for the activation email and follow the instructions given there.
If the reference number is used for several courses in the course of the semester, use the following alternative address to reach the participants of exactly this: VST_54004629@ekvv.uni-bielefeld.de
Coverage:
10 Students to be reached directly via email
Notes:
Additional notes on the electronic mailing lists
Last update basic details/teaching staff:
Friday, December 11, 2015 
Last update times:
Thursday, October 22, 2015 
Last update rooms:
Monday, March 30, 2015 
Type(s) / SWS (hours per week per semester)
lecture (V) + exercise (Ü) / 2+2
Department
Faculty of Technology
Questions or corrections?
Questions or correction requests for this course?
Planning support
Clashing dates for this course
Links to this course
If you want to set links to this course page, please use one of the following links. Do not use the link shown in your browser!
The following link includes the course ID and is always unique:
https://ekvv.uni-bielefeld.de/kvv_publ/publ/vd?id=54004629
Send page to mobile
Click to open QR code
Scan QR code: Enlarge QR code
ID
54004629