You should be able to design and implement small programs in an imperative or object-oriented programming language, e.g., in Java. In particular, you should be able to program with simple data types using loops, procedures / methods, and you should understand what an interface is. You could, e.g., have acquired these competences by following the course Introductory Programming (GP) or the course Introduction to Programming - Concepts and Tools (IPBR) at the IT University.
Upon completion of this course, you will have acquired the following qualitifications:
In traditional programming languages, computation takes place by destructively changing the values of variables and fields of objects, etc. This can be efficient, but makes it difficult to combine general solutions to subproblems to solutions to larger problems.
In functional programming, the topic of this course, computation is instead value-oriented. That means that computation takes place by analysing values and creating new values, rather than destructively updating individual bits of the computer memory.
The value-oriented programming style makes it easier to make robust and maintanable programs with well-defined functional interfaces.
The idea of functional design and programming thus is to express programs by composition of suitable functions. Every function works similarly to a mathematical function: it takes an argument, conducts a computation, and returns a result. Thus the focus is on what the function does, rather than on how it does it.
In this course we will use the functional programming language Standard ML, which is a widely-used functional programming language and which several researchers at the IT University have helped develop.The two main topics of the course are:
The course is a natural successor to Introductory Programming in Java (GP/IPBR) and serves as good preparation for the course Programming Languages: Interpreters and Compilers.
There will be weekly assignments, both pencil-and-paper and programming assignments.
Weekly lectures, exercise labs with an instructor.
NB! In the intro-week, i.e., from August 27 to September 2, there are no exercise classes, but only lectures from 9-12.
4-timers skriftlig eksamen