# CS246 | Home

https://web.stanford.edu/class/cs246/index.html#schedule

[CS246](https://web.stanford.edu/class/cs246/index.html)
  * [Content](https://web.stanford.edu/class/cs246/index.html#content)
  * [Schedule](https://web.stanford.edu/class/cs246/index.html#schedule)
  * [Course Info](https://web.stanford.edu/class/cs246/info.html)
  * [Office Hours](https://web.stanford.edu/class/cs246/oh.html)
  * [FAQ](https://web.stanford.edu/class/cs246/faq.html)
  * [Gradescope](https://www.gradescope.com/courses/1209796)
  * [Ed](https://edstem.org/us/courses/90489/discussion)
  * [Canvas](https://canvas.stanford.edu/courses/216982)


[ ![](https://web.stanford.edu/class/cs246/images/snaplogo.png) ](http://snap.stanford.edu/) [ ![](https://web.stanford.edu/class/cs246/images/stanfordlogo.png) ](http://stanford.edu/)
# CS246: Mining Massive Data Sets
### Winter 2026
##    
Lectures: T/Th 3:00-4:20pm NVIDIA auditorium.  

## Logistics
  * **Lectures:** are on Tuesday/Thursday 3:00-4:20 PM PDT in person in the NVIDIA Auditorium. 
  * **Lecture Videos:** are available on [Canvas](https://canvas.stanford.edu/courses/216982) for all the enrolled Stanford students. You can also check our past [Coursera MOOC](https://www.youtube.com/channel/UC_Oao2FYkLAUlUVkBfze4jg/videos).
  * **Public resources** : The lecture slides and assignments will be posted online as the course progresses. We are happy for anyone to use these resources, but we cannot grade the work of any students who are not officially enrolled in the class.
  * **Contact** : Students should ask _all_ course-related questions on [Ed](https://edstem.org/us/courses/90489/discussion), where you will also find all the announcements. For external enquiries, personal matters, or in emergencies, you can email us at _cs246-win2526-staff@lists.stanford.edu_.
  * **Academic accommodations** : If you need an academic accommodation based on a disability, you should initiate the request with the [Office of Accessible Education (OAE)](https://oae.stanford.edu/students/getting-started/requesting-new-or-additional-accommodations). The OAE will evaluate the request, recommend accommodations, and prepare a letter for faculty. Students should contact the OAE as soon as possible since timely notice is needed to coordinate accommodations.


### Instructor
[ ![](https://web.stanford.edu/class/cs246/images/Jure.jpg) Jure Leskovec ](https://profiles.stanford.edu/jure-leskovec)
### Guest Co-Instructor
[ ![](https://web.stanford.edu/class/cs246/images/charilaos.jpg) Charilaos Kanatsoulis ](https://sites.google.com/site/harikanats/)
### Course Assistants
[ ![](https://web.stanford.edu/class/cs246/images/Hongyue_Li.png) Hongyue Li (Head TA) ](https://li-hong-yue.github.io/)
[ ![](https://web.stanford.edu/class/cs246/images/Tim.jpg) Tim Chen ](https://www.linkedin.com/in/tianyi-chen-6970071ab)
[ ![](https://web.stanford.edu/class/cs246/images/Harper.jpg) Harper Hua ](https://www.linkedin.com/in/harper-hua-83b209295/)
[ ![](https://web.stanford.edu/class/cs246/images/Ayush.jpeg) Ayush Agrawal ](https://www.linkedin.com/in/ayush-agrawal1/)
[ ![](https://web.stanford.edu/class/cs246/images/Josh.JPG) Josh Sanyal ](https://www.linkedin.com/in/josh-sanyal/)
[ ![](https://web.stanford.edu/class/cs246/images/Sirui.jpg) Sirui (Ariel) Chen ](https://www.linkedin.com/in/sirui-chen-6492a0232/)
[ ![](https://web.stanford.edu/class/cs246/images/Rishabh.jpg) Rishabh Ranjan ](https://rishabh-ranjan.github.io)
[ ![](https://web.stanford.edu/class/cs246/images/ZhenyuZhang.jpg) Zhenyu Zhang ](https://www.linkedin.com/in/zhenyu-z-629625253/)
  

## Content
### What is this course about? [[Info Handout](https://web.stanford.edu/class/cs246/handouts/CS246_info_handout_26.pdf)]
The course will discuss data mining and machine learning algorithms for analyzing very large amounts of data. The emphasis will be on MapReduce and [Spark](http://spark.apache.org) as tools for creating parallel algorithms that can process very large amounts of data.  
**Topics include** : Frequent itemsets and Association rules, Near Neighbor Search in High Dimensional Data, Locality Sensitive Hashing (LSH), Dimensionality reduction, Recommendation Systems, Clustering, Link Analysis, Large-scale Supervised Machine Learning, Data streams, Mining the Web for Structured Data, Web Advertising. 
###  Previous offerings
The previous version of the course is [CS345A: Data Mining](http://www.stanford.edu/class/cs345a/) which also included a course project. CS345A has now been split into two courses, CS246 and CS341.
You can access class notes and slides of previous versions of the course here:   
|  **CS246 Websites** : [CS246: Winter 2025](https://snap.stanford.edu/class/cs246-2025/WWW/) / [CS246: Winter 2024](https://snap.stanford.edu/class/cs246-2024/WWW/) / [CS246: Spring 2023](https://snap.stanford.edu/class/cs246-2023/) / [CS246: Winter 2022](http://snap.stanford.edu/class/cs246-2022/) / [CS246: Spring 2021](http://snap.stanford.edu/class/cs246-2021/) / [CS246: Winter 2020](http://snap.stanford.edu/class/cs246-2020/) / [CS246: Winter 2019](http://snap.stanford.edu/class/cs246-2019) / [CS246: Winter 2018](http://snap.stanford.edu/class/cs246-2018) / [CS246: Winter 2017](http://snap.stanford.edu/class/cs246-2017) / [CS246: Winter 2016](http://snap.stanford.edu/class/cs246-2016) / [CS246: Winter 2015](http://snap.stanford.edu/class/cs246-2015) / [CS246: Winter 2014](http://snap.stanford.edu/class/cs246-2014) / [CS246: Winter 2013](http://snap.stanford.edu/class/cs246-2013) / [CS246: Winter 2012](http://snap.stanford.edu/class/cs246-2012) / [CS246: Winter 2011](http://snap.stanford.edu/class/cs246-2011)  |  
| --- |  
|  **CS345a Website** : [CS345a: Winter 2010](http://snap.stanford.edu/class/cs345a-2010)  |  
###  Prerequisites
Students are expected to have the following background:
  * Knowledge of basic computer science principles and skills, at a level sufficient to write a reasonably non-trivial computer program (e.g., CS107 or CS145 or equivalent are recommended).
  * Good knowledge of Java and Python will be extremely helpful since most assignments will require the use of Spark. 
  * Familiarity with basic probability theory (CS109 or Stat116 or equivalent is sufficient but not necessary). 
  * Familiarity with writing rigorous proofs (at a minimum, at the level of CS 103).
  * Familiarity with basic linear algebra (e.g., any of Math 51, Math 103, Math 113, CS 205, or EE 263 would be much more than necessary).
  * Familiarity with algorithmic analysis (e.g., CS 161 would be much more than necessary).


The recitation sessions in the first weeks of the class will give an overview of the expected background.
###  Reference Text
The following text is useful, but not required. It can be downloaded for free, or purchased from Cambridge University Press.  
[Leskovec-Rajaraman-Ullman: Mining of Massive Dataset](http://www.mmds.org/)
  

##  Schedule
Lecture slides will be posted here shortly before each lecture. If you wish to view slides further in advance, refer to [2025 course offering's slides](https://snap.stanford.edu/class/cs246-2025/WWW/), which are mostly similar. 
_This schedule is subject to change. All deadlines are at**11:59pm PST**._  
| Date  | Description  | Suggested Readings  | Events  | Deadlines  |  
| --- | --- | --- | --- | --- |  
| Tue Jan 6  | Introduction; MapReduce and Spark   
[[slides](https://web.stanford.edu/class/cs246/slides/01-intro.pdf)]   | 
  * [Ch1: Data Mining](http://infolab.stanford.edu/~ullman/mmds/ch1n.pdf)
  * [Ch2: Large-Scale File Systems and Map-Reduce](http://infolab.stanford.edu/~ullman/mmds/ch2n.pdf)

 |   |   |  
| Thu Jan 8  | Frequent Itemsets Mining   
[[slides](https://web.stanford.edu/class/cs246/slides/02-assocrules.pdf)]   | 
  * [Ch6: Frequent itemsets](http://infolab.stanford.edu/~ullman/mmds/ch6.pdf)

 |  [Colab 0](https://colab.research.google.com/drive/1TUwrnggqW-90eckeyQaFWe8ZqgWnkPNj), [Colab 1](https://colab.research.google.com/drive/16rTSARfhmMGIKnFhqTrku_lNIqtkzhmv), [Homework 1](https://web.stanford.edu/class/cs246/homework/hw1-bundle.zip) **out**  |   |  
| Sat Jan 10  | Recitation: Spark tutorial   
 |   |   |   |  
| Tue Jan 13  | Locality-Sensitive Hashing I   
[[slides](https://web.stanford.edu/class/cs246/slides/03-lsh.pdf)]   | 
  * [Ch3: Finding Similar Items](http://infolab.stanford.edu/~ullman/mmds/ch3n.pdf) (Sect. 3.1-3.4)

 |   |   |  
| Thu Jan 15  | Locality-Sensitive Hashing II   
[[slides](https://web.stanford.edu/class/cs246/slides/04-lsh_theory.pdf)]   | 
  * [Ch3: Finding Similar Items](http://infolab.stanford.edu/~ullman/mmds/ch3n.pdf) (Sect. 3.5-3.8)

 |  [Colab 2](https://colab.research.google.com/drive/1g2iPmdeBmKmix2b7AhVM_ZNsVpHznSf7)   
**out**  | Colab 0,  
Colab 1  
**due**  |  
| Thu Jan 15  | Recitation: Linear Algebra   
 |   |   |   |  
| Fri Jan 16  | Recitation: Probability and Proof Techniques  
 |   |   |   |  
| Tue Jan 20  | Clustering   
[[slides](https://web.stanford.edu/class/cs246/slides/05-clustering.pdf)]   | 
  * [Ch7: Clustering](http://infolab.stanford.edu/~ullman/mmds/ch7.pdf) (Sect. 7.1-7.4)

 |   |   |  
| Thu Jan 22  | Dimensionality Reduction   
[[slides](https://web.stanford.edu/class/cs246/slides/06-dim_red.pdf)]   | 
  * [Ch11: Dimensionality Reduction ](http://infolab.stanford.edu/~ullman/mmds/ch11.pdf) (Sect. 11.4)

 |  [ Colab 3](https://colab.research.google.com/drive/1UUJRRelh4bdz-a-3AT5siLRa7NFQuYUO), [Homework 2](https://web.stanford.edu/class/cs246/homework/hw2-bundle.zip) **out**  | Colab 2,  
Homework 1 **due**  |  
| Tue Jan 27  | Recommender Systems I   
[[slides](https://web.stanford.edu/class/cs246/slides/07-recsys1.pdf)]   | 
  * [Ch9: Recommendation systems](http://infolab.stanford.edu/~ullman/mmds/ch9.pdf)

 |   |   |  
| Thu Jan 29  | Recommender Systems II   
[[slides](https://web.stanford.edu/class/cs246/slides/08-recsys2.pdf)]   | 
  * [Ch9: Recommendation systems](http://infolab.stanford.edu/~ullman/mmds/ch9.pdf)

 |  [Colab 4](https://colab.research.google.com/drive/1osyDmJyFndnCXlQwEV23KUG9HE_Cw43A)   
**out**  | Colab 3  
**due**  |  
| Tue Feb 3  | PageRank   
[[slides](https://web.stanford.edu/class/cs246/slides/09-pagerank.pdf)]   | 
  * [Ch5: Link Analysis](http://infolab.stanford.edu/~ullman/mmds/ch5.pdf) (Sect. 5.1-5.3, 5.5)

 |   |   |  
| Thu Feb 5  | Extensions of PageRank to Recommendations and Spam   
[[slides](https://web.stanford.edu/class/cs246/slides/10-spam.pdf)]   | 
  * [Ch5: Link Analysis](http://infolab.stanford.edu/~ullman/mmds/ch5.pdf) (Sect. 5.4)
  * [Ch10: Analysis of Social Networks](http://infolab.stanford.edu/~ullman/mmds/ch10n.pdf) (Sect. 10.1-10.2, 10.6)

 |  [ Colab 5](https://colab.research.google.com/drive/1-RMveqBjAbkLnThnFRpIp3VLqWdhgpN_?usp=sharing), [Homework 3](https://web.stanford.edu/class/cs246/homework/hw3-bundle.zip) **out**  | Colab 4,  
Homework 2 **due**  |  
| Tue Feb 10  | Community Detection in Graphs   
[[slides](https://web.stanford.edu/class/cs246/slides/11-graphs.pdf)]   | 
  * [Ch10: Analysis of Social Networks](http://infolab.stanford.edu/~ullman/mmds/ch10n.pdf) (Sect. 10.3-10.5)

 |   |   |  
| Thu Feb 12  | Graph Representation Learning   
[[slides](https://web.stanford.edu/class/cs246/slides/12-graphemb.pdf)]   | 
  * [Inductive Representation Learning on Large Graphs](https://arxiv.org/pdf/1706.02216.pdf)
  * [Do Transformers Really Perform Bad for Graph Representation?](https://arxiv.org/pdf/2106.05234.pdf)
  * [Sign and Basis Invariant Networks for Spectral Graph Representation Learning](https://arxiv.org/pdf/2202.13013.pdf)

 |  [ Colab 6](https://colab.research.google.com/drive/1M4-dd_WvSu9jJMVtYSUdCJfE0ZKS9qzg?usp=sharing)   
**out**  | Colab 5  
**due**  |  
| Tue Feb 17  | Graph Neural Networks   
[[slides](https://web.stanford.edu/class/cs246/slides/13-GNNs.pdf)]   | 
  * [How Powerful Are Graph Neural Networks?](https://arxiv.org/pdf/1810.00826.pdf)
  * [Identity-aware Graph Neural Networks](https://arxiv.org/pdf/2101.10320)
  * [Graph Neural Networks are More Powerful than We Think](https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=10447704)
  * [Position-aware Graph Neural Networks](https://arxiv.org/pdf/1906.04817)

 |   |   |  
| Thu Feb 19  | Relational Deep Learning   
[[slides](https://web.stanford.edu/class/cs246/slides/14-RDL.pdf)]   | 
  * [Relational Deep Learning - Graph Representation Learning on Relational Databases](https://arxiv.org/pdf/2312.04615)
  * [RelBench: A Benchmark for Deep Learning on Relational Databases](https://arxiv.org/pdf/2407.20060)

 |  [ Colab 7](https://colab.research.google.com/drive/1M0OsVRU5DdxRcEbbo4x8hE7Lh9dQD-HF?usp=sharing), [Homework 4](https://web.stanford.edu/class/cs246/homework/hw4-bundle.zip) **out**  | Colab 6,  
Homework 3  
**due**  |  
| Tue Feb 24  | Decision Trees   
[[slides](https://web.stanford.edu/class/cs246/slides/15-dt.pdf)]   | 
  * [Ch12: Large-Scale Machine Learning](http://infolab.stanford.edu/~ullman/mmds/ch12.pdf)

 |   |   |  
| Thu Feb 26  | Mining Data Streams I & II   
[[slides](https://web.stanford.edu/class/cs246/slides/16-streams.pdf)]   | 
  * [Ch4: Mining data streams](http://infolab.stanford.edu/~ullman/mmds/ch4.pdf)

 |  [ Colab 8](https://colab.research.google.com/drive/114IiI2Bvo2r1hMimu8XatqCt29ADUryz?usp=sharing)   
**out**  | Colab 7  
**due**  |  
| Tue Mar 3  | Computational Advertising   
[[slides](https://web.stanford.edu/class/cs246/slides/17-advertising.pdf)]   | 
  * [Ch8: Advertising on the Web](http://infolab.stanford.edu/~ullman/mmds/ch8.pdf)

 |   |   |  
| Thu Mar 5  | Optimizing Submodular Functions   
[[slides](https://web.stanford.edu/class/cs246/slides/18-submodular.pdf)]   |   |  [ Colab 9](https://colab.research.google.com/drive/1TsH7JGeWyQ9ccLVF4LTrsGe2MdODhcy9?usp=sharing)   
**out**  | Colab 8,  
Homework 4  
**due**  |  
| Tue Mar 10  | Bandits   
[[slides](https://web.stanford.edu/class/cs246/slides/19-bandits.pdf)]   | 
  * [Turning Down the Noise in the Blogosphere](http://www.cs.cmu.edu/~kbe/tdn_kdd09.pdf) by El-Arini, Veda, Shahaf, Guestrin. KDD 2009.  


 |   |   |  
| Thu Mar 12  | Guest Lecture: Ruiyang Wang, Anthropic   
[[slides](https://web.stanford.edu/class/cs246/slides/20-guest.pdf)]   |   |   | Colab 9  
**due**  |  
| Thu Mar 19, 12:15 PM - 3:15 PM  | Final Exam  |   |   |   |
