Structure and Interpretation of Computer Programs
Wikipedia: "Structure and Interpretation of Computer Programs (SICP) is a textbook published in 1985 about general computer programming concepts from MIT Press written by Massachusetts Institute of Technology professors Harold Abelson and Gerald Jay Sussman, with Julie Sussman. It has been used as the textbook for an introductory course in computer programming for students of computer science at MIT, where it is known as 6.001, and at other schools. Now in its second edition, it is widely considered a classic text in computer science."