Latest update Dec 17, 2022.

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. (They may still be interesting, of course.)

Note that I will not ask questions directly on the object-oriented part of F#, or the .NET interface. The aim of this course is not primarily to teach you how to do OO programming in F#, or to teach .NET, but to make you learn the functional programming paradigm. The questions will therefore be of a more general nature: about functional programming, F#, and underlying concepts.

Except the book, the slides for the course are also part of the course material. These slides are hot.

Note that from spring 2022 the book is recommended rather than mandatory. The classification below still applies.

Ch 1: 1.1-1.9 hot, 1.10 mild.

Ch 2: 2.1-2.7 hot, 2.8 mild (but interesting), 2.9-2.12 hot.

Ch 3: 3.1-3.9 hot, 3.10 cold, 3.11 hot.

Ch 4: hot.

Ch 5: 5.1 hot, 5.2-5.3 cold.

Ch 6: 6.1-6.6 hot, 6.7 mild.

Ch 7: 7.1 mild, 7.2 hot (as regards module declarations, however signatures are not included in the course), 7.3-7.4 cold, 7.5 mild, 7.6-7.8 cold, 7.9 mild (interesting example).

Ch 8: 8.1-8.2 hot, 8.3 mild, 8.4-8.7 hot, 8.8-8.9 mild, 8.10 hot, 8.11-8.13 cold.

Ch 9: 9.1-9.2 mild, 9.3-9.4 hot, 9.5 mild, 9.6 cold.

Ch 10: 10.1-10.2 cold (although regular expressions may be useful for some course projects), 10.3 hot, 10.4 mild, 10.5-10.6 cold, 10.7 mild (printf hot), 10.8-10.10 cold.

Ch 11: 11.1-11.2 hot, 11.3-11.5 mild, 11.6 mild (goes into depth what sequence expressions really are), 11.7 hot, 11.8 cold.

Ch 12: cold (but interesting, since this is the underlying mechanism for both sequence expressions and asynchronous expressions)

Ch 13: cold (but interesting, as the functional paradigm goes very well with parallel and distributed computing)


Björn Lisper
bjorn.lisper (at) mdu.se