Both office hours will be Recitation Sectiosn dedicated to group-solving select problems. They will be held
over Zoom to facilitate written collaboration.
Grader/Teaching Assistant
Jose Abel Castellanos Joo
Please contact via Piazza if necessary. Jose is working 10/hours week on this class, so please be
respectful of his time.
Class Info
The class meets Tuesdays and Thursdays, 3:30-4:45 in DSH, Room 229.
Course Description
This class covers advanced topics in Algorithms and Data Structures with a focus on mathematical techniques, proofs
and analysis. Topics to be covered will likely include the following:
Randomized Algorithms, fingerprinting, data streaming algorithms, coupon collectors, birthday paradox, skip lists;
Network Flow: Max Matchings, Min-cut Max-flow duality;
Linear Programming, and basic game theory; NP-Hardness and Approximation Algorithms.
Text Book
We will be loosely using the book: Introduction to Algorithms (third edition) by Cormen, Leiserson, Rivest
and Stein, as well as significant supplemental material and lecture notes.
Class Discussion via Piazza
I've set up a Piazza forum for all class announcements and discussion. Piazza allows for
public, private and anonymous questions, and extensive math formatting support.
Please use it instead of email, even for direct correspondence with me. I check it once a day around 1pm.
Start each problem at the top of its own page! Mark pages for each problem correctly! This facilitates
grading, and prevents overlooking problems when grading.
Slides from Lectures:
Note: Some of the material in these notes, including many examples and
figures are from Jeff Erickson's class notes for
CS373 at the
University of Illinois Urbana Champagne.
Prereq: CS 361 either taken at UNM or equivalent class. You should have taken an algorithms class where you
learned proofs of correctness, asymptotic notation,
recurrence relations, proof by induction, basic algorithms (e.g. search and sorting) and data structures (e.g.
binary trees and graphs). I will assume all students are very familiar with this prerequisite material.
Annihilator Notes
Annihilators are a powerful technique for solving recurrence
relations. Following are notes on Annihilators by Jeff Erickson at the
University of Illinois Urbana Champagne. Most of my discussion is
based on these notes.