4 ms·
> What you want is field studies: "This year we used Haskell and 75% of all students gave up on programming stating that it was to hard. Last year we used Visua
by oskarth 12y ago
> What you want is field studies: "This year we used Haskell and 75% of all students gave up on programming stating that it was to hard. Last year we used Visual Basic and only 20% did. Ergo Visual Basic is probably a better first language than Haskell."
Why is that necessarily a good thing? What are we optimizing for here, understanding or popularity?
SICP review by Peter Norvig:
> Donald Knuth says he wrote his books for "the one person in 50 who has this strange way of thinking that makes a programmer". I think the most amazing thing about SICP is that there are so FEW people who hate it: if Knuth were right, then only 1 out of 50 people would be giving this 5 stars, instead of about 25 out of 50. Now, a big part of the explanation is that the audience is self-selected, and is not a representative sample. But I think part of it is because Sussman and Abelson have succeeded grandly in communicating "this strange way of thinking" to (some but not all) people who otherwise would never get there.
http://www.amazon.com/review/R403HR4VL71K8/ref=cm_cr_dp_title?ie=UTF8&ASIN=0262510871&channel=detail-glance&nodeID=283155&store=books http://www.amazon.com/review/R403HR4VL71K8/ref=cm_cr_dp_titl...
EDIT: People seem to be downvoting a sentiment Knuth and Norvig expressed, rather than reflecting on the question posed - what should we optimize for in a intro to CS class and why?
- gearhart 12y agoIn our environment, everyone should have a rudimentary understanding of programming. If even 10% of your complete beginners class drops out, you're failing to achieve that, so for this purpose, you should be looking for the lowest common denominator. Javascript is that LCD. The Art of Computer Programming is a college level work - it makes sense for Don Knuth to aim it at the 1 person in 50 who could be a great programmer, someone who could progress the science forward, but his audience is very different to that described in the OP.
- olavk 12y agoI loved SICP when I worked through it, but I was already an experienced programmer at that time. I venture to guess that most of the people praising SICP actually has programming experience before reading it, even if the book purport to be an introductory course. I would probably have given up on programming if SICP had actually been my introduction to programming.
- olavk 12y agoDepends on which 75% you are weeding out. What if you are just weeding out people which haven't prior experiences in a more accessible language?
- dagw 12y ago1 person in 50 maybe has what it takes to make it to the level of programming where they can read and understand TAOCP and where doing so makes sense for them. However almost everybody smart enough to muddle through college has what it takes to learn enough programming where they can use it to solve some simple everyday problems they'll face in whatever job the end up in.
- endeavour 12y agoExactly this. Why are we trying to raise an army of procedural, object-oriented programmers?
- collyw 12y agoEasy for corporations to replace cheaply.
- dragonwriter 12y ago> I think the most amazing thing about SICP is that there are so FEW people who hate it: if Knuth were right, then only 1 out of 50 people would be giving this 5 stars, instead of about 25 out of 50. This presumes that the people reviewing the book are a random sampling of the population, rather than being significantly skewed toward a subpopulation in which the "the one person in 50 who has this strange way of thinking that makes a programmer" was overrepresented compared to the population at large. People who have enough interest in programming to pick up a text on it, enough concern about programming texts to bother to write give feedback on one, and -- more importantly -- all that for one with SICPs reputation for rigor and focus on a language that isn't the currently-industrially-popular language-du-jour are going to include people who have the "strange way of thinking that makes a programmer" at, one would expect, a much higher rate than the general population. > what should we optimize for in a intro to CS class and why? That depends, among other things, on the role of CS in the broader curriculum. There's more than one right answer: SICP has one focus, HtDP has another -- and both are appropriate focuses for an intro to CS course. SICP represents a focus that is appropriate for a first course for majors in an environment where CS isn't part of the "core", HtDP has a focus that is appropriate for a first course in CS as part of the core curriculum.