Sanjeev Arora, Princeton University.
Some courses I have taught:
Fall 2015:
COS 521: Grad Algorithms.
Spring 2015:
COS 598D: Overcoming Intractability in Machine Learning.
Fall 2014:
COS 521: Grad Algorithms.
Spring 2014:
COS 522: Advanced Computational Complexity
Fall 2013:
COS521 Grad Algorithms.
Spring 2012
COS521 (Advanced Algorithms)
and
Is Learning Easy?
Fall 2011
COS 522 (Advanced Complexity Theory)
Spring 2011
COS116 Computational Universe
Fall 2010
COS487 Theory of Computation.
Spring 2010 COS 522
Fall 2009
COS597C: How to Solve It
Spring 2009
Fall 2008 COS487 and COS521
Spring 2008 COS116
Fall 2007: COS597D:
How to think like a theorist
Spring 2006
: COS116: The Computational Universe.
Fall 2005:
COS521: Advanced Algorithm Design.
Spring 2005:
COS598B: Seminar in Algorithms and Complexity.
Fall 2004:
COS522: Computational Complexity Theory.
Spring 2004:
COS111, Computers and Computing
Spring 2003:
COS522:Advanced Complexity Theory.
Fall 2002:
Theorist's Toolkit
COS 487, Theory of Computation.
The link is to the webpage from the time I taught it last.
COS522: Advanced Complexity Theory.
COS 594: Advanced topics: Algorithms and Complexity