Discrete mathematics deals with objects that come in
bundles, e.g., 1or 2 babies. In contrast, continuous mathematics deals with objects that vary
, e.g., 3.42 inches from a wall. Think of digital watches versusanalog watches (ones where the second hand loops around continuously withoutstopping).Why study discrete mathematics in computer science? It does not directlyhelp us write programs. At the same time, it is the mathematics underlyingalmost all of computer science. Here are a few examples:
Designing high-speed networks and message routing paths.
Finding good algorithms for sorting.
Performing web searches.
Analysing algorithms for correctness and eﬃciency.
Formalizing security requirements.
Designing cryptographic protocols.Discrete mathematics uses a range of techniques, some of which is seldomfound in its continuous counterpart. This course will roughly cover the follow-ing topics and speciﬁc applications in computer science.1. Sets, functions and relations2. Proof techniques and induction3. Number theorya) The math behind the RSA Crypto system4. Counting and combinatorics5. Probabilitya) Spam detectionb) Formal security6. Logica) Proofs of program correctness7. Graph theorya) Message Routingb) Social networks8. Finite automata and regular languagesa) Compilersi