Module Number INF3212 |
Module Title Functional Programming |
Type of Module Elective Compulsory |
---|---|---|
ECTS | 6 | |
Work load - Contact time - Self study |
Workload:
180 h Class time:
60 h / 4 SWS Self study:
120 h |
|
Duration | 1 Semester | |
Frequency | Each Semester | |
Language of instruction | German | |
Type of Exam | Exam + exercise grade |
|
Lecture type(s) | Lecture, Tutorial | |
Content | This course uses the Haskell programming language to explore fundamental and practical functional programming concepts. The first three weeks of the course introduce students to Haskell, after which more advanced ideas of the functional paradigm are addressed: algebraic data types; parametric polymorphism; type classes; domain-specific languages and their embeddings; monads; parallelism. The material will be taught by of slide sets, blackboard notes and live coding. |
|
Objectives | Students will be able to understand basic and advanced concepts of functional programming in Haskell. Students describe complex data structures using the Haskell type system and independently develop programs to solve challenging algorithmic problems. Advanced methods for the abstraction of both data (e.g. generalized algebraic data types) and behavior (e.g. Monad Transformer) can be analyzed and created. Students develop access to advanced literature and research topics in functional programming. |
|
Allocation of credits / grading |
Type of Class
Status
SWS
Credits
Type of Exam
Exam duration
Evaluation
Calculation
of Module (%) |
|
Prerequisite for participation | There are no specific prerequisites. | |
Lecturer / Other | Grust | |
Literature | Bird: Thinking Functionally Hutton: Programming in Haskell Bird/Wadler: Introduction to Functional Programming |
|
Last offered | Wintersemester 2021 | |
Planned for | Sommersemester 2023 | |
Assigned Study Areas | BIOINFM2510, INFM2510, INFM3110, MDZINFM2510, MEINFM3210 |