- 20% Homework Assignments
- 50% 2 Midterms
- 30% Final Exam
- +5% Participation (class attendance, answering questions on piazza, etc.)
| WD | Date | Topics | Refs | Notes |
|---|---|---|---|---|
| Wed | 09/09 | Introduction and Course Policy | ||
| Mon | 09/14 | Sorting: Selection Sort, Insertion Sort, Merge Sort | HW1 out | |
| Wed | 09/16 | Asymptotic Analysis | ||
| Mon | 09/21 | Karatsuba's Algorithm, Recurrences, Recursion Trees | ||
| Wed | 09/23 | Master Theorem, Selection | HW1 due, HW2 out | |
| Mon | 09/28 | Dynamic Programming: Fibonacci, WIS | ||
| Wed | 09/30 | Dynamic Programming: WIS, Knapsack | ||
| Mon | 10/05 | Dynamic Programming: LIS, LCS | HW2 due, HW3 out | |
| Wed | 10/07 | Dynamic Programming: Edit Distance | ||
| Mon | 10/12 | No class: Indigenous Peoples Day | ||
| Wed | 10/14 | Midterm Review | HW3 due | |
| Mon | 10/19 | Midterm 1 | ||
| Wed | 10/21 | Greedy Algorithms | HW4 out | |
| Mon | 10/26 | Greedy Algorithms | ||
| Wed | 10/28 | Graphs: Graph Definitions, DFS | ||
| Mon | 11/02 | Graphs: DFS, Topological Sort | HW4 due | |
| Wed | 11/04 | Graphs: BFS | HW5 out | |
| Mon | 11/09 | Graphs: Dijkstra | ||
| Wed | 11/11 | No class: Veterans Day | ||
| Mon | 11/16 | Midterm 2 Review | ||
| Wed | 11/18 | Midterm 2 | HW5 due | |
| Mon | 11/23 | Graphs: Bellman-Ford | HW6 out | |
| Wed | 11/25 | No class: Fall Break | ||
| Mon | 11/30 | Graphs: MST | ||
| Wed | 12/02 | TBD | ||
| Mon | 12/07 | TBD | ||
| Wed | 12/09 | Final Review | HW6 due |
Final Exam: Date and time to be announced according to the university final exam schedule.
You cannot collaborate with anyone during the exams. You can collaborate with other students and use AI for your homework assignments. The latter is highly discouraged as the main purpose of the homeworks is to prepare you for the exams which account for 80% of your grade. Note that even if you use AI:
- You must understand and write all solutions by yourself.
- You may not share any written solutions with other students.
- You must state all your student and AI collaborators, and state the nature of the collaboration for each problem.
- We reserve the right to ask you to explain any solution that you submit.
- Textbooks
- [KT] Jon Kleinberg and Éva Tardos. Algorithm Design.
- [E] Jeff Erickson. Algorithms (available free electronically).
- [CLRS] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms.