Functional Programming 2012, TDA 452, DIT 142

Last updated 28-10-2013

Latest News

Handy shortcuts

All participants of the course are expected to join the course google group.

Purpose of the course

The course is an introduction to Functional Programming for students who know how to program. The students come mainly from the masters program at Chalmers and the University of Göteborg. Please note that you cannot include this course as part of a degree which already contains TDA555 (Introduction to Functional Programming). The contents are too similar (although the exam for this course is more demanding). If you took TDA555 or similar please consider TDA342 Advanced Functional Programming

Practical information

Contents of the course

These are from TDA451 2011. Content will be similar for this year. Minor updates will be made as we go along.

Week 1:

Week 2:

Week 3:

Week 4:

Week 5:

Week 6:

Week 7:

Lab Assignments

In the table below you will find links to lab assignments which have to be handed in. For each assignment have a submission deadline at which you must submit your solutions. Your first submission is expected to be a serious attempt to complete the lab. If your submission does not pass (incorrect or simply badly coded) then you must resubmit. You have until the final deadline. The final deadline is absolute: it is the last possible date to hand in your solutions. If your solutions are not passed you get no further chances this term.

Note that the deadlines are firm and are controlled strictly by the lab reporting system. Therefore you must submit by the deadlines.

Submission deadline Final deadline (parts A & B)
Lab 1 Wednesday 2012-10-31 Friday 2012-11-09
Lab 2A Wednesday 2012-11-07
Lab 2B Wednesday 2012-11-14 Friday 2012-11-24
Lab 3A Wednesday 2012-11-21
Lab 3B Wednesday 2012-11-28 Friday 2012-12-07
Lab 4| Wednesday 2012-12-12

Lab 4 is a mini project, to be presented to the graders on 12 December. More information to follow!


Please read this link about how to get help!

Ann and Simon have open office hours listed below when you can drop in and ask questions about the lab assignments.

These drop-in times are valid from Monday of week 2.


Monday Tuesday Wednesday Thursday Friday
Simon (room 6103) 16.00-16.45 11.00 - 11.45
Ann (room 5461) 11.00-11.45 13.15-14.00

Haskell Documentation and Other Resources

Haskell Installation (GHC) on your own machine

We recommend installing the Haskell Platform. Quote: The Haskell Platform is the easiest way to get started with programming Haskell. It comes with all you need to get up and running. Think of it as "Haskell: batteries included".

More Reading

Old exams (TDA 451)

Even older exams. These are a bit different from the current style, but there are some useful examples to be found.


The examination of the course has two parts: the weekly assignments and a written exam in the end of the course. To pass the course it is necessary to pass all home assignments and the exam. The exam dates are announced on the student portal .

Course Google Group