Course offered online on coursera.org from Standford