11-30 15:27 Statistics updated (click "Statistics" on the banner)
11-10 14:10 Statistics posted (click "Statistics" on the banner)
10-12 19:30 Problem session (Fri 4:30-$\infty$) has been moved to JCL 236
10-03 15:50 slides have been posted (click "SLIDES" on the banner)
Homework problems will be posted on this website. Homework is due every Tuesday at the beginning of class.
The instructor places an emphasis on interaction with the students.
Outside class, email is the best way to communicate with the instructor.
Instructor: László Babai
Class schedule
Please send email to the instructor with answers to these questions, even if you are only auditing the class, did not register, or have an unusual status. Your answers to these questions will help me to better plan the course. Please write "CMSC 37115 data" in the subject.
While this course will not be identical with the Autumn 2022 course with the same title and course number, the overlap will be significant, and a most valuable source of information about the course content is the Homework, material covered section of the 2022 course website.
This course intends to introduce the students into the ways of mathematical thinking, from intuition to formal statement and proof, via a number of interconnected elementary subjects most of which should be both entertaining and useful in their many connections to computer science.
Through a long series of examples, we practice how to formalize mathematical ideas and learn the nuts and bolts of proofs.
High-school-level familiarity with sets, functions, and numbers will be assumed.
The list of subjects includes
quantifier notation, free and bound variables, sets, setmaker notation, Boolean operations with sets, arithmetic operations with sets of numbers, powerset functions, injective, surjective, bijective functions, their relation to counting, predicates, characteristic functions of sets, counting subsets, relations, equivalence relations,
elements of number theory: divisibility (including divisibility by zero), gcd, Euclid's algorithm, lcm, congruences, Fermat's little theorem, Chinese Remainder Theorem,
polynomials, roots, factorization, complex numbers,
counting, binomial coefficients, finite probability spaces: sample space, probability distribution, events, independence, random variables, expected value, variance, Markov's and Chebyshev's inequalities,
limits, asymptotic rates of growth, asymptotic notation, polynomial growth, exponential growth, recurrences, generating functions,
undirected graphs, degree, paths, cycles, connectedness, trees, bipartite graphs, extremal graph theory, independent sets, cliques, chromatic number, planar graphs, random graphs,
directed graphs, strong connectivity, directed acyclic graphs (DAGS), tournaments, random walks, finite Markov chains.
Sequences of numbers will be a recurring theme throughout. Our primary interest will be their rate of growth (asymptotic analysis). From calculus, we shall review the notion of limits (especially at infinity). "Asymptotic thinking" about sequences is also the bread and butter of the analysis of algorithms.
It is meant for CS PhD students without a strong mathematical foundation. While the topics discussed belong to Discrete Mathematics, the emphasis is not on covering DM in depth but to develop the basic skills of approaching, interpreting, and producing mathematical statements and proofs.
A full score in this class is not equivalent to an "A" in a DM course. For this reason, the grade of "A" will NOT be available in this course. An "A-" will be given not to the top problem solvers but to those who show the greatest progress. If you aspire for a graduate-level "A" grade, please take a course that is more challenging, such as the undergraduate "Honors Discrete Mathematics" course or ask the instructor if he can offer an equivalent set of extra-credit problems.
One student described their expectation for this class with these words (slightly edited for brevity).
e-mail: laci(at)u.e. (expand abbreviation) and lbabai(at)[Google's mail service]
I have experienced a variety of uncertainties about email. When sending me a message, please use BOTH email addresses to help ensure that I see it.
Office hours: The problem sessions (Fri 4:30-5:20, JCL 236) also serve as office hours. Please send me email if you wish to have a one-on-one appointment.
Your primary text will be your course notes.
So please make sure you don't miss classes.
If you do, try to discuss the class with a peer.
Online resources
REAS22: Course material of the 2022 "Math Reasoning" course.
DMmini: Instructor's Discrete Mathematics Lecture Notes (PDF)
PROB: Finite Probability Spaces (updated fragment of DM Chap. 7) (PDF)
ASY: Asymptotic Equality and Inequality.
GreedyCol: The greedy coloring algorithm.
Discrete Math Lecture Notes by Morgan Sonderegger and Lars Bergstrom (PDF)
(detailed notes based on the instructor's 2007 DM class, but not proofread by instructor)
Euclid's algorithm and multiplicative inverse handout
Repeated squaring algorithm handout
Puzzle problems for challenge and fun
Printed text:
J. Matoušek, J. Nešetříl: "Invitation to Discrete Mathematics," published by Oxford University Press, ISBN# 098502079.
(Note: the second edition of this text appeared in 2009, the third
more recently. You may also use the first edition. The numbering
of chapters has changed.)
Recommended reference (undergraduate text):
Kenneth H. Rosen: Discrete Mathematics and its Applications (n-th edition, n=2,3,4,5,...)
Grading scheme Homework 85% Class participation 15%
Print your name on each sheet.
Homework problems are posted on this website. Please make sure to refresh your browser to get the latest version of the homework problems.
Errors may occur, both in class and in the posted version of the problems. Please recheck the website, especially if you suspect an error.
If you find an error or something looks suspicious in an assignment (e.g., it seems too easy or it has already been discussed), please notify the instructor (by email). If you are the first to point out an error, you may receive bonus points. If the error is of a trivial nature (e.g., the statement is false for $n=0$ but true otherwise), you are expected to discover the error, correct the problem, and solve the corrected problem.
Homework help. If you encounter difficulties with an assigned problem, you may contact the instructor by email.
Categories of exercises.
Collaboration on current homework is discouraged but not prohibited. If you do collaborate, state it at the beginning of your solution (give name of collaborator, state nature of collaborationn -- see expmaples in the template). There is no penalty for acknowledged collaboration on homework. The collaboration can involve passing ideas, but not solutions. COPYING is strictly prohibited. Understand the ideas discussed and give your own rendering.
The same applies to other sources such as the Web: give the source (URL), but DO NOT COPY. Understand; then write your own version without looking at the source or your notes. Acknowledge the source, include the URL at the beginning of your solution.