School of Computer Science

University of Nottingham

Jubilee Campus

Wollaton Road

Nottingham NG8 1BB

UK

University of Nottingham

Jubilee Campus

Wollaton Road

Nottingham NG8 1BB

UK

**T:**+44(0) 115 9514251**F:**+44(0) 115 9514254

csit-enquiries@cs.nott.ac.uk

*Mathematics for Computer Scientists* teaches you the basic logical and mathematical theory that is necessary to become a good programmer and computer scientist.
It covers some familiar fields, like Arithmetic and Algebra, but also parts of Math that are more specific to the study of data structures and algorithms.
First of all, it is necessary to learn the fundamental reasoning techniques: how to prove mathematical statements and how to check that a proof is correct.
Then you must become familiar with the concepts of set, function, relation and be able to work with them with confidence.
All this forms the basis for specific mathematical theories.
Arithmetic is the first one: the most important method of proof here is induction on natural numbers.
Then comes Boolean Algebra, essential to understand the logic of circuits and data structures.
Other topics of study are Combinatorics, which studies the way to count complex arrangements of objects, and Modular Arithmetic, the "Mathematics of clocks".
At the end of the module you will have acquired the intellectual tools that allow you to understand the abstract nature and the workings of algorithms.

Date | Topics | Lecture Notes |
---|---|---|

1. 3 Oct 2012 |
Introduction to the Module Some mathematical puzzles |
Mathematical Puzzles |

2. 4 Oct 2012 |
Propositions and Derivations | Propositional Logic |

3. 10 Oct 2012 |
Propositional Formulas Rules for Connectives |
... |

4. 11 Oct 2012 |
All Deduction Rules | ... |

5. 17 Oct 2012 |
Truth Tables Logical Equivalence |
Boolean Algebra |

6. 18 Oct 2012 |
Tautologies, Boolean Algebra | ... |

7. 24 Oct 2012 |
Derivation of Boolean Equalities Numbers Systems, Order | Arithmetic |

8. 25 Oct 2012 |
Partial Order, Divisibility Universal and Existential Quantifiers | ... |

9. 31 Oct 2012 |
Floor, Ceiling, Absolute Value Arithmetic: Recursive Functions | ... |

10. 1 Nov 2012 |
Fibonacci Function, Greatest Commond Divisor | ... |

11. 7 Nov 2012 |
Summations | ... |

12. 8 Nov 2012 |
Induction | ... |

13. 14 Nov 2012 |
Sets, Venn Diagrams Cartesian Product, Subsets | Sets, Functions, Relations |

14. 15 Nov 2012 |
Cardinality, Inclusion-Exclusion Principle | ... |

15. 21 Nov 2012 |
Injective/Surjective/Bijective Functions Inverse Functions |
... |

16. 22 Nov 2012 |
Combinatorics: The pigeonhole principle Counting Functions and Subsets |
Combinatorics |

17. 28 Nov 2012 |
Binomial Coefficients | ... |

18. 29 Nov 2012 |
Pascal's Triangle Modular Arithmetic |
Modular Arithmetic |

19. 5 Dec 2012 |
Induction with two base cases The Monkey and the Coconuts |
... |

20. 6 Dec 2012 | Exam Preparation | Model Exam |

End of lectures |
||

13 Dec 2012 | 10:00 - 17:00 : Office hours | ... |

2009-2010 Exam, 2009-2010 Resit Exam, 2010-2011 Exam,

Here are my suggestions on how you should study and prepare for the exam. There are three activities that will help you get the best results:

- Read and study the lecture notes;
- Try to solve the coursework assignments;
- Try to solve the past exam papers.

Use a similar strategy when doing the **past exams**.
You should give yourself a couple of hours to solve a complete exam paper.
Sit at your desk with it and without books or notes and try to do it.
Afterwards check your answers: the complete solution to last year's exam is given above.

- Roland Backhouse,
*Algorithmic Problem Solving* - Steven G. Krantz,
*Discrete Mathematics Demystified* - Rowan Garnier and John Taylor,
*Discrete Mathematics* - Norman L. Biggs,
*Discrete Mathematics*

These texts, however, are not a replacement for the lecture notes. If you don't understand something and you find that the lecture notes are not clear enough, the right thing to do is to come to me and I will try to explain things better and expand the lecture notes.

Every two weeks on Thursday, you will find an assignment on this page.
You have to solve the given problems and hand you solutions in by the following
Wednesday at 16:00 at the school office (stamp the assignment and put it
in the *letter box*).

The following week the teaching assistants will demonstrate the solutions during the tutorials. You have been divided into five groups, each having a tutorial on a different day and time. Check this timetable to see when and where your tutorial session is. If you're unable to attend the tutorial you've been assigned to, contact one of the teaching assistants, Laurence Day or Bas van Gijzel and ask to change your group.

Write on the cover letter of the assignment what group you belong to.

The average mark of the four assignments will be your *coursework mark*, which counts for 25% of you final mark.

**
The first tutorial takes place in the week 8-12 October: It will give you a chance to ask any question about the first few lectures.
**

Date | Assignment | To be handed in | Tutorial Week |
---|---|---|---|

11 Oct 2012 | Assignment 1: Logic | Thu 18 Oct 2012 | 22-26 Oct 2012 |

25 Oct 2012 | Assignment 2: Boolean Algebra | Thu 1 Nov 2012 | 5-9 Nov 2012 |

8 Nov 2012 | Assignment 3: Arithmetic | Thu 15 Nov 2012 | 19-23 Nov 2012 |

22 Nov 2012 | Assignment 4: Sets and Functions | Thu 29 Nov 2012 | 3-7 Dec 2012 |

**
Be sure to read carefully the regulations about submission of coursework and plagiarism in the student handbook.
In addition to those regulations, assignments must be submitted at the latest by the end of the week of their official deadline and standard penalties apply.
**