Schedule

The following is a tentative listing of the schedule of the course. Each day of the week will be filled in as topics are covered. The slides used in each class will be made available for download here.

Week Starting Topics Monday Wednesday Friday
1 01/05/26 Introduction Slides (PDF)
Slides (PPTX)
2 01/12/26 Representative Problems
3 01/19/26 Algorithm Analysis MLK Day
Assignment 1 Due
4 01/26/26 Graphs
5 02/02/26 Greedy Algorithms I
Assignment 2 Due
6 02/09/26 Greedy Algorithms II Exam 1
7 02/16/26 Divide and Conquer I SIGCSE
Assignment 3 Due
8 02/23/26 Divide and Conquer II
9 03/02/26 Dynamic Programming I
Assignment 4 Due
Exam 2
03/09/26 Spring Break
10 03/16/26 Dynamic Programming II
11 03/23/26 Network Flow
Assignment 5 Due
12 03/30/26 NP-completeness Good Friday
13 04/06/26 More NP-completeness Exam 3
Assignment 6 Due
14 04/13/26 Approximation Algorithms
14 04/20/26 Review
Assignment 7 Due

Exam Schedule

Here is the tentative exam schedule listed separately.

  • Exam 1: Monday, 02/09/2026, in class
  • Exam 2: Wednesday, 03/04/2026, in class
  • Exam 3: Monday, 04/06/2026, in class

  • Final: Friday, 04/24/2026, 10:00 a.m. - 12:15 p.m.