Algorithms: Design and Analysis, Part I on coursera.org study note & program code.