Live data from Hacker News

If not SICP, then what? Maybe HTDP?

stevenrosenberg.net

31–40 of 227 posts

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

#31

Earlier quoted context omitted.

I liked it. My least favorite part wasn't the book itself but rather DrRacket. DrRacket's not bad, in fact it has some slick features, but I don't consider it great either. As an IDE it's good, but as a text editor it's poor. But then again my brain has been poisoned by Vim, DrRacket is probably great for young students without preexisting biases like mine. I've been using racket for almost all of my recreational pro…

I will agree with you that any programming language that has the editor locked-in (thinking Mathematica) is simply not worth it's salt.

You’re free to use Racket with any editor. DrRacket is just one IDE that you can use that is geared towards learners.

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

#32

"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…

Honestly, there's just a tiny bit too much of real number knowledge required in SICP. I wasn't good enough to really derive newtonian method on my own. For someone looking to develop applications I believe it's completely off the map. HtDP requires no arithmetic from what I recall. Which makes it more focused. Now SICP was for EE doing software. I suggest to everyone to learn EE, even partially, it's surprisingly use…

> I wasn't good enough to really derive newtonian method on my own.

There is an old SMBC comic highlighting this general issue in STEM where for some mysterious reason, mathematical theories that took at least a few scientific generations to figure out, with lots of bitter fighting among the giants of science about which conclusion we should accept as correct, are now being taught as if they are trivial to reproduce and come up with for bachelor students.

As a physics drop-out, I felt really relieved when I read that, in a "oh so it's not just me"-sense

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

#33
post #24

I haven't read HTDP and can't authoritatively comment on it /have no idea how it compares to SICP, but I found this statement pretty ridiculous: > While SICP (yes, everybody uses the acronym) is considered a holy grail for serious computer scientists, it's hella hard to figure out. For me, programming "methods" that make me jump through intellectual hoops made of mathematics make it hard for me to learn the actual /p…

So you had two years of prior experience with languages like C++ before starting on SICP. That makes for a very different experience than a first introduction to programming.

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

#34

Earlier quoted context omitted.

I will agree with you that any programming language that has the editor locked-in (thinking Mathematica) is simply not worth it's salt.

You’re free to use Racket with any editor. DrRacket is just one IDE that you can use that is geared towards learners.

Isn't HTDP very DrRacket oriented though?

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

#35

Earlier quoted context omitted.

Honestly, there's just a tiny bit too much of real number knowledge required in SICP. I wasn't good enough to really derive newtonian method on my own. For someone looking to develop applications I believe it's completely off the map. HtDP requires no arithmetic from what I recall. Which makes it more focused. Now SICP was for EE doing software. I suggest to everyone to learn EE, even partially, it's surprisingly use…

> I wasn't good enough to really derive newtonian method on my own. There is an old SMBC comic highlighting this general issue in STEM where for some mysterious reason, mathematical theories that took at least a few scientific generations to figure out, with lots of bitter fighting among the giants of science about which conclusion we should accept as correct, are now being taught as if they are trivial to reproduce…

I grew up bothered by this on many levels. Not only some of us feel negatively for the struggle. I believe that ~learning the results teaches less than learning how to solve it. I does accelerate learning and allow people not to reinvent all 4 wheels... but reading old papers (there's a video on Newton's very own notebook, it is so damn different from anything I've ever read about physics) tickles another part of your mind.

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

#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 recall finding it somewhat too challenging on the whole and didn't get very far. Half a year ago I started it again and have been blown away by the elegance and fundamental importance of the concepts it presents (although I'm still not done yet). For one thing, I understand the foundation of OOP a lot better now than I ever did from reading Java books...

So if the author is saying that SICP is a bad programming textbook because it doesn't include a "How to build a webapp in 12 easy steps", well, he rather missed the point. But if he is arguing that it perhaps isn't the most suitable textbook for a first year CS student fresh out of high school - that is a fair criticism.

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

#37
> If not SICP, then what? Maybe HTDP?

I can recommend "Concepts, Techniques, and Models of Computer Programming" (CTM or CTMCP).

Book's page: https://www.info.ucl.ac.be/~pvr/book.html

Quote from www.c2.com:

"Like SiCp, CTMCP is first and foremost a book on programming, not on Oz or Scheme or anything else. And if SiCp is the reigning king of such books, CTM is a worthy challenger to that particular throne."

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

#38

I think it's worth pointing out why the author's of SICP themselves acknowledge why it was phased out. Praphrasing, it essentially boils down to the kind of applications developpers of today are writing. People are now mostly slinging libraries they have a superficial understanding of together in a black-box style. So for most proprammers there's a lot of prodding and tinkering and this isn't a skill that SICP teache…

If your CS degree aims to churn out programmers ready for industry, then a overview of the currently favoured libraries is indeed what you need to teach. If on the other hand, you want to produce actual computer scientists who know how to think for themselves, the SICP is what you're looking for. (And I would hope that an institution like MIT would choose the latter focus for its program.)

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

#39
Both SICP and HTDP are very good books. SICP has little more 'attitude' in it, but I think its neutral feature. If you want to learn programming as something between algorithms and programming languages, I suggest these four 'Lisp' books:

1. SICP (Structure and Interpretation of Computer Programs)

2. HTDP (How to Design Programs) https://htdp.org

3. LiSP (Lisp in Small Pieces),

4. PAIP (Paradigms of Artificial Intelligence Programming) https://github.com/norvig/paip-lisp

SICP and HTDP are different but serve the same purpose. LiSP is about interpretation, semantics, and compilation. PAIP by Peter Norvig can seen as elementary programming book that uses classical AI as a subject. You learn both.

I don't know what to think about this, I haven't read it: SICM (Structure and Interpretation of Classical Mechanics)

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

#40

Earlier quoted context omitted.

> I wasn't good enough to really derive newtonian method on my own. There is an old SMBC comic highlighting this general issue in STEM where for some mysterious reason, mathematical theories that took at least a few scientific generations to figure out, with lots of bitter fighting among the giants of science about which conclusion we should accept as correct, are now being taught as if they are trivial to reproduce…

I grew up bothered by this on many levels. Not only some of us feel negatively for the struggle. I believe that ~learning the results teaches less than learning how to solve it. I does accelerate learning and allow people not to reinvent all 4 wheels... but reading old papers (there's a video on Newton's very own notebook, it is so damn different from anything I've ever read about physics) tickles another part of you…

> there's a video on Newton's very own notebook, it is so damn different from anything I've ever read about physics

Sounds interesting. Would like to watch it. Got a link?

Post reply on HN