gjsquktjcs rv`kl` lhrry t`c Bcmnuc
lhm oc rmjbcacb
t`c pjpuahtkjm. R`c pjpuahtkjm nrjwt`
t`c vhaucs je
nrjwt`, kmlrchskmn nrjwt`
gchmkmn je t`ks ghxkgug
i, pajt, jm
shgc hxcs, h
oc`hvkjr je T
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.
Outline of lecturesIn this section you will find, after each lecture, a list of topics that were taught and links to additional material and lecture notes. I'm constantly trying to improve these notes, so I encourage you to tell me if you find mistakes or things that are not clearly explained.
|1. 3 Oct 2012||Introduction to the Module|
Some 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|
|6. 18 Oct 2012||Tautologies, Boolean Algebra||...|
|7. 24 Oct 2012||Derivation of Boolean Equalities|
Numbers Systems, Order
|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|
|16. 22 Nov 2012|| Combinatorics: The pigeonhole principle|
Counting Functions and Subsets
|17. 28 Nov 2012||Binomial Coefficients||...|
|18. 29 Nov 2012||Pascal's Triangle|
|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,
2011-2012 Exam and Solutions.
How to study
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.
Suggested readingThe main study material for the module are the lecture notes that you find on this page. If you think you need more explanations and examples or if you want to learn more advanced topics, here are some very good books:
- 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.
Coursework and Tutorials
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.
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.