Functional Programming I

5 credits

Course, Master's level, 1DL330

Autumn 2023 Autumn 2023, Uppsala, 33%, On-campus, English

Autumn 2023 Autumn 2023, Uppsala, 33%, On-campus, English For exchange students

Autumn 2023 Autumn 2023, Flexible, 33%, Distance learning, English

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 to solve 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 in the job market. Improvements in 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.

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.