Graham Hutton, University of Nottingham
The exam is an in-person written exam that must be completed in a 2-hour period.
The exam comprises three questions. The first two will be regular multi-part questions, worth 35 marks each. The third will be an essay question, worth 30 marks.
All questions will involve Haskell programming. A copy of the
Haskell standard prelude will be provided during the exam, but will
not include the Functor, Applicative, and Monad class declarations,
or the associated instance declarations for types such as Maybe and list.
Students are expected to be able to recall or recreate
these as required during the exam.
Electronic copies of all of these materials are available on Moodle.
Review your solutions to the two courseworks. The connect four game was designed to give experience of writing a more substantial Haskell program than you did in the first year, while the monadic compiler was designed to give you experience of using the state monad.
Work through the past exam paper below. Don't worry if you can't do everything in the past exam, as it is designed to differentiate between students and produce an average mark across the class of around 60%. The questions tend to start with easier parts, and then get more difficult as the question progresses.
You already have copies of the examinable chapters from
Programming in
Haskell, but you may also find it useful to read some of the other chapters to
improve your Haskell knowledge. In particular, chapter 13 (monadic parsing)
may be helpful for your understanding of monads, but is not examinable. Trying
out some of the exercises in the book is also recommended.