INSTRUCTOR: Alistair Sinclair (sinclair@cs; 677 Soda)
LECTURES: Tuesday, Thursday 9:30-11:00 in 310 Soda
OFFICE HOURS: Monday 1:00-2:00, Thursday 11:00-12:00 in 677 Soda
READER: Pranav Trivedi (pranavtrivedi@berkeley.edu)
OFFICE HOUR: Wednesday 12:00-1:00 in 1044 Evans

Recent Announcements

Lecture Notes


Course Description

One of the most remarkable developments in Computer Science over the past 50 years has been the realization that allowing computers to toss coins can lead to algorithms that are more efficient, conceptually simpler and more elegant than their best known deterministic counterparts. Randomization has since become such a ubiquitous tool in algorithm design that any kind of encyclopedic treatment in one course is impossible. Instead, I will attempt to survey several of the most widely used techniques, illustrating them with examples taken from both algorithms and random structures. A tentative course outline, just to give you a flavor of the course, is the following:


Mathematical maturity, and a solid grasp of undergraduate material on Algorithms and Data Structures, Discrete Probability and Combinatorics. If you are unsure about the suitability of your background, please talk to me before committing to the class. As this is a graduate class, students are responsible for filling in any gaps in their knowledge as needed.


The class is over-subscribed, with some students on the waitlist or waiting for access codes. Due to room capacity constraints, and for the safety and comfort of all, please do not attend lectures unless you are officially registered for the class: you may instead follow the class using the lecture notes. Students will be admitted from the waitlist, or given access codes, if and when others drop the class. If you decide to drop the class, please do so as soon as possible so that another student may take your place.

Suggested References

There is no required text for the class, and no text that covers more than about one third of the topics. However, the following books cover significant portions of the material, and are useful background references.

Lecture Notes

Notes for most or all lectures will be posted on this web page shortly after each lecture. The notes will cover most, but not necessarily all of the material presented in class.

Assessment etc.

The major (and probably the only) component will be a small number of sets of homework problems distributed through the semester. These homeworks will be fairly substantial. You are encouraged to read the lecture notes and do the exercises sprinkled through them as we go along, as these will ensure that you absorb the material in real time and should make the homeworks more manageable. You are strongly encouraged to solve the homework problems on your own, or in consultation with classmates. If you find it necessary to consult other sources, these must be acknowledged. In all cases, it is essential that you write up your homework solutions entirely on your own.