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

  • (5/3) Problem Set 4 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. As usual, 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. This problem set was quite a bit shorter than the previous ones, and most people who made a serious attempt at it did pretty well.

  • (4/27) Solutions for Quiz 4 are posted below. Note that there are no more lectures or quizzes, and that the deadline for HW4 is this coming Thursday, 4/30. Office hours continue as usual this week. Please recall that we can't offer extensions on this HW because we want to get letter grades assigned before the deadline for P/NP (S/U) grading.

  • (4/23) The notes for Lecture 26 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 recall that Quiz 4 (covering Lectures 25 and 26) is due at 5pm next Monday (4/27). This is the last lecture note and the last quiz of the class. Takeaways from today's lecture:
  • (4/21) Quiz 4 (covering Lectures 25 and 26, due next Monday 4/27) and the solutions for Quiz 3 are now posted below. Quiz 4 will be the last of the semester.

  • (4/21) Please be sure to fill out the course survey. You can access the survey by logging in at https://course-evaluations.berkeley.edu.

  • (4/21) The notes for Lecture 25 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:
  • (4/20) Problem Set 3 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. As usual, 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. This problem set was pretty long and challenging, but most students made a good job of it: as always in this class, you shouldn't worry about missing a few points here and there.

  • (4/16) Problem Set 4 is posted below; it is due at 5pm on Thursday April 30th. This is the last problem set of the class, and is definitely shorter than the other ones. 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). Feel free to use Piazza and/or office hours for guidance, and Piazza for connecting with classmates. Also, we will NOT be releasing any new material after next week. So the last lecture note will be released on Thursday April 23, and the last Quiz (covering lectures 25 and 26) will be due on Monday 4/27. This gives you plenty of time in which to complete Problem Set 4. Note that we won't be able to give any extensions for that set, because we want to have it graded in time for you to make your decisions about letter grades vs P/NP (or S/U).

  • (4/16) The notes for Lecture 24 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 recall that Quiz 3 (covering Lectures 23 and 24) is due at 5pm next Monday (4/20). Takeaways from today's lecture:
  • (4/14) The notes for Lecture 23 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. Quiz 3 (covering Lectures 23 and 24, due next Monday 4/20) and the solutions for Quiz 2 are also posted below. Takeaways from today's lecture:
  • (4/9) A number of students have requested an extension for HW3. In recognition of the fact that this HW is a big longer than average, and that people generally seem to need more time, we're extending the deadline by 2 days, to 5pm Saturday (4/11). If you have already submitted and want to amend your submission on Gradescope, you are welcome to do so.

  • (4/9) The notes for Lecture 22 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 recall that HW3 is due at 5pm today, and Quiz 2 (covering Lectures 21 and 22) at 5pm next Monday (4/13). Takeaways from today's lecture:
  • (4/7) The notes for Lecture 21 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. Quiz 2 (covering Lectures 21 and 22, due next Monday 4/13) and the solutions for Quiz 1 are also posted below. Takeaways from today's lecture:
  • (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:

    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!