the cover of think like a programmer an instruction to creative problem solver