Selection: Higher education credits in science and engineering (maximum 240 credits)
Outline for distance course:
The course is completely web-based and teaching takes place via the internet. The entire course with course materials and assignments as well as teacher guidance is available on the web.
Number of mandatory meetings on campus:
Number of voluntary meetings on campus:
28 July 2022 – 5 September 2022
Entry requirements: 120 credits with a second course in computer programming. 15 credits in mathematics, including basic algebra. Proficiency in English equivalent to the Swedish upper secondary course English 6.
If you are not a citizen of a European Union (EU) or European Economic Area (EEA) country, or Switzerland, you are required to pay application or tuition fees. Formal exchange students will be exempted from tuition fees, as well as the application fee. Read more about fees.
Application fee: SEK 900
Tuition fee, first semester:
Tuition fee, total:
About the course
Functional programming is an approach to declarative programming. The aim is for the programmer to state only the problem, but not a sequence of steps solving it. In functional programming, the programmer does this by defining a (mathematical) function. Declarative programming is thus very different from imperative programming and object-oriented programming, where a program is basically a sequence of steps. Come and widen your programming-language horizon. Declarative programming is not difficult and leads often to very elegant programs, once you are used to it!
The main objective is to learn functional programming, and to see how well it realises the aim of declarative programming. Functional programming is successfully used in many industrial projects, which makes knowledge of it a useful asset on the job market. Improvements of programming quality and speed by several factors are not uncommon.
The course covers theoretical foundations as well as practical programming exercises in Haskell. You also learn when it is wiser to use declarative programming rather than imperative programming or object oriented programming.