Links und Funktionen


Inhaltsbereich

Bachelor Seminar: Functional Pearls

Instructor: Luca Maio

Content

Functional programming (as in, e.g., Haskell) has many features which make it unique and useful in a variety of ways. When a specific use case is put together well and highlights these features, a scientific paper may be designated to be a “Pearl of functional programming”. For this seminar, you will choose one of these pearls as the topic for you seminar paper and talk.

Prerequisites

  • It helps to be familiar with basics of functional programming (e.g. already have some experience with a functional programming language, passed ProMo, etc.)

Organisation

There will be between a mandatory session at the beginning of the semester, where I will explain the organization of the course in detail and we will fix the topics of your work.

Topics can be chosen from among the papers designated to be a “Pearl of Functional Programming”, a (incomplete) list can be found here. Alternatively some more can be found here, here and here

After you had some time to familiarize yourself with the topic, there will be a mandatory session of short-talks (90 seconds) where you give a one-slide summary of your topic.

At the end of the semester we will take another 1 to 3 mandatory sessions for the seminar talks. In between there will be no scheduled meetings, but of course I will be available for questions on your topics either virtually via mail, Zulip etc. or in person.

Examination

The Examination consists of two parts:

  • A written seminar paper on your chosen topic (60% of the grade), the length of which must be between 7.000 and 14.000 characters.
  • A talk (40% of the grade) of 30 minutes plus 5-10 minutes discussion. The talk should cover some but possibly not all things written about in the seminar paper.

Submissions can be both in German and in English, the languages of the talk and the paper may even differ depending on your preference.

Schedule

TBD - First meeting should be ASAP, I will contact you about arranging a first slot and we will fix future dates there.

“Wn” stands for the n-th week of the year.

2024
====
--- start of summer semester
W16
W17 Mo. 22.04. 16-18 c.t. First meeting and topic allocation, Oett. 67, L109
W18
W19
W20 Mo. 13.05. 16-18 c.t. quicktalks and guidelines on paper, Oett. 67 L109
W21
W22
W23
W24
W25
W26 Su. 30.06. Submission first version of paper
W27
W28 Su. 13.07. Submission reviews
W29
--- end of summer semester
W30 Talks (Room TBA)
  - Mo. 22.07. 14-18 s.t.(!)
    - NR - Monoids: Themes and Variations
    - ES - A Pretty But Not Greedy Printer
    - LR - On Tiling a Chessboard
    - AN - Data Types á la Carte
    - PC - A Program to Solve Sudoku
    - MD - A Smart View on Datatypes
  - Tue. 23.07. 12-18 s.t.(!)
    - AK - A domain-specific language for experimental game theory
    - CV - HasChor: Functional Choreographic Programming for All
    - MZ - ‘do’ Unchained: Embracing Local Imperativity in a Purely Functional Language
    - AM - Composing Fractals
    - TI - More Fixpoints!
    - AB - It's Easy as 1,2,3
    - LN - Three Algoritms on Braun Trees
W31
W32
W33
W34 Su 25.08. Submission final version of paper
W35

Artikelaktionen


Funktionsleiste