The Steam Powered Turing Machine University of Washington Department of Computer Science & Engineering
 CSE 421: Introduction to Algorithms, Winter 2014
  CSE Home   CSE 421 Home  About Us    Search    Contact Info 

Course outline
 Stable matching
 Asymptotic analysis
 Graph traversal
 Greedy algorithms
 Divide and conquer
 Dynamic programming
 Maximum flow
 P, NP, and NP-completeness
Homework Assignments
  Homework #1 
  Homework #2 
  Homework #3 
  Homework #4 
  Homework #5 
  Homework #6 
  Homework #7 
  Homework #8 
Lecture Notes
  Grading Guidelines
Useful Links
  SB Algorithm Repository
  Stable matching:
   Theory, evidence,
   and practical design
MWF 1:30-2:20    JHN 175

Office Hours Location Phone
Instructor: James R. Lee   jrl@cs  
Mondays 2:20-4:00
Wednesdays 2:20-3:00
Fridays 2:20-3:00
CSE 640 616-4368
TAs: Armando Diaz Tolentino cse421-staff@cs
Tuesdays 2:30-4pm
Fridays 11-12pm
CSE 021
CSE 021
Yanling He cse421-staff@cs
Tuesdays 11:30-1230pm
Fridays 3-4pm
CSE 220
CSE 220
Shen Wang cse421-staff@cs
Mondays 4-5pm
Thursdays 3:30-4:30pm
CSE 021
CSE 021

Grading: Homework 50%, midterm 20%, final 30%. Extra credit.

Homework: There will be 8 roughly weekly homework assignments, due on Wednesdays. Please read the grading guidelines to help you understand what is expected on your homework.


  • Algorithm Design by Jon Kleinberg and Eva Tardos, Addison-Wesley, 2006.

    We will cover almost all of chapters 1-8 of the Kleinberg/Tardos text.

Another handy reference is Steven Skiena's Stonybrook Algorithm Repository which is also listed in the Useful Links section on the left column of this page.

Midterm Exam: Wednesday, February 12th, in class. This will be open book (hard copies only) and open notes. Topics for the midterm include material up to the end of dynamic programming. SAMPLE Midterm SAMPLE Midterm Solutions

Final Exam: Monday, March 17, 2014, 230-420 pm, JHN 175. This will be open book and open notes. Here are some practice final exams for inspiration: Sample Final 1, Sample Final 2, Sample Final 3.

Suggestions or Comments? You can send comments to the instructor and TAs via the e-mail list "cse421-staff at cs"

Catalog Description: Techniques for design of efficient algorithms. Methods for showing lower bounds on computational complexity. Particular algorithms for sorting, searching, set manipulation, arithmetic, graph problems, pattern matching. Prerequisite: either CSE 312 or CSE 322; either CSE 326 or CSE 332.

Portions of the CSE 421 Web may be reprinted or adapted for academic nonprofit purposes, providing the source is accurately quoted and duly credited. The CSE 421 Web: © 1993-2014, Department of Computer Science and Engineering, University of Washington.