Exercises from How To Design Programs