Module Number

Module Title

Effective Programming with Effects
Type of Module

Elective Compulsory
Work load
- Contact time
- Self study
180 h
Class time:
60 h / 4 SWS
Self study:
120 h
Duration 1 Semester
Frequency Irregular
Language of instruction English
Type of Exam

Grading of the practical project

Lecture type(s) Practical Course

The aim of this practical course is to get to know programming with algebraic effects and handlers. Effect systems support the development of correct software, effect handling enables a meaningful structuring of complex control flow. During the practical course, students program in the “Effect” research language developed at the chair. However, the concepts learned are universally applicable and can be used to structure programs regardless of the programming language used and thus serve, for example, as a mental model for common libraries such as “React” or “Pyro”.

The first part of the semester focuses on understanding the various aspects of algebraic effects and handlers through practical programming tasks. Students then choose a topic in consultation with the organizer and independently develop a software project in the second part of the semester, applying their acquired knowledge in realistic scenarios.

Important note:
Students who would like to take this practical course should have completed the following courses in advance:
- INFM1110 Praktische Informatik 1: Deklarative Programmierung
- INFM1120 Praktische Informatik 2: Imperative und objektorientierte Programmierung
- INFM2111 Praktische Informatik 3: Software Engineering


Participants will gain a comprehensive understanding of the theoretical foundations and practical implications of effects and handlers. They will develop the ability to use these concepts effectively to design and implement software solutions. In addition, participants will improve their communication skills by formulating solutions and participating in discussions about the application and implications of effects and handlers.

Allocation of credits / grading
Type of Class
Type of Exam
Exam duration
of Module (%)
Prerequisite for participation There are no specific prerequisites.
Lecturer / Other Brachthäuser


Last offered unknown
Planned for Wintersemester 2024
Assigned Study Areas