Programming Fundamentals 3
An Introduction to Functional Programming in Haskell
- Teacher
- Yannick Zakowski
- Teaching assistant
- Matthew Wileman
Lectures
-
10:15Lecture 1: First steps with Haskell Room MSA-3.010
- Material
lecture01.pdf
Topics- static typing
- pattern matching
- guards
- Material
-
14:00Lecture 2: Recursing over lists Room MSA-3.520
- Material
lecture02.pdf
Topics- recursion
- pattern matching on lists
- list comprehensions
- Material
-
14:00Lecture 3: Higher-order programming Room MSA-4.530
- Material
lecture03.pdf
Topics- polymorphism
map,filterwhere,case- lambdas
- Material
-
14:00Lecture 4: Building functions from functions Room MSA-4.510
- Material
lecture04.pdf
Topics- function composition
foldr,foldl
- Material
-
14:00Lecture 5:User-defined data-types Room MSA-4.510
- Material
lecture05.pdf
Topics- user-defined types, enum, recursive types
- Material
Lab sessions
-
8:30Lab 1: Your first Haskell programs Room MSA-3.500
- Setting up your Haskell installation
setup.pdf - Material
lab01.pdf - Solutions
lab01-solutions.hs
- Setting up your Haskell installation
-
8:30
-
8:30Lab 3: Recursion, list comprehension, Higher-order functions Room MSA-3.370
- Material
lab03.pdf - Solutions
lab03-solutions.hs
- Material
-
10:15
-
10:15
Bibliography
- Learn You a Haskell for Great Good! by Miran Lipovača
- Programming in Haskell, 2nd Edition, by Graham Hutton
Important dates
-
First mid-term
-
Second mid-term
-
Final exam