To keep this from being too cluttered, office hours are not included here. See the Office Hours / Staff tab.
- Mon, Jun 20
- Lecture 1: Welcome / Asymptotic Analysis
- Release Prehomework 1
- Wed, Jun 22
- Lecture 2: Karatsuba / MergeSort
- Release Homework 1
- Fri, Jun 24
- Session 1
- Session 1
- Mon, Jun 27
- Lecture 3: k-Select / Radix Sort and the Limits of Sorting
- Release Prehomework 2
- DuePrehomework 1
- Wed, Jun 29
- Lecture 4: Randomized Algorithms and QuickSort / Karger's Algorithm
- Thu, Jun 30
- Release Homework 2
- DueHomework 1
- Fri, Jul 1
- Session 2
- Session 2
- Wed, Jul 6
- Lecture 5: Universal Hashing / Bloom Filters
- Release Prehomework 3
- DuePrehomework 2
- Fri, Jul 8
- Lecture 6: Heaps and Priority Queues / Self-Balancing Binary Trees
- Sun, Jul 10
- Release Homework 3
- DueHomework 2
- Mon, Jul 11
- Session 3
- Session 3
- Wed, Jul 13
- Lecture 7: Graphs, BFS / Dijkstra's
- Release Prehomework 4
- DuePrehomework 3
- Fri, Jul 15
- Lecture 8: DFS and Topological Sort / Kosaraju's Algorithm
- Sun, Jul 17
- DueHomework 3
- Mon, Jul 18
- Session 4
- Session 4
- Wed, Jul 20
- Lecture 9: Midterm Review
- Fri, Jul 22
- Release Homework 4
- Exam 1: Midterm
- Sat, Jul 23
- DuePrehomework 4
- Mon, Jul 25
- Lecture 10: Bellman-Ford / Dynamic Programming
- Wed, Jul 27
- Lecture 11: Edit Distance, Knapsack
- Release Prehomework 5
- Fri, Jul 29
- Session 5
- Session 5
- Release Homework 5
- Sat, Jul 30
- DueHomework 4
- Mon, Aug 1
- Lecture 12: Spanning Trees / Greedy Algorithms
- Wed, Aug 3
- Lecture 13: Maximum Flow / Bipartite Matching
- Release Prehomework 6
- DuePrehomework 5
- Fri, Aug 5
- Session 6
- Session 6
- Release Homework 6
- Sat, Aug 6
- DueHomework 5
- Wed, Aug 10
- Lecture 14: Final Review
- DuePrehomework 6
- Thu, Aug 11
- DueHomework 6
- Fri, Aug 12
- Exam 2: Final