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.