CS 229r: Algorithms for Big Data

Prof. Jelani Nelson     TF: Thomas Steinke

[Home] [Lectures] [Assignments] [Project]

Big data is data so large that it does not fit in the main memory of a single machine, and the need to process big data by efficient algorithms arises in Internet search, network traffic monitoring, machine learning, scientific computing, signal processing, and several other areas. This course will cover mathematically rigorous models for developing such algorithms, as well as some provable limitations of algorithms operating in those models. Some topics we will cover include:

This course is intended for both graduate students and advanced undergraduate students satisfying the below prerequisites.




Mathematical maturity and comfort with algorithms (e.g. CS 124), discrete probability, and linear algebra.


Homework solutions, scribe notes, and final projects must be typeset in LaTeX. If you are not familiar with LaTeX, see this introduction. The lecture and assignment pages also have templates to get you started.


There is no textbook for this class (we will rely on our scribe notes). Also, here is a(n incomplete) list of courses with scribe notes for overlapping material taught at other institutions:

This website's layout and some course policies have been borrowed from this course.