Structure and interpretation of computer programs
Massachusetts Institute of Technology