Winter Quarter 2015-16

Quick News:

All student work in the class is due by Wednesday, March 9, 5:00 pm.

There is a new version of the project starter code. Look under "Handouts", or here.

Be sure to read the CS161 homework policies.

The class meets MW 3:00 -- 4:20 pm in Hewlett 200.

CA office hours locations have changed -- be sure to check the Facts page or Piazza.

For instructions on electronic homework submission via Gradescope, see the relevant pinned posting on Piazza.

CS161 covers in depth fundamental data structures and techniques for discrete algorithm design and analysis. Specific topics to be covered include:

  • Algorithm analysis; worst and average case
  • Recurrences and asymptotics
  • Algorithms for sorting and selection
  • Randomized techniques
  • Search structures: heaps, balanced trees, skip lists, hash tables
  • Dynamic programming and greedy algorithms
  • Amortized analysis
  • Graph algorithms: breadth- and depth-first search, MSTs, shortest paths
  • Network flows

The course textbook is Introduction to Algorithms, Third Edition, by T. Cormen, C. Leiserson, R. Rivest, and C. Stein, MIT Press, 2009.

The class involves:

  • six weekly homeworks
  • a programming project
  • an in-class closed-book midterm
  • no final

In addition to the lectures and office hours, three recitation sections are available to further elaborate on the material covered.

We will use Piazza as the on-line forum for questions and discussion of the course material.

These pages are maintained by Leonidas Guibas guibas@cs.stanford.edu.

Last update: March 7, 2016.