Utrecht Summer School logo
Utrecht University logo

Applied Functional Programming in Haskell

Organizing institution
Utrecht University, Faculty of Science (UU)
Course code
Course fee (incl. housing)
€ 1850
Advanced bachelor level

Typed functional programming in Haskell allows for the development of compact programs in minimal time and with maximal guarantees about robustness and correctness. The course explores Haskell as well as its theoretical underpinnings such as typed lambda calculus, and Damas- Milner type inference. There is ample opportunity to put this all into practice during lab sessions.

Typed functional programming languages allow for the development of robust, concise programs in a short amount of time. The key advantages are higher- order functions as an abstraction mechanism, and an advanced type system for safety and re usability. This course explores Haskell, a state- of- the- art functional programming language, together with some of its theoretical background, such as typed lambda calculi, referential transparency, Damas- Milner type inerence, type level programming, and functional design patterns.
We will combine this with applications of functional programming, concentrating on topics such as language processing, building graphical user interfaces, networking, databases, and programming for the web. The goal of the course is not just to teach the programming language and underlying theory, but also to learn about the Haskell community and to get hands- on experience by doing lab exercises or a Haskell project of your own.
Further information, like the day to day programme, can be found at the website http://www.cs.uu.nl/wiki/USCS.

Tags: functional programming, type systems, haskell, software engineering, systems programming

Bookmark and Share


Atze Dijkstra (atze@uu.nl)


Atze Dijkstra
Doaitse Swierstra (doaitse@swierstra.net)


Advanced bachelors / beginning masters with programming experience and an interest in writing disciplined, robust programs. Basic knowledge of functional programming or Haskell in particular is advised (see e.g. haskell.org for online educational material, or https://www.fpcomplete.com/school/starting-with-haskell/introduction-to-haskell, or https://www.mooc-list.com/course/fp101x-introduction-functional-programming-edx). Although we offer a track on Haskell for beginners one will get the most out of the summerschool if one is already acquainted with Haskell beforehand; because of the two week format material is densely presented.
For the rest, all that is required is curiosity and an open mind. Applicants should be proficient in English and will be subjected to a selection procedure. This course is also well- suited as an introduction to or preparation for our MSc program.
Maximum number of participants: 40.
Please indicate in your motivation what your current Haskell skills (none, starting, advanced, expert) are and what you expect to learn, so we can decide about the different lecturing tracks.


Participants will be given the opportunity to learn a modern and new programming paradigm. The acquired knowledge will not only enable participants to lead or contribute to programming projects that make use of Haskell or related languages it will also enable them to write better programs in any programming language, as the patterns and abstractions being taught are widely applicable. In previous years the course has been a source of joy for lecturers and has been very well appreciated by students.


The course takes two weeks, with 4 hours of lecturing per day. The other 4 hours are for working on practical exercises and larger programming projects.


• € 1850 - Course + course materials + housing
• € 1500 - Course + course materials

Students and lecturers from universities get a discount of 1000 euro on the course fee.
This discount will be will be processed by the course director.
Applications for a discount should include:
- Motivation for your application (submit through your account)
- Curriculum vitae (submit through your account)
- Recent set of transcripts (marks/grades) in English, German, French or in Dutch for
students (submit through your account)
- Two letters of recommendation, (to be sent directly to the contact email below)
You will be notified of the result of your application within two weeks after the application deadline.

» Overview of all available discounts


There are no scholarships, but we offer a 1.000 discount for students, lectures, and others working in an educational setting. See fee section (above).


Atze Dijkstra
E: Uscs- afp@lists.science.uu.nl
P: +31 30 253 1454

» Contact Utrecht Summer School


Deadline for registration: 01 June 2016