People who worked through HtDP: what are your impressions?
If not SICP, then what? Maybe HTDP?
11–20 of 227 posts
Re: If not SICP, then what? Maybe HTDP?
#12It's always interesting seeing the textbooks that are renowned by professors/people with prior knowledge, yet disliked by actual students. The Feynman Lectures on Physics is a pretty famous example (iirc, the actual course was received pretty negatively by students). I wonder how many people have actually sat down with a bunch of students and done a real experiment with textbooks. It's quite easy to think that a text…
They are stronger at what?
Either they know things already or they don't. If they know things already then they can skip steps and if not then they can't or can use guesswork. And that's what any other human being will do.
Re: If not SICP, then what? Maybe HTDP?
#13Re: If not SICP, then what? Maybe HTDP?
#14It's always interesting seeing the textbooks that are renowned by professors/people with prior knowledge, yet disliked by actual students. The Feynman Lectures on Physics is a pretty famous example (iirc, the actual course was received pretty negatively by students). I wonder how many people have actually sat down with a bunch of students and done a real experiment with textbooks. It's quite easy to think that a text…
That said though, let me say that for me personally SICP was mind-opening. I think about it a lot; it has had a major influence on me. An example is that I am working on a Theory of Computation book and I am trying to emulate some aspects of it (while keeping the presentation accessible). I certainly will admit, though, that when I read it I expect that I was in a different place than the post's author or than the typical student.
Re: If not SICP, then what? Maybe HTDP?
#15I can fully recommend HtDP for beginning programming - tried various options for my 11 year old. I needed it to involve very little help from me - tried some scratch, mit50x, both which helped but did not spark and sustain interest. Then we came across https://www.edx.org/course/how-code-simple-data-ubcx-htc1x - love it and does not need any help from me :) planning to move on to https://www.edx.org/course/how-code-c…
There are YouTube videos (I don't know how well they fit with the current course) and they are excellent.
Re: If not SICP, then what? Maybe HTDP?
#16There 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 background any more than you need an economics background to write, say, a banking application.
"make it hard for me to learn the actual programming."
Depends on if you see "actual programming" as the mental discipline of correctly representing a part of the real world into a computational model.
If you see "actual programming" as typing in characters on a screen until they compile, then ship them and get absurd amounts of money for it, then sure, SICP might not be for you.
"without going too deep into the quirks of a single programming language"
SICP is not about scheme, has never been about scheme, will never be about scheme.
You will not emerge a "God of the Lisps" from SICP. It might, however, clue you in about what's actually happening when programming, in any language of choice.
Re: If not SICP, then what? Maybe HTDP?
#17TAoCP should be enough for anybody
Re: If not SICP, then what? Maybe HTDP?
#18"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…
Now SICP was for EE doing software. I suggest to everyone to learn EE, even partially, it's surprisingly useful to learn designing anything. It's still system design, state changes, but in a different substrate, and personally I found it very helpful (gives you a new appreciation for crude language like C).
Re: If not SICP, then what? Maybe HTDP?
#19It's always interesting seeing the textbooks that are renowned by professors/people with prior knowledge, yet disliked by actual students. The Feynman Lectures on Physics is a pretty famous example (iirc, the actual course was received pretty negatively by students). I wonder how many people have actually sat down with a bunch of students and done a real experiment with textbooks. It's quite easy to think that a text…
I also remember doing a course on functional programming (SML) when studying that did absolutely nothing for me.
You’re probably correct, you need to have mastered the mechanics of programming before having the brain capacity and experience to appreciate the finer details and subtleties of the craft.
I had a similar experience with karate training. When siting on the bench and watching my son train it looks rather straight forward, just remember to focus. Then after a term I decided to join the training and suddenly it feels like you have five arms to coordinate, and processing any verbal input from the sensei is just out of the question.
Re: If not SICP, then what? Maybe HTDP?
#20It's always interesting seeing the textbooks that are renowned by professors/people with prior knowledge, yet disliked by actual students. The Feynman Lectures on Physics is a pretty famous example (iirc, the actual course was received pretty negatively by students). I wonder how many people have actually sat down with a bunch of students and done a real experiment with textbooks. It's quite easy to think that a text…
I watched the SICP lectures after a few years as a java developer and absolutely loved them. I also remember doing a course on functional programming (SML) when studying that did absolutely nothing for me. You’re probably correct, you need to have mastered the mechanics of programming before having the brain capacity and experience to appreciate the finer details and subtleties of the craft. I had a similar experienc…
Grossman's course on Coursera? If so, yes, that was pretty useless.