CS 174

      Combinatorics and Discrete Probability      

Spring 2002

[Lecture Notes] [Homework] [Recitation Notes]


Michael Jordan (jordan@eecs.berkeley.edu)
Office: 731 Soda, 2-3806
Office hours: M 2:30-3:30 (731 Soda), T 1-2 (401 Evans)

Hao Zhang (nhz@eecs.berkeley.edu)
Office: 547 Soda, 2-6193
Office hours: M 4-5, Th 4-5


An introduction to probabilistic methods and their applications in computer science.
Theory: basic probability theory; combinatorics and probability; Markov, Chebyshev, and other moment inequalities; large deviations; limited dependence; conditional expectation; martingales; the probabilistic method; Markov chains; fingerprinting; probability amplification and derandomization

Applications: sorting; data structures; pattern matching; graph algorithms; error-control coding; parallel and distributed algorithms; online algorithms; zero-knowledge proofs; electronic voting; digital cash


Motwani and Raghavan, Randomized Algorithms, Cambridge University Press, 1995.


The prerequisites are an upper division course on algorithms (CS 170 or equivalent) and a course on discrete mathematics including basic probability (Math 55 or equivalent).


There will be two quizzes and a final exam. Each quiz will count for 15% of your grade, the final will count for 35% and the homeworks will count for 35%.


The dates for the quizzes are Monday, Feb. 25, and Wednesday, Apr. 3.


There will be (roughly) weekly homework assignments, due one week after being passed out. Late homeworks will not be accepted.
You should try to solve problems on your own. If you discuss problems with another student, indicate on your writeup the name of your collaborator(s). In any case you must write up your own solutions.

Website and newsgroup

The course website is:


and the course newsgroup is