CS271 RANDOMNESS & COMPUTATION: Fall 2024

INSTRUCTOR: Alistair Sinclair (sinclair@cs; 677 Soda)
LECTURES: Tuesday, Thursday 9:30-11:00 in 310 Soda
OFFICE HOURS: Tuesday, Thursday 11:00-12:00 in 677 Soda

READER: Vilas Winstein (vilas@berkeley.edu)
OFFICE HOUR: Wednesday 1:00-2:00 in 1044 Evans

Recent Announcements

Lecture Notes

Homeworks

Quizzes

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:

Prerequisites

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.

Registration

The class is currently full (based on room capacity and GSI resources). Students will be admitted from the waitlist, or given access codes, if and when space becomes available. Following department policy, all students - including auditors - are required to register for the class. Auditors should register S/U; an S grade will be awarded for regular class participation. Since the class is already full, there may not be space for auditors in lectures: if you are auditing the class, or are still awaiting enrollment, please do not attend lectures until a space becomes available; you may follow the class using the lecture notes posted here.

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 main (and possibly 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.

In addition, there may also be a short weekly or bi-weekly quiz consisting of a few multiple-choice questions designed to test your understanding of that week's lectures. This should take minimal additional time if you are following the class.

Finally, for full credit students are expected to attend class regularly. Occasional absences are fine, but systematic non-attendance is not.