Structure and Interpretation of Computer Programs - 2nd Edition
by Harold Abelson, Gerald Jay Sussman (Contributor), Julie Sussman (Contributor)
I was just reading Gordon Weakliem's weblog and noticed that he'd gotten interested in Scheme and was reading the Little Schemer. I've read the Little Schemer and its OK, but Sussman and Abelson's "Structure and Interpretation of Computer Programs" has to be the best. It was used for years at MIT as the introductory text for computing. I've used it to teach hundreds of students in introductory computer science and programming language courses and think its the finest computer science text ever written. The book has very sophisticated prinicipals in it, including a heavy dose of abstraction, and I think it gives an excellent grounding in principles as well as teaching beginning students to write some pretty cool programs.