Netherlands, Utrecht

Applied Functional Programming in Haskell

when 4 July 2016 - 15 July 2016
language English
duration 2 weeks
credits 3 ECTS
fee EUR 1850

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.

Course leader

Atze Dijkstra (atze@uu.nl)

Target group

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.

Course aim

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.

Fee info

EUR 1850: Course + course materials + housing
EUR 1500: Course + course materials

Register for this course
on course website