CS388R: Randomized Algorithms (Spring 2026)

Logistics: TTh 2-3:30
GDC 5.304
Unique Number: 53530
Course web page: http://www.cs.utexas.edu/~diz/388R
Professor: David Zuckerman
Email: diz@cs.utexas.edu
Office: GDC 4.508
Phone: 512-471-9729
Office Hours: TBD.
Texts: Required: Motwani and Raghavan, "Randomized Algorithms". This covers about 80% of the course topics.
Highly Recommended: Mitzenmacher and Upfal, Probability and Computing, 2nd edition ( Errata). This covers about 40% of the course topics. It is targeted at a somewhat lower level than the required text, and should be particularly valuable for students without strong theory/math backgrounds. However, I highly recommend it for everybody.
Content: Randomness is extremely useful for developing algorithms that are faster, and often simpler, than their deterministic counterparts. In this course we will develop tools and techniques for the design and analysis of efficient randomized algorithms. A list of topics follows.

Probabilistic foundations and basic algorithms: RP and BPP, Min Cut, tail inequalities, randomized selection, pairwise independence (2 weeks).

More probability and algorithms: Balls and bins, randomized routing, martingales, probabilistic method, derandomization (2 weeks).

Randomized compression: Sketching, dimension reduction, sparsification, matrix Chernoff (2 weeks)

Combinatorial optimization and approximation algorithms: Linear programming in small dimension, randomized rounding, semidefinite programming and Max Cut (2 weeks).

Algebraic techniques and isolation: Fingerprinting, polynomials, matching and isolation lemma, primality testing (2 weeks).

Random walks and the Monte Carlo method: Hitting and cover times, Undirected s-t Connectivity, expanders and mixing times, probability amplification, approximating #DNF, Markov chain Monte Carlo (3-4 weeks).

Pseudorandomness: Pseudorandom generators and randomness extractors (1 week).

Prerequisites: Mathematical and computational maturity, plus familiarity with the following topics:
  • Discrete Probability, at least at the undergraduate level;
  • Linear algebra, including vector spaces and eigenvectors/eigenvalues;
  • Combinatorics, at least basic combinatorics and graph theory;
  • Algorithms, including their analysis and the notion of polynomial time.
In particular, you should be familiar with the topics in this background sheet, except I won't assume knowledge of fields. Many students find this course difficult, so good intuition about probability and a strong math background is highly recommended.
Grading (tentative): 20%: Homework (5-7 problem sets)
25%: Midterm
45%: Final exam
10%: Participation
Exams: The midterm will be held in class on Thursday, March 12. The final exam will be cumulative, emphasizing the second half. The default time is May 4 from 8-10am, but I will try to reschedule because I know students don't like to wake up that early. No make-up exams will be given, so please plan accordingly. For the midterm, you may bring a single, 8.5x11 inch, handwritten sheet of paper, with writing on both sides; for the final you may bring two such sheets. No calculators are allowed (they won't be necessary).
Homework: I anticipate assigning five to seven problem sets.

Collaboration policy: While you should first think about the problems on your own, you are encouraged to discuss the problems with your classmates. Please limit your collaborations on any particular homework to at most three other students. Discussion of homework problems may include brainstorming and verbally walking through possible solutions, but should not include one person telling the others how to solve the problem. In addition, each person must write up their solutions independently, and these write-ups should not be checked against each other or passed around or emailed. You must acknowledge any collaboration by writing your collaborators' names on the front page of the assignment. You don't lose points by having collaborators.

Citation policy: Try to solve the problems without reading any published literature or websites, besides the class text and links off of the class web page. If, however, you do use a solution or part of a solution that you found in the literature or on the web, you must cite it. Furthermore, you must write up the solution in your own words. You will get at most half credit for solutions found in the literature or on the web.

Use of AI: You may use AI to help you understand material. However, you may not use AI to solve the homework problems for you. If you want hints for the homework, ask the professor.

Submission policy: Each student has two late days that they can use during the semester with no penalty (one assignment two days late, or two assignments one day late). Once late days are used up, no credit will be given for late assignments. A day here means 24 hours. The weekend doesn't count, so Friday to Monday counts as one day. I may not allow late days for certain assignments.

Participation and Attendance: Your participation grade is based on the quality and quantity of your participation. While attendance is not required, poor attendance will be reflected in your participation grade.
Canvas: We will use Canvas, which contains Ed Discussion. Homeworks and grades will be posted on Canvas. We will use Ed Discussion for class discussion. Instead of emailing questions to the teaching staff, please post your question to Ed Discussion.
Laptops/Phones: The use of laptops and mobile devices is generally prohibited, but tablets are allowed if you use them only for class-related purposes. All phones must be silenced.
Students with
Disabilites:
Any student with a documented disability (physical or cognitive) who requires academic accommodations should contact the Services for Students with Disabilities area of the Office of the Dean of Students at 471-6259 (voice) or 471-4641 (TTY for users who are deaf or hard of hearing) as soon as possible to request an official letter outlining authorized accommodations.

Last modified: January 4, 2026