This work does not contribute towards your mark for the course but it isĪbsolutely essential for your understanding of the material. Published here at least a week before the corresponding tutorial. You are very strongly advised to attend all lectures! Tuesday slides (continuing from Monday) andĭuring Semester 1, 14:10–15:00 Mondays in George Square Lecture Theatre and 11:10–12:00 Tuesdays in David Hume Tower Lecture Theatre A.Įxcept for the following swaps with Inf1-CL: Thursday slides (continuing from Tuesday) and Monday slides (continuing from Friday) andįriday slides (continuing from Tuesday) and The pages in the two course textbooks that correspond to each lecture
Here are the annotated slides and code examples for each lecture. During semester 1, students should also be The first-year programme for all undergraduate degrees in the School of Informatics 1: Functional Programming is part of Higher-order functions and data types, whilstĮmphasizing the practical use of such constructs. The main goal is to acquaint the student withįundamental programming concepts such as recursion, abstraction, The course teaches the basics of functional programming using the Suitable for first-year undergraduate students
This is a course in the School of Informatics If this is problematic for you for any reason at all, please email the organisers and we can try to offer you a discounted rate or a fee waiver.Informatics 1: Functional Programming 2017–2018
We will charge a registration fee of 750 euros (or 250 euros for students) to cover our expenses. Fee infoĮUR 750: Course + course materials EUR 200: Housing fee (optional) Scholarships We intend to organize the summer school in Utrecht, if at all possible, but are making back-up plans to host the school virtually if necessary. The remaining 4 hours will be for lab sessions. The course takes one week, with approximately 4 hours of lectures per day. The acquired knowledge will not only enable participants to contribute to programming projects using Haskell – it will also enable them to apply the concepts they have learned to other projects, making them better programmers in any language. Participants will learn a modern programming paradigm.
The course covers a variety of intermediate topics, including type-level programming, monad and monad transformers, laziness, and testing. If you've already started learning Haskell and are looking to take your functional programming skills to the next level, this is the course for you. There is a great deal of online material freely available that covers this material. You should be able to write recursive functions over algebraic data types, such as lists and trees. We expect students to have a basic familiarity with Haskell already. Besides the lectures, there are numerous supervised lab sessions to help you come to grips with the material covered in class. The course aims to teach not only the more advanced Haskell features, such as GADTs or type families, but also the underlying theory. This course explores some of the more advanced language features of Haskell, a state-of-theart functional programming language, together with some of its theoretical background. Typed functional programming languages allow for the rapid development of robust programs.