Netherlands, Utrecht

Applied Functional Programming in Haskell

when 20 August 2012 - 31 August 2012
duration 2 weeks
credits 3 ECTS
fee EUR 890

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 reusability. This course introduces 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 inference, and functional design patterns.

We will quickly move on to 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, but to learn about the Haskell community and to get hands-on experience by developing a project using Haskell in a team.

Course leader

Prof. Dr. S.D. Swierstra

Target group

Advanced bachelors / beginning masters with an interest in writing disciplined, robust programs. Knowledge of functional programming or Haskell in particular may be helpful, but is not expected or necessary. 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 Software Technology. (Maximum number of participants: 30)

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.

Credits info

3 ECTS
Certificate of Attendance

Fee info

EUR 890: Course + course materials + housing + deposit

Scholarships

Scholarships: A limited number of scholarships in the form of (partial) fee waivers and/or accommodation intended for talented students from developing countries is available. Talented students from other countries can also apply. There are no travel gran

Register for this course
on course website