Single-Course English 5 ECTS

Applied Functional Programming

Overall Course Objectives

To enable that the participants can apply functional programming in the solution of practical as well as more theoretical problems.

Learning Objectives

  • apply functional programming on practical problems
  • comprehend functional theories and exploit them in program construction
  • create a functional program design
  • analyze a functional program design
  • assess the role of functional programming in a system context
  • formulate/program properties of programs that can be tested automatically
  • give a critical analysis of a program design
  • document a software product succinctly

Course Content

The course will provide insights in advanced functional programming topics and their use in concrete applications. Theoretical topics will be covered. They will have a role in program constructions inspired by practical and/or research oriented problems.

The course is centered around 2-3 mini projects. A mini project is introduced through lectures and possibly exercises. A mini project results in a product in the form of a program and a mini report.

The contents may change on a yearly basis. Examples of themes are: Resource planning, parallel gathering of information, reactive programs, apps for mobile phones, domain specific languages, decision procedures, interpreters, compilers, analysis tools, monadic programming.

Recommended prerequisites

01017/01019/02157/02141, Discrete mathematics, functional programming and basic knowledge of regular and context-free languages as well as semantics.

Teaching Method

Lectures and exercise classes. Independent project work.



The course is intended as a extension of 02157 Functional programming that should allow an effective use of functional programming in connection with courses and projects at the M.Sc. programme in computer science and engineering, for instance within program analysis, verification, and analysis tools for embedded systems.

See course in the course database.





3 weeks




DTU Lyngby Campus

Course code 02257
Course type Candidate
Semester start Week 23
Semester end Week 26
Days Mon-fri 8:00-17:00

7.500,00 DKK