CSE 572: Randomness & Computation

Graduate course, Computer Science & Engineering, University of Michigan, 2024

This is a graduate course on randomized algorithms.

I am a Graduate Student Instructor for the Fall 2024 offering of this course under Professor Nikhil Bansal. Here’s an outline of the course content.

  • Basic Algorithms (checking identities, fingerprinting and pattern matching, primality testing, randomized min-cut, graph algorithms)
  • Probabilistic Method (linearity of expectation, second moment method, Chernoff bounds, Lovasz local lemma)
  • Occupancy problems (balls into bins, power of two choices, hashing)
  • Algorithms for big data (unbiased estimators, streaming and sketching, frequency moments, JL transform)
  • Online Learning (experts, bandits, online convex optimization, stochastic gradient descent)
  • Interactive Proofs (graph non-isomorphism, number of unsatisfying assignments)
  • Derandomization (conditional probability, k-wise independence, pseudorandom generators)
  • Random walks (hitting time, 2-SAT, 3-SAT)
  • Linear Algebra (fast linear regression, spectral sparsification)
  • Approximation (LP/SDP rounding, basic spectral theory and optimization)
  • Complexity (PCP theorem (simpler version))