Exercises and assignment for coursera algorithms part I