| Assignment | Due Date |
| HW 1 - initializable arrays | Monday 9/15 at 11:59pm |
| HW 2 - asymptotic notation | Wednesday 9/17 at 11:59pm |
| HW 3 - induction | Friday 9/19 at 11:59pm |
| HW 4 - AVL trees and graph representation | Tuesday 9/23 at 11:59pm |
| HW 5 - Barista service order (greedy algorithms) | Monday 9/29 at 11:59pm |
| HW 6 - More greedy algorithms | Wednesday 10/1 at 11:59pm |
| HW 7 - Amortized analysis | Sunday 10/5 at noon |
| HW 8 - Divide and conquer + Dynamic programming | Wednesday 10/15 at 11:59pm |
| HW 9 - Dynamic programming | Monday 10/20 at 11:59pm |
| HW 10 - Dynamic programming and flow | Sunday 10/26 at noon |
| Practice problems | Not due |
| HW 11 - Polynomial time reductions | Monday 11/3 at 11:59pm |
| HW 12 - More polynomial time reductions | Wednesday 11/5 at 11:59pm |
| HW 13 - Reductions and NP-completeness | Monday 11/10 at 11:59pm |