Mathematics for Computer Science: Discrete Mathematics
|Title||Mathematics for Computer Science: Discrete Mathematics (50103)|
|Instructor||Geraldine Brady (firstname.lastname@example.org)|
Course DescriptionThis course in an introduction to discrete mathematics oriented toward computer science. The course emphasizes mathematical proof and problem solving, employed on a variety of useful topics: logic; proof by induction; counting, factorials, and binomial coefficients; discrete probability; random variables, expected value, and variance; recurrences; graphs and trees; basic number theory; asymptotic notation, and rates of growth.
On completion of the course, students will have been trained to think about and absorb mathematical concepts, to solve problems requiring more than standard recipes, and 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.
Course ContentsTopics covered include: logic and proof; mathematical induction; modular arithmetic; 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, methods of solving simple recurrences, the master theorem.
Course gradeThe course grade is based on homework, quizzes, and exams.
TextbookDiscrete Mathematics and its Applications (7th edition) (McGraw-Hill) by
Kenneth H. Rosen (ISBN 978-0073383095).
Web pageCourse information, announcements, assignments, and supplemental material
can be found on the course web page:
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.