| WEEK | DATE | TOPIC | READING |
| 1 | 01/22 | Basic Concepts | Chapters 1-4 |
| 2 | 01/29 | Divide-and-Conquer on Linear Data Structures | Sections 7.1-7.2, 7.4.1; Chapter 8; Sections 10.1-3; Chapter 11 |
| 3 | 02/05 | Probabilistic Analysis and Randomized Algorithms | Chapter 5; Sections 7.3, 7.4.2 |
| 4 | 02/12 | Median and Order Statistics | Chapter 9 |
| 5 | 02/19 | Algorithms on Trees | Section 10.4; Chapters 6, 12-14, 18 |
| 6 | 02/26 | Dynamic Programming and Memoization | Chapter 15 |
| 7 | 03/04 | Greedy Algorithms | Chapter 16 |
| 8 | 03/11 | Spring break | |
| 9 | 03/18 | Mid-term Examination | |
| 10 | 03/25 | Amortized Analysis | Chapter 17 |
| 11 | 04/01 | Basic Graph Algorithms | Chapters 22-23 |
| 12 | 04/08 | Advanced Graph Algorithms | Chapters 24-25; Sections 26.1-2 |
| 13 | 04/15 | Linear Programming | Chapter 29 |
| 14 | 04/22 | Tractability and Approximation | Chapters 34-35 |
| 15 | 04/29 | Summary and Beyond | |
| 16 | 05/06 | study day (no class) | |
| 17 | 05/13 | Final Examination |