Schedule

Week Description Dates Assignments
1 The Data Flywheel Sep 10 A1 Released: 9/10
2 Data Warehouses, Data Lakes, and Lakehouses Sep 15, 17 A2 Released: 9/17 A1 Due: 9/17
3 Batch Processing I Sep 22, 24 A2 Due: 9/24
4 Batch Processing II Sep 29, Oct 1 A3 Released: 10/01
5 Rubber, Meet Road Oct 6, 8 A3 Due: 10/08
6Reading Week: No Classes!
7 Midterm Exam Oct 20, 22
8 Data Infrastructure for Machine Learning Oct 27, 29 A4 Released: 10/29
9 Text Processing I Nov 3, 5 A4 Due: 11/05
10 Text Processing II Nov 10, 12 A5 Released: 11/12
11 Finding Similar Items Nov 17, 19 A5 Due: 11/19
12 Graph Processing Nov 24, 26 A6 Released: 11/26
13 Stream Processing Dec 1, 3 A6 Due: 12/03
14 LLMs Dec 8
Final Exam TBD

Week 1: The Data Flywheel Sep 10

Key Questions

  • What does it mean to be an AI-first or data-driven company?
  • What's the data flywheel?
  • What's data engineering?
  • What are data platforms?
  • What are the 4 V's of data?
  • What is this course about? And what is it not about?

Readings

The above readings are available for free online through the university's library. The links above point directly to Waterloo proxied content, but if you're having trouble accessing the material (e.g., due to VPN settings), you might have to go through the library's portal (i.e., search for the book title and follow the appropriate links).

Slides

PDF slides for Sep 10 (v1.00)

Back to top

Week 2: Data Warehouses, Data Lakes, and Lakehouses Sep 15, 17

Key Questions

  • What are the main differences between operational and analytical infrastructure?
  • What are data warehouses? What problems did they evolve to solve?
  • What are data lakes and lakehouses? What problems did they evolve to solve?
  • What are the components of modern data platforms?
  • How do operational and analytical data models differ?
  • What goes on in ETL/ELT?
  • How do different physical representations of data affect storage, compute, and other tradeoffs within data platforms?

Readings

The above readings are available for free online through the university's library. The links above point directly to Waterloo proxied content, but if you're having trouble accessing the content (e.g., due to VPN settings), you might have to go through the library's portal (i.e., search for the book title and follow the appropriate link).

Slides

PDF slides for Sep 15 (v1.01) PDF slides for Sep 17 (v1.00)

Back to top

Week 3: Batch Processing I Sep 22, 24

Key Questions

  • What's the difference between scaling up and scaling out?
  • What are the implications of distributed processing across many machines?
  • What are the challenges for a divide-and-conquer strategy?
  • What challenges does partitioning address? What challenges does it exacerbate?
  • What challenges does replication address? What challenges does it exacerbate?
  • What's MapReduce and how does it work with HDFS?
  • What challenges do communication and skew present in scaling out?
  • Why is local aggregation important?

Readings

Although the Hadoop book is quite old, the overall design of the framework remains relevant. Focus on its overall architecture and the tradeoffs encoded in the design; you can safely ignore details such as specific APIs, command-line invocations, classes, etc.

The above readings are available for free online through the university's library. The links above point directly to Waterloo proxied content, but if you're having trouble accessing the content (e.g., due to VPN settings), you might have to go through the library's portal (i.e., search for the book title and follow the appropriate link).

The following are optional. They comprise some of the primary sources from which lecture content is drawn, and can enrich your understanding by providing broader context.

In the original GFS/MapReduce papers, you'll notice an emphasis on aggregated storage (i.e., compute-disk locality). But that was over two decades ago... how does that approach compare to modern trends?

Slides

PDF slides for Sep 22 (v1.00) PDF slides for Sep 24 (v1.00)

Back to top

Week 4: Batch Processing II Sep 29, Oct 1

Key Questions

  • In what ways does Spark improve over MapReduce?
  • How is distributed group by implemented efficiently at scale?
  • How do commutative and associative operations contribute to efficient distributed execution?
  • How does partitioning contribute to efficient distributed execution?
  • How do these concepts come together in efficient joins at scale?

Readings

