Teach Yourself Programming in Ten Years Teach Yourself Programming in Ten Years by Peter Norvig Take a lifetime to be a good (and happy) programmer by Scott Johnson