15-750: Algorithms in the Real World, Fall 2024
- Lecturers: Daniel Sleator (sleator@cs), Rashmi
Vinayak (rvinayak@cs).
- TAs: Runtian Zhai (rzhai@andrew), Yixuan Mei (yixuanm@andrew).
- Office hours: Runtian Zhai (M 2-3pm) , Yixuan Mei (Wed 10-11am) (Any changes will be updated in the calendar below and on Piazza).
- Contacting us: Please use private messages on Piazza instead of emailing the course staff; this helps messages to not get lost.
- Lecture location: GHC 4303, Tue/Thu 11:00-12:20.
- Piazza: Link
- Gradescope: https://www.gradescope.com/
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.
Lectures
- Lecture 1 (Aug 27). Introduction, Triangle Counting, Strassen's Algorithm
- Lecture 2 (Aug 29). Minimum Spanning Trees and Amortized Analysis
- Lecture 3 (Sept 2). The analysis of Union-Find
- Lecture 4 (Sept 4). Dynamic Programming
- Notes Sections 4.4 through 4.6
were covered in lecture.
-
451 notes on DP Section 1 was covered in lecture.
- Kleinberg-Tardos has many fun examples of solving problems using DP (see the slides1, slides2 by Kevin Wayne).
- Lecture 5 (Sept 10). Hashing 1: Hashing with SUHA, analysis of collisions, two-level hashing
- Lecture 6 (Sept 12). Hashing 2: relaxing SUHA, hash function constructions, Load balancing - 1
Lecture 7 (Sept 17). Hashing 3: Load balancing - 2
- Notes on load-balancing.
- (Additional reading) Some detailed examples/exercises on Chernoff bounds (which includes topics discussed in this lecture).
Lecture 8 (Sept 19). Bloom Filters, Data Streaming (Sketching)
Lecture 9 (Sept 24). Suffix Trees and Applications
Lecture 10 (Sept 26). Constructing Suffix Arrays
Lecture 11 (Oct 1). Dimensionality Reduction: Preserving pairwise distances (JL Transform)
Lecture 12 (Oct 3). Principal Component Analysis (PCA)
Lecture 13 (Oct 8). Principal Component Analysis (PCA) - 2, SVD
Lecture 14 (Oct 22). Optimization I: Flows and Matchings
Lecture 15 (Oct 24). Optimization II: Min Cost Flows
Lecture 15 (Oct 29). Optimization III: Linear Programs
Lecture 16 (Oct 31). Decision Making Under Uncertainty 1: Prediction with Experts
Lecture 17 (Nov 6). Optimization IIII: Convex minimization and Gradient Descent
Lecture 18 (Nov 12). Decision Making Under Uncertainty 2: Competitive Algorithms
Lecture 19 (Nov 14). Competitive Algorithms 3, Compression 1 (Notes in slides format)
Lecture 20 (Nov 19). Compression 2 (Notes in slides format)
- Guy Blelloch's notes on compression. Chapters 2 and 3 are relevant to the lecture material.
Lecture 21 (Nov 21). Compression 3 (Notes in slides format)
- Guy Blelloch's notes on compression. Chapters 4 and 6 are relevant to the lecture material. Chapter 6 covers BWT using an alternative approach than what was presented in the lecture.
Lecture 22 (Nov 26). Lossy Compression and Algorithms for Channel Coding (Notes in slides format)
- You might find the scribe notes from Fall 2019 15-853 course that I had taught useful (although there are some differences in topics covered): Scribe notes 1
- (Optional) Chapter 1 from David MacKay's book.
Lecture 23 (Dec 3). Algorithms for Channel Coding 2: Basic concepts continued, Reed-Solomon codes (Notes in slides format)
- You might find these scribe notes from Fall 2019 15-853 course that I had taught useful (although there are some differences in topics covered): Scribe Notes 2, Notes 3 and Notes 4.
- (Optional) Chapter 1 from David MacKay's book.
Resources will be added for each lecture.