Mathematical Discovery on Understanding, Learning, and Teaching Problem Solving, Volume I by Sam Sloan & George Palya