I have to disagree with The Little Schemer, despite the fact that I took freshman CS with Matthias Felleisen (one of the two authors), thought his course was brilliant, and absolutely swore by Scheme by the time I was done.
I felt the book paled in comparison with his lectures. The book is, in some sense, too short; it doesn't have enough examples, and it also doesn't discuss essential language features such as let/local. Also, it has a shortage of long examples (pretty much everything there consists of a single function).
Also the book is ridiculously easy for the entire first half (approximately), and then suddenly dumps you into the deep end (they present the Y combinator).
I felt the book paled in comparison with his lectures. The book is, in some sense, too short; it doesn't have enough examples, and it also doesn't discuss essential language features such as let/local. Also, it has a shortage of long examples (pretty much everything there consists of a single function).
Also the book is ridiculously easy for the entire first half (approximately), and then suddenly dumps you into the deep end (they present the Y combinator).