Reread the assigned readings from last week (or read for the first time if you haven't yet). The material will make a lot more sense given the lecture material. In addition:

Although both books are quite old, overall design, system architecture, and tradeoffs remain relevant. Focus on these aspects; you can safely ignore details such as specific APIs, command-line invocations, classes, etc. In the MapReduce book, Hadoop-specific material is outdated in the Spark context, but associativity and commutativity remain important as high-level concepts, independent of the execution framework.

The above readings are available for free online through the university's library. The links above point directly to Waterloo proxied content, but if you're having trouble accessing the content (e.g., due to VPN settings), you might have to go through the library's portal (i.e., search for the book title and follow the appropriate link).

The following are optional. They comprise some of the primary sources from which lecture content is drawn, and can enrich your understanding by providing broader context.

Slides

PDF slides for Sep 29 (v1.00) PDF slides for Oct 1 (v1.00)

Back to top

Week 5: Rubber, Meet Road Oct 6, 8

Slides

PDF slides for Oct 6 (v1.00) PDF slides for Oct 8 (v1.00)

Back to top

Week 7: Midterm Exam Oct 20, 22

The midterm exam will be on Thursday, October 22, 2026. It will be an in-class exam.

Class on Tuesday, October 20, 2026 is optional. I have a bit of prepared material (not on the midterm or the final), and will be available to answer any questions about the midterm.

Slides

PDF slides for Oct 20 (v1.00)

Back to top

Week 8: Data Infrastructure for Machine Learning Oct 27, 29

Key Questions

  • What are the key components of an ML solution?
  • How is the supervised machine learning problem formulated?
  • What roles do data platforms and data engineering play?

Readings

The above readings are available for free online through the university's library. The links above point directly to Waterloo proxied content, but if you're having trouble accessing the content (e.g., due to VPN settings), you might have to go through the library's portal (i.e., search for the book title and follow the appropriate link).

The following are optional. They provide a deeper dive of lecture content that can enrich your understanding and provide broader context.

Slides

PDF slides for Oct 27 (v1.00) PDF slides for Oct 29 (v1.00)

Back to top

Week 9: Text Processing I Nov 3, 5

Key Questions

  • How do data products with operational requirements complicate lakehouse architectures?
  • Why does retrieval remain important in the era of LLMs?
  • How is retrieval formulated as the problem of computing vector similarity?
  • What's the intuition behind sparse and dense vector representations?
  • For sparse vector representations, how do we assign weights?
  • For sparse retrieval, how do we perform top-k retrieval efficiently?

Readings

The above readings are available for free online through the university's library. The links above point directly to Waterloo proxied content, but if you're having trouble accessing the content (e.g., due to VPN settings), you might have to go through the library's portal (i.e., search for the book title and follow the appropriate link).

Slides

PDF slides for Nov 3 (v1.00)

Back to top

Week 10: Text Processing II Nov 10, 12

Key Questions

  • For sparse vector representations, how do we assign weights?
  • For sparse retrieval, how do we perform top-k retrieval efficiently?
  • For dense vector representations, how do we assign weights?
  • For dense retrieval, how do we perform top-k retrieval efficiently?
  • Do we need specialized databases for sparse and dense vectors?
  • Can we also learn sparse representations from data?
  • Why do we need rerankers?
  • What's the relationship between RAG and LLM tool use?
  • What challenges does MCP address?

Back to top

Week 11: Finding Similar Items Nov 17, 19

Key Questions

  • What do hash collisions have to do with finding similar items?
  • When do you use minhash? And random projections?
  • What are the knobs you control and what do they do?
  • What makes certain types of clustering algorithms amenable to scale-out distributed processing?
  • What are the parallels between k-means clustering and Gaussian Mixture Models?

Back to top

Week 12: Graph Processing Nov 24, 26

Key Questions

  • What are alternative approaches to representing graphs?
  • Why are graph algorithms challenging in MapReduce/Spark?
  • What is the general structure of graph traversals in MapReduce/Spark?
  • Why (even) MapReduce/Spark (for graph processing)?

Back to top

Week 13: Stream Processing Dec 1, 3

Key Questions

  • What are the challenges associated with stream processing?
  • What are the common patterns in connecting data producers and data consumers?
  • What are some common data structures and algorithms for processing unbounded streams?
  • What's the distinction between event time and processing time?
  • How do stream processing platforms fit into the lakehouse?

Back to top

Week 14: LLMs Dec 8

Back to top

Final Exam TBD

Back to top