Official course description, subject to change:
Preliminary info last published 22/04-20

Functional Programming

Course info
Language:
English
ECTS points:
7.5
Course code:
KSFUPRO1KU
Participants max:
60
Offered to guest students:
yes
Offered to exchange students:
Offered as a single subject:
yes
Price (single subject):
10625 DKK (incl. vat)
Programme
Level:
MSc. Master
Programme:
MSc in Software Design
Staff
Course semester
Semester
Forår 2021
Start
25 January 2021
End
28 May 2021
Exam
Exam type
ordinær
Internal/External
ekstern censur
Grade Scale
7-trinsskala
Exam Language
GB
Abstract

The subject of the course is functional, declarative programming in general and F# in particular.

Description
The subject of the course is functional, declarative programming in general and F# in particular. This includes the following themes:´

Functional Programming Paradigme:
  • first class functions
  • higher-order functions
  • type inference and polymorphism
  • recursion and tail-recursion
  • algebraic data types
  • strict and lazy evaluation
Memory Management:
  • garbage collection
  • reference types
  • mutable versus immutable data
Parallel Programming:
  • divide and conquer.
Formal prerequisites
You can construct object-oriented software using Java (or C#), corresponding to what is learnt on the MSc course Introductory Programming.

Information about the course of study
This course is first part of the specialisation Software Development and Technology on second semester on MSc in Software Design
Moreover the student must always meet the admission requirements of the IT University.
Intended learning outcomes

After the course, the student should be able to:

  • apply and reflect on theories for modelling, analyzing and constructing functional declarative programs.
  • apply and reflect on the concepts behind functional programming compared to imperative and object oriented programming.
  • construct small and large programs in F# and explain the basic principles behind functional programming using F#.
  • describe and explain solutions to problems in the context of functional programming.
  • apply core concepts of functional programming.
  • reason about the complexity of functional programs.
Ordinary exam
Exam type:
C: Submission of written work, External (7-point scale)
Exam variation:
C22: Submission of written work – Take home