It's a shame that they're removing SICP in favour of a technical introductory text.
Python is great and all, but SICP isn't about teaching Scheme.
61–70 of 207 posts
It's a shame that they're removing SICP in favour of a technical introductory text.
Python is great and all, but SICP isn't about teaching Scheme.
Even MIT abandoned SICP for its introductory course in favor of Python. But I believe it's featured in its second course, no? I don't consider that a mistake. If you're getting rid of it from the curriculum altogether, though, that's a mistake. This article didn't say if that was the case or not. (Also the point of SICP being language agnostic is fairly false. I mean sure you can implement iteration as recursion in o…
Your points. 1) MIT did not abandon SICP: it decided that it no longer wanted to teach core CS concepts. There was an interview with Abelson on HN a while back, look that up for more. SICP is not featured in the courses at all, unless you count 6.945, an advanced class with Sussman, that goes far beyond. 2) The fact that iteration is a special case of recursion is a fact that does not depend on a language. For its pa…
Wait, what? Are you claiming that the MIT undergraduate CS program does not "teach core CS concepts"? Or are you only talking about a single introductory course?
Earlier quoted context omitted.
If that's what a school wants to do, then it should just discontinue CS and rename it software engineering. Actually, my old school had such a major...
It's not an either/or. Software Engineering is a part of Computer Science.
I love SICP as much as the next person. I've spent vacations devouring it while despairing girlfriends try to get my attention. Seriously, it is awesome . But, being realistic, an incredible amount of value is currently being created by software engineering . Value to society, and (hence) value to those who can practice the craft. I'm not surprised that so many schools are teaching software engineering, instead of co…
Earlier quoted context omitted.
If that's what a school wants to do, then it should just discontinue CS and rename it software engineering. Actually, my old school had such a major...
It's not an either/or. Software Engineering is a part of Computer Science.
Given Python's learning curve, a much better curriculum would involve going through the codebase of a few well-chosen projects, sending in a few patches and perhaps writing a report on the high-level design of the piece of software or on how the project solves a particular problem (how does XYZ handle i18n? how does ABC stay stable even on a failing network?)
I've always found SICP quite overrated (I'm saying this after reading it). Given Python's learning curve, a much better curriculum would involve going through the codebase of a few well-chosen projects, sending in a few patches and perhaps writing a report on the high-level design of the piece of software or on how the project solves a particular problem (how does XYZ handle i18n? how does ABC stay stable even on a f…
I think that starting with Python is a fine choice. Please keep in mind that it's just the introductory course-- these students are going to be battered with CS theory later on. We are graduating around 20% fewer students in CS than we were in 2004. We need to find a way to make CS more accessible. I'm not saying that we should make the whole degree easier, but I think that having an easier & more practical first cou…
Earlier quoted context omitted.
I completely agree, but at the same time, it's a barrier to entry that I think might be unnecessary. Some college freshman haven't taken calculus, and SICP would seem a bit daunting at times to those students, I imagine. Unfortunately, I think HtDP goes too far; it's too dumbed down.
> Some college freshman haven't taken calculus... Yeah, and that's a serious problem, too -- and one that I'm guilty of! ...that is, if I'd ever gone to college. :-( I am very much not encouraged by a "race to the bottom" when it comes to education. If calculus is too difficult for the student, then perhaps the student should not consider a career in programming. I say that without any malice whatsoever; I'm not symp…