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.
Period
15-08-2011 - 26-08-2011 (2 weeks)
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: 25.) 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
3.0 ECTS credits+ Certificate of Attendance
Course fee
EUR 890: Course + course materials + housing + deposit
Course leader
Prof.Dr S.D. Swierstra
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 grants.
Utrecht University
Address: PO BOX 80148
Postal code: 3508 TC
City: Utrecht
Country: Netherlands
Website: http://www.utrechtsummerschool.nl
E-mail: summerschool@uu.nl
Phone: 0031302534400
Applied Functional Programming in Haskell