This course is an introduction to ideas and techniques from discrete mathematics that are widely used in computer science. The course emphasizes mathematical proof and problem solving, employed on a variety of useful topicsin counting, discrete probability, graphs and basic number theory.
On completion of the course, students will have been trained to think about and use mathematical concepts and techniques to solve problems, and to express mathematical notions precisely. They will be able to use ideas and techniques from discrete mathematics in subsequent courses in computer science, in particular courses in the design and analysis of algorithms, networks, numerical methods, software engineering, data analysis, and data mining.
Topics covered include: methods of proof; mathematical induction; basic counting, permutations, combinations, binomial theorem, pigeonhole principle, inclusion/exclusion; discrete probability spaces, conditional probability, independence, Bernoulli trials, Bayes's theorem, random variables, expected value, variance, geometric and binomial distributions; graphs and trees; asymptotic notation and rates of growth; recurrences; basic number theory required for RSA cryptography.
• Lectures: Students are responsible for all material presented in lectures.
• Problem sessions: Weekly problem-solving sessions are held on Saturdays. Students are responsible for all material covered at the problem sessions. Class participation is encouraged.
• Homework: Weekly homework assignments are assigned after class and due the following week at the beginning of class. Students are required to submit homework electronically and use LaTeX to prepare homework files.
• Exams: There are four quizzes (weeks 4, 5, 9, and 10), a midterm exam (week 6), and a final exam (week 11). There will be no make-up exams.
The course grade is based on homework, quizzes, and exams.
• Homework: 5%.
• Quizzes: 20% (5% for each of 4 quizzes).
• Midterm examination: 25%.
• Final examination: 50%.
Discrete Mathematics and its Applications (7th edition) (McGraw-Hill) by Kenneth H. Rosen (ISBN 978-0073383095).
Precalculus, especially logarithms and exponentials, is a prerequisite; calculus is not required. High-school level familiarity with sets, functions, and relations will be assumed.
There are no programming prerequisites.