my solutions to some problems in How to Design Programs