Instructor: Greg Valiant
CAs: Chirag Pabbaraju, Hans Hanley, Vijaykrishna Gurunathan, Ivan Villa-Renteria
Course Description: Randomness pervades the natural processes around us, from the formation of networks, to genetic recombination, to quantum physics. Randomness is also a powerful tool that can be leveraged to create algorithms and data structures which, in many cases, are more efficient and simpler than their deterministic counterparts. This course covers the key tools of probabilistic analysis, and application of these tools to understand the behaviors of random processes and algorithms. Emphasis is on theoretical foundations, though we will apply this theory broadly, discussing applications in machine learning and data analysis, networking, and systems. Topics include tail bounds, the probabilistic method, Markov chains, and martingales, with applications to analyzing random graphs, metric embeddings, random walks, and a host of powerful and elegant randomized algorithms.
Prerequisites: Prerequisites: CS 161 and STAT 116, or equivalents and instructor consent.
When/Where: We will meet in-person T/Th 1:30-2:50pm in Shriram 104. SCPD students: see the ``SCPD Students'' box below for how to participate in this course remotely.
Office hours. Starting in Week 2, the weekly schedule (all times Pacific) is:
Deviations from this schedule will be announced on our Ed discussion page.
NOTE: Office hours start in Week 2. There are no OH in Week 1, but please ask on Ed if you have a question or want to meet with a member of the course staff.
CS265/CME309 will be a "flipped class." This means that before class you will read lecture notes and/or watch the short recorded mini-lectures that Mary Wooters (who often co-teaches this class) has put together, and come to class ready to engage. In class, we will do active learning to practice and further develop the material from the mini-lectures. The agendas for each class (exercises and solutions) will be posted on this website (in the class-by-class resources below).
Since a large part of learning will happen during active in-class group work, we encourage you to attend class if possible. However, if you can't attend regularly, it is still possible to take this course, as all of the graded material can be done asynchronously. If you must do this, we encourage you to find other students in a similar situation to do the in-class work with asynchronously; Ed is a good place to find others.
Because this is a flipped class, all of the lecture material is recorded and available at the links below, so SCPD students can follow along just like in-person students. That is, before each class, you should watch the mini-lecture videos and/or read the lecture notes, and do the short pre-class quiz on gradescope. (No quiz before the first class).
The main class session -- which will be mostly group-work -- will not be recorded. You can do the in-class work on your own or asynchronously with other remote students. All in-class work and solutions will be posted below in the "class-by-class resources" section on the website.
We will also have at least one session of zoom office hours (see the OH schedule above). In addition to any questions about the material, you can also use these OH to work on the in-class problems there with a CA.
We will email all the SCPD students at the beginning of the quarter to connect you to each other to form study groups; you can also find study groups on Ed.
Here are the homework due dates. The homeworks will be posted here as they become available. Homeworks are due on Fridays at 11:59pm on Gradescope. We will post homework at least a week in advance, and we will shoot for the Wednesday 9 days before they are due.
Homeworks will mostly cover material from the preceding week (eg, HW1 is due in Week 2 and will cover material from Week 1), but may reach further back or have some hints of what's to come later. Likely topics are listed below, but are not binding.
Your grade is made up of:
Note that even though each HW may have a different number of total points, they will be rescaled so that they are out of 100 before averaging them; so all HW count for the same amount. Same goes for the quizzes.
There will be several options throughout the quarter for you to go above and beyond. (For example, bonus "might be fun to think about" problems, links to further reading, etc). These things do not factor directly into your grade, but they will factor into your learning! The course staff will be happy to give you feedback on any of these sorts of things, but we won't officially grade them.
We encourage collaboration with your classmates in class and on homework! Please acknowledge your collaborators. Note that plagiarism is never okay; anything you or your group hands in should be in your own words and should be something you understand.
It's fine to chat with your classmates about the quizzes, but each person should submit their own, and you should (of course) make sure you understand your answers.
There is no collaboration on the final exam.
Please follow the Stanford honor code. In this class, the following will be considered violations of the honor code:
We understand that Covid is still circulating, among other things, and that this disparately impacts different people. If you are in a situation that makes the format of this class especially difficult for you, please reach out. We will do everything we can to make sure that the course works for you.
Students who may need academic accommodations based on the impact of a disability should initiate the request with the Office of Accessible Education (OAE) and notify us as soon as possible at firstname.lastname@example.org.
Below, find class-by-class resources, including videos, lecture notes, in-class agendas and exercises, and further reading. All videos can be found on the YouTube playlist here.
Classes that have not happened yet may have broken links or links to draft (last year's) materials, and are subject to change.