Class meetings: Tuesdays and Thursdays, 12:30-1:45 p.m., Mitchell Hall, Room 202.

Piazza is used for all class discussion, including announcements, questions, and discussion of course content. Please use Piazza rather than email.

Course materials

Lecture notes

  1. Course overview and administrivia
  2. Asymptotic analysis review
  3. Recurrences and induction review Supplement: Proofs by induction by Jeff Erickson
  4. Probability and randomized algorithms
  5. Divide and conquer: induction, recurrences, the Master Method, recursion trees, and annihilators
  6. Dynamic programming
  7. Randomized data structures
  8. Greedy algorithms
  9. Midterm review
  10. Amortized analysis
  11. Minimum spanning trees
  12. Single source shortest paths
  13. All-pairs shortest paths
  14. NP-hardness and approximation algorithms

Additional lecture notes and assignments will appear here as the semester progresses.

Course staff

Instructor: Jared Saia

Email
saia@unm.edu
Office hours
Tuesdays and Thursdays, 2:00-3:00 p.m.
Location
Zoom (passcode 561)

Online problem-solving sessions immediately after class.

Teaching Assistant: Jingbo Liang

Email
liangjingbo@unm.edu
Office hours
Mondays and Wednesdays, 9:30-11:00 a.m.
Location
Farris Engineering Center, Room 3480

Earlier course preparation