15-750: Algorithms in the Real World, Fall 2025
- Lecturer: Jason Li (jmli@cs).
- TA: Meredith Pan (shiqip@andrew).
- Office hours: Meredith Thursdays 4-5pm, Gates 5th floor commons (subject to change); Jason Tuesdays 2-3pm, Gates 5011
- Contacting us: Please use private messages on Piazza instead of emailing the course staff; this helps messages to not get lost.
- Lecture location: Wean 5415, Tue/Thu 11:00-12:20.
- Piazza: Link
- Gradescope: entry code 42EVZR
Course Details and Policies
- Please read the course policies
carefully!!!
- Links
to resources to help brush up on your background.
- The course page will develop more as we proceed through the lectures.
Homeworks
Lectures
- Lecture 1 (Aug 26). Introduction, Triangle Counting, Strassen's Algorithm (notes)
- Lecture 2 (Aug 28). Minimum Spanning Trees and Amortized Analysis (notes)
- Lecture 3 (Sept 2). The analysis of Union-Find (notes)
- Lecture 4 (Sept 4). Shortest paths: Dijkstra, Bellman-Ford, Floyd-Warshall (notes)
- Lecture 5 (Sept 9). Dynamic Programming (notes)
- Notes Sections 4.1, 4.2, 4.5, 4.6
were covered in lecture.
-
451 notes on DP Sections 2 and 3 were covered in lecture.
- Kleinberg-Tardos has many fun examples of solving problems using DP (see the slides1, slides2 by Kevin Wayne).
- Lecture 5 (Sept 11). Hashing 1: Hashing with SUHA, analysis of collisions (notes)
- Lecture 6 (Sept 16). Hashing 2: Two-level hashing, hash function constructions, Load balancing - 1 (notes)
Lecture 7 (Sept 18). Hashing 3: Load balancing - 2 (notes)
- Notes on load-balancing.
- (Additional reading) Some detailed examples/exercises on Chernoff bounds (which includes topics discussed in this lecture).
Lecture 8 (Sept 23). Data Streaming. Frequency Estimator. (notes from 15-850), we covered up to page 4
Lecture 9 (Sept 25). Dimensionality Reduction: Preserving pairwise distances (JL Transform) (notes from 15-850)
Lecture 10 (Sept 30). Trie and Suffix Tree (Meredith's notes)
Lecture 11 (Oct 2). Construction of Suffix Arrays (Meredith's notes)
Lecture 12 (Oct 7). Singular Value Decomposition (SVD) (notes)
Midterm Exam (Oct 9).
Lecture 13 (Oct 21). Optimization I: Flows and Matchings (notes)
Lecture 14 (Oct 23). Optimization II: Min Cost Flows (notes)
Lecture 15 (Oct 28). Optimization III: Linear Programs (notes)
Lecture 16 (Oct 30). Decision Making Under Uncertainty 1: Prediction with Experts (notes from 15-850), we covered up to the top of page 4
Lecture 17 (Nov 6). Applications of Multiplicative Weights: Solving LPs and Zero-Sum Games (notes from 15-850 (1)) from page 4 to middle of page 5, (notes from 15-850 (2)) until middle of page 2
Lecture 18 (Nov 11). Applications of Multiplicative Weights: Zero-Sum Games (finish) (notes from 15-850)
Lecture 18 (Nov 13). Convex minimization and Gradient Descent (notes from 15-850)
Lecture 19 (Nov 18). Compression 1: Entropy, Prefix Codes, Huffman Codes (notes)
Lecture 20 (Nov 20). Compression 2: Arithmetic Coding, Burrows-Wheeler Transform (notes) (slides)
- Guy Blelloch's notes on compression. Chapters 3.3, 4, and 6 are relevant to the lecture material.
Lecture 21 (Nov 25). Compression 3: Burrows-Wheeler Transform, Lossy Compression (Notes in slides format)
- Guy Blelloch's notes on compression. Chapters 4 and 6 are relevant to the lecture material.
Lecture 22 (Dec 2). Polynomials in Algorithms 1: k-wise Independence, Reed-Solomon Codes (notes)
Lecture 23 (Dec 5). Polynomials in Algorithms 2: Graph Matching, Schwartz-Zippel Lemma (notes from 15-850)
Resources will be added for each lecture.