Book:How To Think Like a Computer Scientist