Back to index
OtherTen week quarter, around ten to fifteen hours a week if you do the assignments·Slides, assignments and the textbook are free online; Stanford or SCPD enrollment costs money

Stanford CS246: Mining Massive Data Sets

4.4

The algorithmic backbone that most modern AI curricula skip entirely, taught by the person who wrote the textbook. Locality sensitive hashing and streaming sketches matter more now than they did when this course was designed, and almost nobody else teaches them properly.

What We Liked

  • Mining of Massive Datasets, the accompanying textbook, is free and genuinely excellent
  • Locality sensitive hashing is taught properly, which is directly relevant to vector search work
  • Colab based assignments mean you can do the practical work without a cluster
  • Jure Leskovec is a leading researcher in the area and it shows in the framing
  • Covers the scale problem, which most machine learning courses quietly assume away

What Could Be Better

  • Lecture videos sit behind Stanford's Canvas, so self learners get slides and the book only
  • The MapReduce material feels dated in a way the rest of the course does not
  • Assumes real comfort with probability, linear algebra and proof writing
  • Nothing about transformers, embeddings from language models, or modern retrieval stacks
  • Homework grading is unavailable to anyone not enrolled, so you self assess

Detailed review

There is a category of knowledge that used to be niche and has quietly become central, and CS246 is the course that teaches it. Ten years ago, understanding locality sensitive hashing was something you needed if you worked on web scale deduplication. Today, anyone building a retrieval system is using approximate nearest neighbour search whether they understand it or not, and the number of people running vector databases without any model of what the index is actually doing is uncomfortably high. Jure Leskovec teaches the course at Stanford and co wrote the accompanying textbook, Mining of Massive Datasets, with Anand Rajaraman and Jeff Ullman.

The book is free to download, which means the core intellectual content of the course is available to anyone regardless of enrollment. That is a significant thing and it is the main reason I am recommending the course to people who cannot take it at Stanford. The syllabus covers MapReduce and Spark as computational models, frequent itemset mining, similarity search and locality sensitive hashing, dimensionality reduction, recommender systems, clustering at scale, link analysis including PageRank, supervised learning on large data, data stream algorithms and computational advertising. The unifying idea is that when the data does not fit in memory, you cannot use the algorithm you learned in your first machine learning course, and you need a different set of tools built around approximation, sampling and single pass processing.

That framing is the value. The similarity search material is the standout. Minhashing and locality sensitive hashing are taught from first principles, with the probability worked through properly rather than waved at. If you have ever wondered why your approximate nearest neighbour index returns a slightly different set of results each time you rebuild it, or how you would pick between recall and latency in a retrieval system, this is where you find out.

I would rate this section above anything I have seen in a vector database vendor's documentation, and it is not close. The data streams section has aged equally well. Bloom filters, count min sketch, reservoir sampling, the Flajolet Martin approach to counting distinct elements. These are the tools you reach for when you need an answer over a firehose and cannot store it, and that situation has become more common, not less.

The assignments use Colab notebooks alongside written problem sets, which is a sensible arrangement. You get practical implementation without needing to provision a Spark cluster, and the written problems force you to actually understand the probability rather than pattern match on code. Now the criticisms, and the first one is structural for self learners. Lecture videos are behind Stanford's Canvas and available to enrolled students.

Slides and assignments are posted publicly, and archived material from previous offerings is around, but you are getting the skeleton and not the lectures. Combined with the free textbook this is workable, and plenty of people have learned the material this way, though it is a harder route than a course designed for open access. The MapReduce material is where the age shows. The computational model is explained clearly and the concepts of shuffling, partitioning and combiners are worth knowing, but the industry has largely moved on and a lot of the specific framing feels like a course written when Hadoop mattered more than it does.

The Spark coverage is more current. This is a fixable dated section in an otherwise durable course. The prerequisites are real and should not be minimised. You need probability, linear algebra, algorithmic analysis and enough proof writing comfort to follow a bound derivation.

If those are shaky, the course will feel like a wall. The recitation sessions in the first weeks exist for exactly this reason, and the archived versions are worth finding. The thing that is not here is anything modern in the deep learning sense. No transformers, no fine tuning, no language model anything.

This is a data mining and algorithms course and it is deliberate about that scope. If you came to a review site looking for an AI course and land here, understand that CS246 sits underneath the AI work rather than being AI work. It makes the systems you build faster, cheaper and more correct, and it does not teach you to build models. My 4.4 is a course with excellent, durable content, a free textbook that stands on its own, and two structural problems for outside learners in the video access and the ageing MapReduce sections.

For anyone doing retrieval, search, recommendations or anything at scale, this is the highest value thing on this site that nobody talks about.

[ final ]

The verdict.

Take this if you build systems that touch large amounts of data and want to understand what is happening underneath your vector database. Skip it if you are looking for applied deep learning, because that is not what this is.