How To Think Like A Mathematician by Kevin Houston