I'm haven't said that, so please don't insult my students by saying that. My argument for it being a capstone stems not at all from that it's too hard. We can not, should not require our students to be putting in the amount of time necessary, in my opinion 40hrs/week, to completely 100% understand this material as a freshman. In my mind, completely understanding it is required for the 'enlightenment' that many like about SICP, but this is not true for many other courses. By putting it in Python, students can learn many useful skills along the way.
Furthermore, I'm arguing that all things being equal, the time is better spent as a senior when you might be able to get the same points for a much lower time commitment.
And, please, remember that this is just one class in a curriculum of CS courses. There is a lot of effort being put in by dozens of professors to graduate the best and brightest, which we do.
The link was the 6.945 course at MIT. As I understand it, it's SICP used in a graduate course. It still shows up on google if you search 6.945.
For the truly inquiring student, there's also a planned self-paced version of the course that may also include an honors option to dive deeper than what we can do in 61A (aka, SICP/6.001).
Whoa, stop. There's a lot of issues in this article. First of all, Berkeley is NOT getting rid of SICP and SICP ideas. This is flat out untrue.
I'm a recent instructor for the course, and I've spoken to several TA's about this course. Below is a rough summary of what we've discussed. This should not be construed as the "official line", but take from it what you will.
First, Berkeley are not getting rid of SICP. For those who aren't aware, they (the future TA's/instructors) are making lecture notes based on SICP but using Python 3).
From a TA:
At the end of the day most of the reason for moving to Python (beyond the weak argument that it's a bigger community), is that there was a meeting where they realized that nobody wanted to teach the course in Scheme after Brian retires. I'm not burning him at the stake, I read his argument and I've considered it. All I'm saying is that he has bad information. Also, lambda is cool but the only difference between that and defining a function inside the body of another function is the requirement of a name. I know lambda's amazing and it's not nearly as magical when you do it in Python, but Python supports proper closures which is the real reason lambda in Scheme is so powerful.
A different TA:
But the real reason it's not being taught in Scheme? My understanding is that it's not being taught is because no professor wants to teach it in Scheme.
Secondly, we talked about some concerns about whether SICP is actually a good INTRODUCTION. I don't think we dispute that there's a huge value in the course, but whether it's good for an introduction is I think, debatable
I do know that when I was a student, I raised many of these same concerns and frankly, I dont think those concerns are invalid. I think that until you have an appreciation for mathematical elegance and REALLY REALLY understand SICP, which appears to only be true for less than half of the students, much of it is lost. I know that was the case when I took the class, at least.
Should clarify. I'm not saying that 50% of the class "doesn't get it", but there's a deeper level that I think is hard to grasp for people who either don't spend 40 hours a week on this, or don't have a mathematical background.
Good example: Data directed programming. Me as a student was: WTF is this? So I always just call this 'get-data' function? What's the point? Where's the application?
The examples in Scheme are often /SO SIMPLE/ that exercises seem like they are dumb. They often look like a point docking trap in exams to students.
In my mind, SICP is better as a capstone, senior course. Think about all of us who defend it. Do we think that we could reach a better audience with that message if the audience were seniors looking for a summary/enlightenment, rather than freshmen exploring CS and engineering applications?
Correct me if I'm mistaken, but my understanding is that this is essentially SICP if they were to teach a graduate-version of the course. This looked /insanely/ cool.
In any case, for future TAs and Instructors of this course:
It is now up to you to make sure the spirit of SICP and CS education lives on! Not that it's been any different since the beginning of time.
These lectures were geared more toward budding computer scientists, whereas I feel that SICP was geared more towards experienced programmers. Hope they reach that target audience :).