CS271 RANDOMNESS & COMPUTATION: Spring 2020

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 on Zoom
TA: Kush Bhatia (kush@cs; 8th Floor Berkeley Way West)
OFFICE HOURS: Tuesday 2:00-3:00, Wednesday 10:00-11:00 in Alcove 347 Soda on Zoom

Recent Announcements

  • (4/2) The notes for Lecture 20 are posted below; please be sure to read them today (or by next Monday at the latest). Feel free to post questions/clarifications/typos on Piazza. Please also remember to submit your answers to the Quiz questions on Lectures 19 and 20 by Monday. Takeaways from today's lecture:
  • (3/31) Welcome back! I hope you are all staying healthy and were able to get some rest over Spring Break. The notes for Lecture 19 are posted below; please be sure to read them today (or by the end of tomorrow at the latest). Feel free to post questions/clarifications/typos on Piazza. Also, as previously announced, we've also posted a Quiz (see new section after the Lecture Notes below): this Quiz is due on Monday 4/6, and is designed to encourage you to read the notes in real time. If you've read and understood the notes, the Quiz should take you very little extra time (unlike the homeworks, these questions do not require problem-solving). Takeaways from today's lecture:
  • (3/24) Please see today's Piazza post for an important announcement about class grading policy. Enjoy the rest of your Spring Break and see you all online again next week.
  • (3/19) The notes for Lecture 18 are posted below; please be sure to read them today (or by the end of Spring Break at the latest). Feel free to post questions/clarifications/typos on Piazza. Takeaways from today's lecture:
  • (3/17) I won't be able to hold my office hour this Thursday (3/19) 11-12 due to our (virtual) faculty retreat. Instead, I'll hold it on Friday 1-2pm. See the Piazza forum for zoom coordinates for both Kush and me.
  • (3/17) The notes for Lecture 17 are posted below; please be sure to read them today (or by the end of tomorrow at the latest). Feel free to post questions/clarifications/typos on Piazza. Takeaways from today's lecture: Both of these fundamental results, and their relatives, have been highly influential in the design of algorithms for high-dimensional data and for weighted graph problems.

  • (3/14) Effective immediately, we'll be moving to Zoom for office hours, in recognition of the fact that many students are not coming onto campus regularly at the moment. Zoom URLs for Kush and myself are posted on Piazza. Feel free to connect during any of our regularly scheduled office hours.
  • (3/13) Problem Set 2 has been graded and you can view your graded solutions on Gradescope; sample solutions are posted below, and include notes on the most common errors. I recommend that you take a few minutes to work through the sample solutions, even for problems on which you got full points. If you have any questions about the grading, please either post on Piazza or ask Kush by email or at office hours. As with the first set, these problems were non-trivial and most students did pretty well: don't worry too much about missing a few points here and there.
  • (3/13) Problem Set 3 is posted below; it is due at 5pm on Thursday April 9th. This set is a little longer than the last one, but you have plenty of time for it and you already have all the material you need. As always, you are advised to start early, and to work with others (but please be sure to write up your solutions on your own). Please remember to start each problem on a new page.

  • (3/12) The notes for Lecture 16 are posted below; please be sure to read them today (or before next Tuesday at the latest). Feel free to post questions/clarifications/typos on Piazza. Takeaways from today's lecture:
  • (3/10) The notes for Lecture 15 are posted below; please be sure to read them today (or before the end of tomorrow at the latest). Feel free to post questions/clarifications/typos on Piazza. Takeaways from today's lecture:
  • (3/9) The campus announced earlier today that all in-person lectures are cancelled through the end of Spring Break, March 29. (A further decision will be taken later about how to proceed after that.) As announced in class last week, this will impact CS271 as follows:
    1. Do not come to class tomorrow! Effective immediately, CS271 will move to a "guided reading" model, in which live lectures are replaced by scheduled reading of the lecture notes, with online support via Piazza. Full lecture notes will be posted on this web page at or before the corresponding scheduled lecture time. Students should aim to read the notes in detail during the day of the lecture (e.g., you may want to use the original lecture time for this), and in any event before the next scheduled lecture time. This will help to ensure that the class deviates as little as possible from live lectures, that you can follow online discussions, and that you don't fall behind.
    2. The reading of the notes will be supported by a Piazza forum, which has been set up today. (Please notify Kush if you did not receive a notification from Piazza, or if you have any difficulty accessing the forum.) Students are encouraged to ask questions about any aspect of the notes; we prefer public questions so that others can benefit from the answers, but you may post privately if you have some reason to do so. You are of course welcome to make your posts anonymous.
    3. We will continue to hold office hours as scheduled as far as possible: there may be some timing changes if conditions necessitate, but we will announce those on this web page.
    4. The schedule for homeworks will continue as planned, since these are already fully online. The Piazza forum can also be used to ask questions about homeworks (but please avoid public posts that give away solutions!). There will be two more homeworks, one due in early April (after Spring Break) and one due at the end of the semester.
    5. Students should be sure to monitor this web page daily for updates, as things may change quickly.
    Thank you for your understanding during this difficult time.


  • Lecture Notes

    Quizzes

    Problem Sets

    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 and very rough 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

    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 over-subscribed, there may not be space for auditors in lectures: if you are auditing the class, or on the waitlist, please be prepared to give up your seat to an enrolled student. If you decide to drop the class, please do so as early 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 assessment mechanism will depend on the final composition of the class and will be announced later. A major (and possibly the only) component will be a small number of sets of homework problems distributed through the semester. 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. If the class is not too large, students may also be asked to present a paper at the end of the semester. 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 on your own!