Hacker News new | past | comments | ask | show | jobs | submit login

SICP is an advanced text, and using it to teach amateurs how to program is, probably, a mistake.

Brian Harvey have done a great job to simplify and make it more freshman-friendly. I think his CS61A is the best intro course available (but I don't think that the sentence ADT is a such great idea, and it make things little messier, not more clear).

The HtDP2 approach is also remarkable, but problem is it is part of Racket promotion (word dr.racket is used hundred times in the first chapter). The idea to make changes in a program visible, via using graphical primitive functions is brilliant, but controversial one - it is too soon (but it kicks and makes a progress visible)

I think that functions with multiple arguments, first-class "citizens" (values has a type, everything is a pointer), pairs, lists, then generic functions and environments must be taught first, and visualized interactively, similar to that python tool. Then, after, you can teach parts from HtDP and then SICP.

People who really enjoyed this initiation will go through whole books themselves.)




I can't say how "amateurs" maps to MIT freshmen, but I wanted to point out that back in the day SICP was used, in its entirety, in 6.001, the one-semester entry-level computer science course at MIT.


That is true. People who were able to find their way to MIT is by no means "amateurs".

The rest of us, however, might find it overwhelming, due to lack of appropriate habits and training.


I'm currently doing SICP with Harvey and to be honest after list and cons in general are introduced I wish the course would abandon sentences altogether.


I agree. I'm doing the same course and because I couldn't get their implementation of Scheme(ucb-scheme) to work, I'm really out-of-sync with the course.

I'm doing the examples and exercises in Racket.


Are you taking 61as, the self-paced version? I was under the impression they were either already using, or planning to switch to, a JavaScript Scheme implementation to ease just this sort of problem.

I know one of he people who is running 61as, and I believe he wants to move as much as possible into the browser. In fact, they might even use a JavaScript-based Emacs clone instead of Emacs proper next time.

I think using the browser should make setting up the environment much easier than using some old, unsupported Scheme implementation!


No, I'm watching the 61A videos on Youtube.

I'll need to check out the Javascript based implementation sometime. But it is really annoying that the course is using something that hasn't been updated in ages.


I'm in AS. We aren't using a js interpreter and actually I haven't seen them mention such a switch much. That's news to me.


In that case, I think that's what they're going to be working on over winter break for the next iteration of the class. At the very least, I'm sure it's a possiblity; there's obviously no guarantee that it is practical or will get done.

I think it's a good idea, personally. It could also make many of the assignments more interactive.


Are you having trouble because you're running a different platform that they developed their implementation on?

If so my way of dealing with this when I'm too lazy to deal with trying to get stuff to work on another system, is to using something like Virtual Box and work on the exact OS the library/language I want to work with was made for.


No, I'm using Linux(Arch) so I guess I am on an intended platform. It is on the user contributed repos but the installation didn't work. I tried installing just stk-scheme too but that didn't work either.


Can you try stk-simply?


Agreed. It's still just a mild annoyance overall, but one that hits early on.


SICP was the text for first-year intro computer science at Chicago when I was there. I don't think it's too much to ask of motivated amateurs.


I've done some of the picture exercises from Concrete Abstractions. They were quite fun but significantly harder than assignments which didn't tax my spatial perception skills.

I just checked, MIT holds the copyright for HtDP, so an interactive version like this isn't possible.


> MIT holds the copyright for HtDP, so an interactive version like this isn't possible.

A person could ask. Sometimes these things are done reflexively and a simple query will get a pleasant response.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: