Live data from Hacker News

If not SICP, then what? Maybe HTDP?

stevenrosenberg.net

121–130 of 227 posts

Re: If not SICP, then what? Maybe HTDP?

#121
post #52

They may even come to the conclusion that programming is a shallow activity and that what truly matters is an understanding of domain knowledge THE HORROR ;) In all seriousness, IMO we'd have much better programs if developers spent more time thinking about domain knowledge and less time believing that "programming" in isolation is the important part.

I find that, as a rule, general programming proficiency and (worse still) language proficiency are given too much weight compared to domain knowledge, but it’s most definitely possible to overshoot and end up thinking those core skills are unimportant.

Re: If not SICP, then what? Maybe HTDP?

#122
post #84

Everyone on here is very excited about HTDP. You are mostly very smart people, and not representative of the typical CS student starting off. Many of you are driven and have rich STEM backgrounds that you draw upon. Therefore, I want to point out that there is no substantial evidence to prove most of the claims of "success" that the HTDP community claims, with regards to novice learners. There are certainly people wh…

The curriculum is too artificial and disjoint from the rest of their CS degree.

That was my takeaway from CS61A at Berkeley. I thought that Scheme was incredibly elegant and I was disappointed that we never used it again. The profs sure were pleased with themselves at the end of CS61A and I imagined later that they thought their preferred outcome would have been that we pursued a PhD using Jikes. SICP was the text which everyone bought and no one (that I knew) read and I tried. We had no assigned readings; it simply meant to be worshiped. It comes up on HN but never in conversation. No one quotes SICP.

I'll look at HTDP.

Re: If not SICP, then what? Maybe HTDP?

#123
post #36

Hm. Not entirely sure what to think. I find SICP to be a mind-blowing book - a truly enlightening experience. But not, perhaps, entirely suited for beginners. I first started reading it four years ago, just over two years after I had started to teach myself programming in high school. Although I already found it interesting and its functional programming approach did have a lasting impact on my programming style, I r…

It is useful to consider the audience the book was written for: first-year students at MIT in the 1980s. That was a formidably bright and meticulously prepared group. Many of them already had some programming experience from high school.

It's not too surprising that a book tailored to such a crowd's particular needs is not particularly suited to other students, whether less bright, less prepared, or simply true beginners to programming.

Re: If not SICP, then what? Maybe HTDP?

#124
post #46

Earlier quoted context omitted.

Source citing any or all of above properties?

http://www.prepscholar.com/sat/s/colleges/MIT-SAT-scores-GPA (First google result, I didn’t verify further) It is admittedly only a proxy, but the entrance SAT math scores for MIT students are 770 for the 25th percentile and 800 at the 75th percentile. Put another way: the test that is a helpful differentiator of intellectual ability of the general college population is not a good differentiator for the MIT populatio…

[deleted]

Re: If not SICP, then what? Maybe HTDP?

#125
I think anyone reading the book with a determination to drop their intuitions in favor of the book's concepts will find it much easier going, and tremendously worthwhile.

I get why readers don't do that. There is very little written so well that it deserves that trust. Generally we have to step back from something and ask "what does that mean? how do I reframe that into something I can understand?" Because the material's models are too poorly thought out to be useful or too poorly communicated to be discovered. Trying to adopt such models is futile.

But for me, SICP is one of those rare books where I am better off trying to absorb its frameworks, rather than constantly trying to reframe the material into something I understand.

When I step back and _think_ the way the book suggests, the problems solve very quickly. When I try to get a solution from some combination of my intuitions and known tricks, I thrash about endlessly.

It is a very carefully written presentation of profound and important ideas, and deserves to be approached differently than the vast majority of books.

Re: If not SICP, then what? Maybe HTDP?

#126
There are two models for CS education. One model is for students who want to learn the theories of computer science and be computer scientists, and the other is for students who want to be programmers.

SICP is the foundation for people who want to be computer scientists. That’s not everyone.

But from what I’ve found, all the top CS schools create computer scientists, and the other CS schools create programmers. While it’s easy for a computer scientist to make the jump to programmer with just a little guidance, it’s much harder to go the other way.

The world mostly needs programmers though, with just a reletively few computer scientists to come up with the new innovations. So it seems like everything is working out ok.

Although I’m really glad I got to learn the fundamentals of computer science with a SICP based intro class.

Re: If not SICP, then what? Maybe HTDP?

#127

"that make me jump through intellectual hoops made of mathematics" There is actually surprisingly little mathematics in SICP. What is does have are mechanisms that are then analysed and modelled, after which the mental model is adapted so it can be turned into computational model that is a faithful representation. Some of the presented mechanisms are mathematical in nature, but you don't need a mathematical backgroun…

I agree with everything you say. Just want to add that SICP had a context: it was designed to be an introductory computer science course designed for university engineering students (including CS), almost all of whom take calulus in their first year, if not earlier. This was probably a valid assumption back in the day, but clearly there is a more diverse audience now.

Anyway, I absolutely agree SICP was never about Scheme per se, or even functional programming. Scheme is nice as a teaching tool because, as Sussman likes to say, you can teach everything you need students to know about the language in one lecture. (Not even all of Scheme, mind you, just what you'd use in a 1-semester course, which back when I took 6.001 meant R4RS minus macros and continuations.) There's certainly always been pressure to use more "practical" languages. But back in those days, there weren't the options there are now. Any derivative of C, especially C++, would end up being as much about the language as about programming concepts, if not more.

I think the thing about SICP is that while it makes some minimum demands about mathematical background, it makes a lot of demands about intellectual maturity. It took me years to appreciate many of the points it makes -- as I got more experience, different parts of the book start to resonate. On the other hand it's stayed relevant all these years, at least for me personally.

Re: If not SICP, then what? Maybe HTDP?

#128
post #58
post #7

The audience that SICP was written for seems to be basically a younger, roughly freshman-year Gerry Sussman, with all the advantages and disadvantages that entails. I haven't done HtDP yet. I love The Little Schemer http://www.ccs.neu.edu/home/matthias/BTLS/ , but I can't recommend it unequivocally, mainly because I've found (somewhat to my surprise) that it's not accessible to all programming beginners without quite…

The book is written for freshmen at MIT, not your average high school grad. You're expected to have a solid foundation in calculus to get admitted to MIT. This is what everyone seems to be forgetting.

Was that true in the early '80s, when SICP was presumably developed (it was first published in 1985).

I know that at Caltech in the early '80s, a majority of incoming students had not had calculus in high school. I would expect MIT to be similar.

Re: If not SICP, then what? Maybe HTDP?

#129

"that make me jump through intellectual hoops made of mathematics" There is actually surprisingly little mathematics in SICP. What is does have are mechanisms that are then analysed and modelled, after which the mental model is adapted so it can be turned into computational model that is a faithful representation. Some of the presented mechanisms are mathematical in nature, but you don't need a mathematical backgroun…

SICP is not about scheme, has never been about scheme, will never be about scheme.

It strikes me that when someone says that, and my GSI said something very similar to that in section, it means that the book+course has failed to say what it is about, clearly, in a way the student will understand rather than misunderstand.

It's f'ing ineffable is not a good thing.

Re: If not SICP, then what? Maybe HTDP?

#130

Earlier quoted context omitted.

Similarly, a lot of James Clerk Maxwell's writing can be found on Archive.org, and it's amazing: https://archive.org/search.php?query=maxwell%2C+james+clerk&...

It's not unusual that original scientific works are more clear than the later works of people trying to explain them. The original author has to persuade people, and convince people who aren't familiar with them. The "pedagogical" author later is in a more clear position of authority and doesn't need to work as hard.

And probably doesn't understand all that was required to see and prove the theory. Making his message narrower.
Post reply on HN