Official course description, subject to change:
Basic info last published 15/10-19
Second Year Project: Functional Programming
Offered to guest students:
Offered as a single subject:
Price (single subject):
10625 DKK (incl. vat)
Bachelor of Science in Software Development
27 January 2020
31 August 2020
AbstractThis course aims to make students proficient in the functional programming paradigm used by languages such as F#, Scala, SML, OCaml, or Haskell. All programs created in the course will be written in F#, developed by Microsoft and incorporated in Visual Studio and the .NET framework. We will relate the functional paradigm to its imperative and object-oriented counterparts, but focus on concepts predominantly found in functional programming languages such as higher-order functions, recursion and tail recursion, immutable data structures, and first class functions.
DescriptionFunctional programming is on par with object-oriented and imperative programming languages fundamental to have a working experience with. Experience with a functional programing language is a prerequisite for subsequent courses.
The student will get a practical and theoretical introduction to functional programming languages.
he subject of the course is functional, declarative programming in general and F# in particular. This includes the following themes:
Functional Programming Paradigm:
- first class functions
- higher-order functions
- type inference and polymorphism
- recursion and tail-recursion
- algebraic data types
- strict and lazy evaluation
- garbage collection
- reference types
- mutable versus immutable data
- divide and conquer
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 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 examExam type:
A: Written exam on premises, external (7-trinsskala)
A11: Written exam on premises. Open book exam.
Duration: 4 hours.
The student is allowed to use all aids: books, notes, software, on-line resources