Lecture Slides
Click on the links below to access lecture slides, annotated notes, and online lecture recordings.
| Week |
Date |
Original Slides |
Annotated Slides |
Online Lecture |
| Week 1 |
3/4 |
Lecture 1-1: Course Introduction |
- |
- |
| 3/6 |
Lecture 1-2: Getting Started (1.1, 1.2, 2.1) |
With Notes |
- |
| Week 2 |
3/11 |
Lecture 2-1: Algorithm Analysis (2.2, 2.3.1) |
With Notes |
- |
| 3/13 |
Lecture 2-2: Algorithm Analysis (2.3) |
With Notes |
- |
| Week 3 |
3/18 |
Lecture 3-1: Asymptotic Notation |
- |
- |
| 3/20 |
Lecture 3-2: Asymptotic Notation (3.2 - 3.3) |
- |
- |
| Week 4 |
3/25 |
Lecture 4-1: Divide-and-Conquer (4.1, 4.2, 4.3) |
With Notes |
- |
| 3/27 |
Lecture 4-2: Divide-and-Conquer (4.4, 4.5) |
- |
- |
| Week 5 |
4/1 |
Lecture 5-1: Probabilistic Analysis and Randomized Algorithms (Chapter 5) |
With Notes |
Watch Lecture |
| 4/3 |
Lecture 5-2: Heapsort (6.1, 6.2, 6.3) |
With Notes |
Watch Lecture |
| Week 6 |
4/8 |
Lecture 6-1: Heapsort (6.3, 6.4, 6.5) |
With Notes |
- |
| 4/10 |
Lecture 6-2: Quicksort (7.1, 7.2, 7.3, 7.4) |
With Notes |
- |
| Week 7 |
4/15 |
Lecture 7-1: Sorting in Linear Time (Chapter 8) |
With Notes |
- |
| 4/17 |
Lecture 7-2: Medians and Order Statistics (Chapter 9) |
- |
- |
| Week 8 |
4/22 |
Mid-term (Presentation) |
| 4/24 |
| Week 9 |
5/1 |
Lecture 8-1: Elementary Data Structure (Chapter 10) |
With Notes |
- |
| 5/6 |
Lecture 8-2: Hash Table (11.1, 11.2, 11.3.1) |
With Notes |
Watch Lecture |
| Week 10 |
5/8 |
Lecture 9-1: Binary Search Tree (Chapter 12) |
With Notes |
- |
| 5/13 |
No class – Department Event |
| Week 11 |
5/15 |
Lecture 10-1: Dynamic Programming (Chapter 14.1) |
With Notes |
- |
| 5/20 |
Lecture 10-2: Dynamic Programming (Chapter 14.2) |
With Notes |
- |
| Week 12 |
5/22 |
Lecture 11-1: Greedy Algorithms (Chapter 15) |
With Notes |
- |
| 5/27 |
Lecture 11-2: Elementary Graph Algorithms (Chapter 20.1)/ Student Presentation |
With Notes |
- |
| Week 13 |
5/29 |
Lecture 12-1: Breadth-First Search (Chapter 20.2) |
With Notes |
Watch Lecture |
| 6/3 |
Presidential Election Day |
| Week 14 |
6/5 |
Lecture 13-1: DFS + Shortest Paths (Chapter 20.3 + 22.0) |
With Notes |
- |
| 6/10 |
Lecture 13-2: Dijkstra’s Algorithm + NP-Completeness (Chapter 22.3 + 34) |
With Notes |
- |
| Week 15 |
6/12 |
Student Presentation Day |
| Week 16 |
6/17 |
Final Exam |
| 6/19 |