CS 70. Discrete Math & Probability
Current Schedule (Spring 2013)
Catalog Description: (4 units) Logic, infinity, and induction; applications include undecidability and stable marriage problem. Modular arithmetic and GCDs; applications include primality testing and cryptography. Polynomials; examples include error correcting codes and interpolation. Probability including sample spaces, independence, random variables, law of large numbers; examples include load balancing, existence arguments, Bayesian inference.
Prerequisites: CS 61A, Math 1A, Math 1B (or equivalents).
Course objectives: The goal of this course is to introduce students to ideas and techniques from discrete mathematics that are widely used in Computer Science. The course aims to present these ideas "in action"; each one will be geared towards a specific significant application. Thus, students will see the purpose of the techniques at the same time as learning about them.
- Propositions and Proofs
- Mathematical Induction: recursion, the stable marriage problem
- Propositional Logic: automated proof and problem-solving
- Arithmetic Algorithms: gcd, primality testing, the RSA cryptosystem
- Polynomials and their Applications: error-correcting codes, secret sharing
- Probability and Probabilistic Algorithms: load balancing, probabilistic constructions, conditional probability, Bayesian inference
- Diagonalization, Self-Reference and Uncomputability