Structure and Interpretation of Computer Programs
Harold Abelson
MIT Electrical Engineering and Computer Science (1)