" Think Like a Programmer An Introduction to Creative Problem Solving" By V. Anton Spraul