Tentative List of Topics for the Semester


Lecture Schedule

1/21— Introduction and course announcements

Reading: (not required) Python notebook used for introductory lecture

1/26— Balls and Bins I: The birthday paradox (Notes)

Reading: Chapter 1.1

1/28— Balls and Bins II: The coupon collector problem (Notes)

Reading: Chapter 1.2

2/2— Balls and Bins III: Load balancing and the Chernoff bound (Notes)

Reading: Chapter 1.3.1, 1.3.2, 1.3.4

2/4— Balls and Bins IV: Proof of the Chernoff bound (Notes)

Reading: Chapter 1.3.3

2/9— The Hoeffding bound and its applications (Notes)

Reading: Chapter 1.4

2/11— Hashing I: Dictionaries and hash tables

Reading: Chapter 2.1-2.3

2/18— Hashing II: Pairwise independence

Reading: Chapter 2.4

2/23— Streaming I: Estimating distinct elements

Reading: Chapter 3.2

2/25— Streaming II: Estimating distinct elements: improving accuracy

Reading: Chapter 3.2

3/2— Streaming III: Misra-Gries and Count-Min Sketch

Reading: Chapter 3.1, 3.3

3/4— Streaming IV: Count Sketch

Reading: Chapter 3.3

3/9— Streaming V: Quantile Estimation

Reading: Chapter 3.4

3/11— Random Graphs I: Definitions, estimating isolated vertices

Reading: Chapter 4.1, 4.2.1

3/16— Random Graphs II: Connectivity, diameter, and expansion

Reading: Chapter 4.2.2-4.2.3

3/18— Random Graphs III: Ramsey Theory

Reading: Chapter 4.3

3/23— Random Graphs IV: The Probabilistic Method

Reading: Chapter 4.3