Resources
Course Notes
Course Notes for the 1st term are available for students registered on the module. The notes contain the notation we use, definitions of the concepts, and the results we need to know. They contain very little in the way of explanation or motivation or worked examples. You cannot survive just by reading those notes alone -- you must attend lectures, and you must attend and particpate in the problem solving classes.
Textbooks
There is no required textbook for this module. All definitions, algorithms, examples and explanations are delivered in the lectures or problem classes, or contained in the above notes and problem sheets.
However, some of you may benefit from extra examples, or may prefer to work from a textbook, or may prefer some other authors explanation style to mine. For those who would prefer a textbook, I make three recommendations below. There are a number of other textbooks available in the library.
But first, some warnings. Different authors may use different notation and have slightly different definitions. When submitting assessments in CS1105 or when sitting examinations, it is important that you use the definitions and notations given in the CS1105 lectures and problem sheets. Secondly, although CS1105 uses what is known as "discrete mathematics", we are focusing on what is needed for computer science. Be aware that many books with "discrete mathematics" in the title are intended for mathematicians, will be much more abstract than the approach we are taking, and will take a much more mathematical approach. If your maths level is strong, then you may find these books interesting; if your maths level is weak, then you are advised to stick to the lecture notes or to the books recommended below.
- "Discrete mathematics and its applications", Ken Rosen, McGraw Hill, 6th edition This is the best textbook I know of in the area. It contains lots of examples, with a strong focus on computer science applications. It goes into more depth than we do in CS1105 and covers more topics, but it will be useful in later years.
- "Discrete mathematics for computing", Peter Grossman, Palgrave Macmillan, 2nd edition This is also a good book, and obviously concentrates only on those topics used in computer science. It is less deep than the Rosen book, and does not cover some of the topics we cover in CS1105, but will be an easier read than the Rosen book.
- "Schaum's outlines: Discrete mathematics", Seymour Lipschutz and Marc Lipson, McGraw Hill This is a maths book, and contains little in way of background information or motivation, but does contain many examples. It is a good book to use if you need practice solving problems.