It's a shame that Berkeley dropped Scheme in favour of Python. In the words of the former CS61a teacher, Brian Harvey, who's retiring [1]:
"In an ironic development, while the Berkeley CS faculty pretty clearly regard the Python-based course as the future of 61A for Berkeley CS students, both the UC Online people and the team at Stanford developing technology for massive online courses are excited about adapting 61AS to their formats. So, down the road, it may be that everyone except Berkeley students can study SICP."
An also[2]:
"You can learn to program in any language. But it’s not just an accident that the authors of SICP chose Scheme as their teaching language. The big ideas in the book — the ones that alumni in the real world tell us they’re using in their work — express themselves best in Scheme. Indeed, saying it that way puts the matter backward. Gerry Sussman (with Guy Steele) invented Scheme before he turned (with Hal Abelson) to expressing the ideas behind Scheme in a course. SICP is Scheme, in tutorial form."
BTW, if you have some free time and want to learn Lisp, do yourself a favour and go watch the old Scheme-based lectures on Berkeley's webcast; they're awesome.
I definitely agree with all that you've said. On the other hand, as someone who doesn't live in the US and could never afford that kind of education, I don't really care.
I am actually grateful that I now have access to what looks like a great Python book in addition to the existing SICP book and videos.
I can't wait to read the Distributed and Parallel Computing chapter.
If you want to learn Python and you already know a programming language, you'll probably be best served by Python's official documentation: http://docs.python.org/
I'm not convinced it's a shame. As a freshmen, with only a small amount of previous programming experience, I didn't appreciate the beauty of abstraction or the elegance of the ideas presented.
A few years later, though, and I understand why it's a revered text. While there is something to be said for learning the fundamentals of computer science before bad habits are formed, it seems that the real messages are often lost in the hands of first-time CS students (which is probably over half the Berkeley freshmen EECS class).
That said, I haven't been through the alternative and I can't vouch for it.
"In an ironic development, while the Berkeley CS faculty pretty clearly regard the Python-based course as the future of 61A for Berkeley CS students, both the UC Online people and the team at Stanford developing technology for massive online courses are excited about adapting 61AS to their formats. So, down the road, it may be that everyone except Berkeley students can study SICP."
An also[2]:
"You can learn to program in any language. But it’s not just an accident that the authors of SICP chose Scheme as their teaching language. The big ideas in the book — the ones that alumni in the real world tell us they’re using in their work — express themselves best in Scheme. Indeed, saying it that way puts the matter backward. Gerry Sussman (with Guy Steele) invented Scheme before he turned (with Hal Abelson) to expressing the ideas behind Scheme in a course. SICP is Scheme, in tutorial form."
BTW, if you have some free time and want to learn Lisp, do yourself a favour and go watch the old Scheme-based lectures on Berkeley's webcast; they're awesome.
PS. I do most of my professional work in Python.
[1] http://www.cs.berkeley.edu/~bh/retire.html
[2] http://www.cs.berkeley.edu/~bh/proglang.html