Computer Science Reading List

The Computer Science department has prepared some suggested reading and activities

No preliminary reading is formally required for the course; all the initial knowledge assumed is common to most A‑Level Mathematics syllabuses. But it is a very good idea to begin reading in advance on some of the first-year topics, particularly in areas that are completely or largely new to you. The core first-year courses most likely to fall in this category include those on Functional Programming, Discrete Mathematics, and Logic and Proof. (Not all of these are taken by Mathematics and Computer Science students, but they are still recommended reading for them.)

A strongly suggested book for Functional Programming is:

Programming in Haskell, by Graham Hutton, Cambridge University Press, 2007.

Read the first six chapters of the book, and if possible get some hands-on experience of writing Haskell programs. There are lots of Haskell resources on the Haskell website An alternative to Hutton’s book that you can read online is Learn You a Haskell. This is an excellent resource that is especially approachable by beginners.

A book we recommend as an introduction to Discrete Mathematics and Introduction to Formal Proof is:

Daniel J. Velleman, How to Prove It (Cambridge University Press).

Some lighter but helpful reading about Computer Science as a whole is Daniel Hillis’s non-technical survey The Pattern on the Stone (Basic Books).

If you would like any further advice, please do not hesitate to get in touch with the College

Tom Melham, July 2023