Programming assignment from Algorithm class offered by Coursera and Princeton University