Undergraduate course

Functional Programming

  • ECTS credits10
  • Teaching semesterAutumn
  • Course codeINF122
  • Number of semesters1
  • Language
  • Resources

Teaching semester


Objectives and Content

A functional program consists of definitions of functions and its effect is determined by the input-output behaviour of these functions. Functional programming is the central example of the declarative paradigm, where program, in addition to its operational interpretation, has also a dual one: as a formula with static meaning independent from the transitions between program states. Execution of a program corresponds then to this declarative interpretation and this facilitates development and maintenance of correct software. The course introduces basic concepts from the functional paradigm through programming in a functional language (e.g., Haskell).

Learning Outcomes

After the course, the students shall know how to program with functions, understand and use recursion, algebraic data types (such as lists and trees), higher order functions and polymorphic functions.

Required Previous Knowledge


Recommended Previous Knowledge

INF100, MNF130

Compulsory Assignments and Attendance

Compulsory exercises.

Grading Scale

The grading scale used is A to F. Grade A is the highest passing grade in the grading scale, grade F is a fail.

Subject Overlap

INF121: 5 credits, INF121A: 5 credits


Exam information

  • For written exams, please note that the start time may change from 09:00 to 15:00 or vice versa until 14 days prior to the exam. The exam location will be published 14 days prior to the exam.

  • Type of assessment: Written examination

    21.02.2018, 09:00
    3 hours
    Withdrawal deadline