This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: CS 70 Discrete Mathematics and Probability Theory Spring 2010 Alistair Sinclair Note 1 Course Outline CS70 is a course on Discrete Mathematics and Probability for Computer Scientists. The purpose of the course is to teach you about: Fundamental ideas in computer science:- Boolean logic- Modular arithmetic, public-key cryptography, error-correcting codes, secret sharing protocols- Graphs: paths, cuts, hypercubes- The power of randomization (flipping coins) in computation: load balancing, hashing, inference, overcoming noise in communication channels- Uncomputability and the halting problem Many of these concepts underlie the more advanced courses in computer science. Precise, reliable, powerful thinking:- Proofs of correctness. These are essential to analyzing algorithms and programs- Induction and recursion- Probability theory Problem solving skills:- These are emphasized in the discussion sections and homeworks. Course outline (abbreviated) Propositions, propositional logic and proofs Mathematical induction, recursion The stable marriage problem Modular arithmetic, the RSA cryptosystem Polynomials over finite fields and their applications: error-correcting codes, secret sharing Graphs: Eulerian paths, hypercubes. Probability and probabilistic algorithms: load balancing, hashing, expectation, variance, Chebyshev and Chernoff bounds, conditional probability, Bayesian inference, law of large numbers. Diagonalization, self-reference, and uncomputability CS 70, Spring 2010, Note 1 1 Getting Started In order to be fluent in mathematical statements, you need to understand the basic framework of the language of mathematics. This first week, we will start by learning about what logical forms mathematical theorems may take, and how to manipulate those forms to make them easier to prove. In the next few lectures, we will learn several different methods of proving things. Propositions A proposition is a statement which is either true or false. These statements are all propositions: (1) 3 is irrational. (2) 1 + 1 = 5. (3) Julius Caesar had 2 eggs for breakfast on his 10 th birthday. These statements are clearly not propositions: (4) 2 + 2. (5) x 2 + 3 x = 5. These statements arent propositions either (although some books say they are). Propositions should not include fuzzy terms. (6) Arnold Schwarzenegger often eats broccoli. (What is often?) (7) Barack Obama is popular. (What is popular?) Propositions may be joined together to form more complex statements. Let P , Q , and R be variables rep- resenting propositions (for example, P could stand for 3 is odd). The simplest way of joining these propositions together is to use the connectives and, or and not. (1) Conjunction : P Q ( P and Q ). True only when both P and Q are true....
View Full Document
This note was uploaded on 09/21/2010 for the course CS 70 taught by Professor Papadimitrou during the Spring '08 term at University of California, Berkeley.
- Spring '08