Algorithms: Design and Analysis, Part 2 by Tim Roughgarden. (Coursera)
From the course description:
In this course you will learn several fundamental principles of advanced algorithm design: greedy algorithms and applications; dynamic programming and applications; NP-completeness and what it means for the algorithm designer; the design and analysis of heuristics; and more.
The course started December 3, 2012 so if you are going to join, best do so soon.