Informatics 1 - Functional Programming

From HaskellWiki
Revision as of 17:25, 14 March 2016 by SimonArlott (talk | contribs) (Support: Update ImaginaryNet/CompSoc URLs)

Jump to: navigation, search

The course Informatics 1 - Functional Programming is the first programming course taught to students at the School of Informatics of the University of Edinburgh.


The course lecturer is professor Philip Wadler.


The course consists of 20 lectures and 10 tutorials spread over the length of the first semester of the year (September–December). Each tutorial has its own set of exercises, and examination is by two programming tests.

Students' background

The course is aimed primarily at students with no prior programming experience.



The course textbook is Simon Thompson: Haskell, the Craft of Functional Programming.


The text editor used in the course is Emacs in Haskell mode.


Most exercises require students to verify their code using QuickCheck, where writing appropriate test properties is part of the challenge. In addition, some tutorial exercises use OpenGL graphics, and depend on the following packages:

Previous incarnations of the course relied on GLFW instead of GLUT.

GHC Installation

For some brief notes on installing ghc on windows see Informatics 1 Windows Installation


There are several ways of getting help with your FP course (or with any aspect of the informatics 1 coursework). Some of these involve using IRC.

The Informatics 1 channel is #inf1 on Here you will find fellow 1st year students who are all doing the same work as you, along with a variety of higher students who will help you. The channel is run by Quest (otherwise known as Ed Leiper) who is one of the FP tutors.

You can also get a lot of help from CompSoc, which is the university-wide Computing Society. You will find members on IRC channel #compsoc.

The labs on the fifth floor of Appleton Tower have demonstrators on-hand specifically to help first year student from 3-5 every week day. You will notice them because they will be lounging around at the front of the room. Sticking your hand in the air will get their attention. They're very friendly and have been prepared on what you will be working with.