1 Name: Anonymous 2017-11-20 10:16
SICP had a deep impact on the introductory curriculum. It especially put functional programming in Scheme on the map for people who had never seen an alternative to procedural programming. Unfortunately, teaching SICP is more difficult than teaching a conventional programming course in the currently fashionable syntax. Worse, teaching SICP does not build a bridge to the OO courses of the second semester. Hence, many first-semester instructors have given up on functional programming
2 Name: Anonymous 2017-11-21 13:42
His confusion is in thinking that the purpose of SICP is to teach people computer programming. SICP has no intent to teach computer programming but the logic of fundamental CS concepts, there's no reason why SICP couldn't be rewritten to use any other programming language.
3 Name: Anonymous 2017-11-21 15:12
My take on it is this: I'm going to use Rust and make better software, and because it's better my software will overtake software written in these other languages as a virtue of the free market. Then when the companies using Rust are bigger than the companies not using it demand for Rust programmers will increase and obsolescence will happen for C/C++. Eventually C/C++ will lose their market value and people will stop learning it. Then someday we'll really be forced to stop using it when C/C++ goes full COBOL and the existing C/C++ skillset just dies from old age.
4 Name: Anonymous 2017-11-30 17:06
Worse, teaching SICP does not build a bridge to the OO courses of the second semester.
The solution to this problem is obvious: erradicate the OO course.
Now now, I know I'm being unreasonable (am I?) but isn't equally unreasonable to stop teaching SICP because of OOP?
Fact is, OOP is *preached* as THE software development paradigm, effectively handicapping students to fit them in the OO mold of enterprise software development. Indeed, spoonfeeding a flawed (and ultimately, ill-defined) structure instead of teaching the actual function of both the machine they're programming and the essential concepts of the programs they are developing, all so that they can go out and work for Oracle doing Java.
Worst of it all is that: they teach the Java/C++ "OO" model, were they to teach Smalltalk things would probably be much better.
b-but anon, they will have to write some USEFUL software!
Moot point since useful can be written in just about any language (except for brainfuck and associates); they're in college to they should expect to learn a bunch of languages and different technologies; and finally how useful can they be if their understanding of programming is crippled and they learn to use equally crippled languages.
Ultimately, they should be able to make their choice, rather than have popular languages imposed just to make things "easier" on them.
5 Name: Anonymous 2017-11-30 18:02
Can you provide sources for those quotes?
6 Name: Anonymous 2017-12-02 21:51
The function of the machine is irrelevant to computer science. You are right in that the specific language to teach computer science is mostly unimportant, there's no reason why they can't teach SICP in Java or C++.

Leave this field blank: