Latest update Sep 23, 2005.

To avoid spam, all mail addresses on this page have the "@" replaced by "#".

Directions for Reading

This page specifies how important the different parts of the course book are for the written exam. Parts that are important are marked hot: there is a clear chance that I will ask questions on such parts at the exam. Parts that are less important, but still relevant, are marked mild. Questions on these parts are less likely, but some knowledge might still be useful for the exam. Parts marked cold, finally, are not part of the course and no questions will be posed at the exam.

Note that I will not ask questions directly on the animation modules, or the graphics libraries. The aim of this course is not primarily to teach you graphics and animation, but functional programming. The questions will therefore be of a more general nature: about functional programming, Haskell, and underlying concepts. Thus, when you read the chapters that deal with animation and such, you should concentrate on the programming concepts being presented.

Except the book, the slides for the last lecture, about lambda calculus and type inference, are also part of the course material. These slides are hot. (You don't need to know all the theory, but I might ask questions that test whether you have an understanding of the basic concepts being modelled.) You might also find the rest of the slides helpful, but they don't contain anything important for the exam that is not covered in the book.

Ch 1: 1.1-1.5 hot, 1.6 mild.

Ch 2: hot as regards the basic concepts, but the Shape module in itself is not important for the exam.

Ch 3: 3.1 hot, 3.2-3.4 mild (as regards the graphics windows primitives, but the programming examples have a general interest besides the graphics).

Ch 4: hot (except details of the Shape module).

Ch 5: hot.

Ch 6: hot (except details of the Perimeter module). Although I didn't bring up this chapter directly at the lectures, the concepts are still important.

Ch 7: hot. (Infix constructors are not so important, though.)

Ch 8: 8.1 hot, 8.2.1 mild, 8.2.2 hot, 8.2.3 mild, 8.2.4 hot, 8.3 mild, 8.4 hot. Details of the Region module, and fixity declarations, are not important.

Ch 9: hot.

Ch 10: hot (except details of the Picture module). Of course you don't have to know the details of the (quite complex) examples, but the principles they illustrate are important.

Ch 11: hot. (You don't have to go into the details of the reverse example.)

Ch 12: hot, except 12.6 mild. You don't need to know all the details of the standard classes in Haskell by heart, though, but you should know them roughly.

Ch 13: 13.1-13.2 hot, 13.3 mild, 13.4-13.6: hot, 13.7 mild. Details of the Animation module are not important.

Ch14 : 14.1-14.4 hot. 14.5-14.6 mild.

Ch 15: cold.

Ch 16: 16.1-16.2: hot. 16.3 cold.

Ch 17-22: cold.

Ch 23: mild. You certainly don't have to know all this by heart, but it's hard to get by without some knowledge of Haskell's predefined functions.


Viewable With Any Browser

Björn Lisper
bjorn.lisper#mdh.se