News

Currently, no news are available

Pearls of Functional Programming

"Functional Pearls" are the focus of this Proseminar. Functional pearls are elegant, instructive examples of functional programming. They are supposed to be fun, and they teach important programming techniques and fundamental design principles. This pertains, among others, to

  • elegance in implementing algorithms,
  • domain-specifc elegance (e.g. in parsing or in visualization),
  • derivation of efficient implementations from inefficient references.

The individual presentation topics will mainly be based on research articles published as "Functional Pearls" in the Journal of Functional Programming or in leading conferences in the area of programming languages. Many of those works make use of the programming language Haskell. We will therefore spend the first few meetings discussing the quirks and particularities of Haskell, and contrast them to OCaml.

Besides the technical focus of the seminar, the learning objectives encompass learning how to read and digest scientific papers, how to summarize them, how to present research results, and how to provide feedback to peers.

Structure of the Course

This course is structured into four phases:

  1. Learning phase,
  2. Self-study and preparation phase,
  3. Writing phase, and
  4. Presentation and rebuttal phase.

In phase 1, the students will be assigned their seminar papers, deepend their understanding of functional programming, learn more about how to give a good presentation, and learn the basics of how to write an academic paper. In phase 2, students will work toward an early draft of their presentation, giving and receiving feedback in a small group of peers on the preliminary versions of their talks. Phase 3 is dedicated to writing a summary of your paper in your own words, using LaTeX, and finally submitting it through a conference management system, as if it were your own research work. After submission of your summary papers, you will be assigned papers of your peers to review. In this peer-review phase, you will write a critiques on your peers' papers, giving valuable feedback to the author. Lastly, in Phase 4 you will present your paper to your peers and incooperate the feedback your reviewers gave into your write-up.

Participation in all four phases is required to obtain ECTS.

Grading

Your final grade is based

  • mainly on the quality of your final presentation,
  • marginally on  the feedback given and realized during the preparation phase,
  • marignally on the written summary of your assigned paper, and
  • marginally on the implementation of critiques received, as well the as critiques written for your peers.

More details regarding grading will be discussed during the kick-off meeting.

Papers

Curious students may wish to take a peek at a superset of papers presented in previous iterations here.

Privacy Policy | Legal Notice
If you encounter technical problems, please contact the administrators