Resources
Course Notes
Course Notes in pdf will be available for students registered on the module, as announced in lectures. 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 participate 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 author's explanation style. 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 CS1112/CS1113 or when sitting examinations, it is important that you use the definitions and notation given in the CS1112/CS1113 lectures and problem sheets. Secondly, although CS1112/CS1113 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 those books interesting; if your maths level is weak, then you are advised to stick to the lecture notes or to the books recommended below.
All of these books cover material from both CS1112 and CS1113.
- "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 CS1112/CS1113 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 not as deep as the Rosen book, and does not cover some of the topics we cover in CS1112/CS1113, 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.