Applied Functional Programming in Haskell
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 introduces 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 in 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 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, 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 here, where you will also find a poster which you can print yourself.
Advanced bachelors / beginning masters with an interest in writing disciplined, robust programs. Knowledge of functional programming or Haskell in particular is helpful, but is not expected or necessary, although to get the most out of the course we usually advice to become acquainted with introductory Haskell material beforehand. 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.
• € 1835 - 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 automatically processed in your account.
Applications 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 Dutch students (submit through your account)
- Two letters of recommendation, (to be sent directly to the contact person below)
You will be notified of the result of your application within two weeks after the application deadline.
A limited number of scholarships are available. Indicate clearly in you motivation letter why you would need a scholarship, indicating your travel costs and financial situation.
Deadline for registration: 20 June 2014