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 for CS Spring 2004 Papadimitriou/Vazirani Lecture 1 Purpose of the Course CS 70 is a new course designed to complement Math 55. We will focus on fewer topics, driven by compu- tational tasks. We hope to make the course more relevant to CS students and hence to instill a deeper and longer-lasting understanding of the underlying mathematics. What we want to teach: • Precise, reliable, powerful thinking : will allow you to use and develop more complex and subtle ideas in CS, well beyond the obvious “brute force” approach to every problem, and will help you to avoid silly errors on all your CS final exams. • The ability to state and prove nontrivial facts, in particular about programs : will enable you to write rigorously correct programs, which in turn provide solid building blocks for ever-more-complex yet still reliable systems; • Mathematical foundations and ideas useful throughout CS : will provide familiarity with logic, inductively defined structures, integer and polynomial arithmetic, and probabilities—concepts that underly all of the more advanced courses in CS. Course outline (abbreviated). • 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, hashing, probabilistic constructions, condi- tional probability Bayesian inference • Diagonalization, Self-Reference, and Uncomputability Propositions and Proofs Many of the unenlightened believe proofs to be pointless formal exercises in guessing a way through a maze to reach a 2,400-year-old fortune cookie. Far from it. We all like to say things: CS 70, Spring 2004, Lecture 1 1 “This encryption system cannot be broken” “My program works efficiently in all cases” “There are no circumstances under which I would lie to Congress” “It is inconceivable that our legal system would execute an innocent person” and so on. Few of us like to say things that turn out to be false. Proof means never having to say you’re sorry—it provides a means for guaranteeing your claims once and for all. 1 What we would like to do now is to make these concepts more precise. (Most discrete mathematics courses just get on with doing proofs; this isn’t a bad idea, but does skip over some important concepts.) Proofs in mathematics and computer science (as opposed to law and politics) require a precisely stated proposition to be proved. A proposition is a sentence that is either true or false....
View Full Document
This note was uploaded on 08/27/2008 for the course CS 1050 taught by Professor Huang during the Spring '05 term at Georgia Institute of Technology.
- Spring '05