CS265

Welcome to CS265/CME309!

Randomized Algorithms and Probabilistic Analysis

Stanford University, Winter 2025.

Course Overview

Instructor: Mary Wootters

CAs: Joey Rivkin, Yue (Luna) Yang, Nevin George

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: Class is M/W, 11:30am-12:50pm in CERAS 300.

Office hours.

  • Mary: Mondays 3-5pm, Gates 168. (Note: Mary's OH are shared with CS250/EE387)
  • Nevin: Tuesdays 11am-1pm, Huang Basement
  • Joey: Wednesdays 3-5pm, Huang Basement
  • Luna: Thursday 1:30pm-3:30pm, Huang Basement

Deviations from this schedule will be announced on Canvas.

NOTE: Office hours start in Week 2. There are no OH in Week 1, but please ask on Ed if you have a question.

Course Structure

CS265/CME309 is a "flipped class." This means that you will watch short recorded mini-lectures and/or read lecture notes before class, 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.

Exception: Please do not come to class if you are sick.

Announcements

  • Course announcements will be posted on Canvas. If you don't check Canvas regularly, please make sure your notifications are set so that you get email announcements.

Useful Links

Assignments

This course will have (approximately) weekly homework, quizzes, and a final in-person exam.

Homework Assignments

    Here are the homework due dates. The homeworks will be posted here as they become available. Homeworks are due on (most) Fridays at 11:59pm on Gradescope. We will post HW at least a week before the due date.

    Homeworks will mostly cover material going up to Monday the week it is due, not covered on previous HW. For example, HW1 is due at the end of Week 2, and covers classes 1-3. There are a few weeks off due to Monday holidays. Likely topics are listed below, but are not binding. (In particular, we may save some listed topics for future homeworks).

    Solutions will be posted on Canvas.

    • Homework 1: (Classes 1-3: The basics, Karger's Alg., Primality Testing). Due Friday 1/17. [problem set] [LaTeX template]
    • Homework 2: (Classes 4,5: Markov and Chebyshev, Chernoff Bounds). Due Friday 1/31. [problem set] [LaTeX template]
    • Homework 3: (Classes 6-8: Balls and bins, Metric Embeddings). Due Friday 2/7.
    • Homework 4: (Classes 9,10: Sparsity; Probabilistic Method I). Due Friday 2/14.
    • Homework 5: (Classes 11-13: More probabilistic method, Markov chains I). Due Friday 2/28.
    • Homework 6: (Classes 13-15: More Markov Chains). Due Friday 3/7.
    • Homework 7: (Classes 16,17: Martingales) Due Friday 3/14.

Quiz Policies

(More) Course Policies

Assignments and Grading

Your grade is made up of:

  • 54% of your grade: HW. We will drop the lowest HW score; each remaining HW is worth 9%.
  • 17% of your grade: Pre-class quizzes: each quiz is worth 1%.
  • 29% of your grade: Final exam.

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.

Collaboration Policy

Homework: 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 y'all's own words.

Quizzes: 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.

Exam: There is no collaboration on the final exam.

LLM Policy

We view LLMs like ChatGPT, copilot, etc as knowledgeable (if fallible) friends who are not in your homework group. Thus, you are allowed to interact with them the same way as you would with such friends. It's fine to interact with them to build your intuition, get ideas, etc. But you should not have them do or write up your homework for you, just as you should not ask your friends outside of your homework group to do or write up your homework for you.

Academic Honesty

Please follow the Stanford honor code. In this class, the following will be considered violations of the honor code:

  • Having anyone else write up your homework for you, or looking at anyone else's write-up. This includes looking any HW solutions for past offerings of this class that may be floating around. (If you become aware of any such solutions on the internet or elsewhere, please let the course staff know).
  • Consulting anyone other than the course staff during the final exam.
  • Providing help to others in violation of the bullet points above.

Accommodations and flexibility

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 cs265-win2425-staff@lists.stanford.edu.

Class-by-class Schedule and Assignments

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.

1/6. Class 1: Introduction, Polynomial Identity Testing

1/8. Class 2: Karger's algorithm and the Karger-Stein algorithm

1/13. Class 3: Primality Testing

1/15. Class 4: Markov and Chebyshev inequalities; sampling-based median

1/20. Martin Luther King Day

No class.

1/22 Class 5: Moment generating functions; Chernoff bound; Randomized routing on the hypercube

1/27. Class 6: Balls and Bins; "Poissonization"; The power of 2 choices

1/29. Class 7: Metric Embeddings I; Bourgain's embedding

2/3. Class 8: Metric Embeddings II; Johnson-Lindestrauss Transform

2/5. Class 9: Dimension reduction and sparsity: Compressed Sensing; the RIP

2/10. Class 10: The probabilistic method I: bounding Ramsey numbers, derandomization via conditional expectations

2/12. Class 11: The probabilistic method II: Second-moment method and the Lovasz Local Lemma

2/17. Presidents' Day

No class.

2/19. Class 12: Moser's "Entropic Proof" of the Constructive/Algorithmic Lovasz Local Lemma

2/24. Class 13: Introduction to Markov chains; randomized algorithm for 2SAT

2/26. Class 14: Fundamental theorem of Markov chains; stationary distributions; Markov Chain Monte Carlo

3/3. Class 15: Mixing times; strong stationary times; coupling

3/5. Class 16: Martingales; the Doob Martingale; Azuma-Hoeffding tail bounds

3/10. Class 17: The martingale stopping theorem; applications

3/12. Class 18: A taste of pseudorandomness: expanders and extractors