Hacker News

gjvc
Structure and Interpretation of Computer Programs Video Lectures (1986) ocw.mit.edu

neilv12 hours ago

If you want to work through SICP, you can use MIT Scheme, but another option is to use Racket or DrRacket, with this add-on package: https://docs.racket-lang.org/sicp-manual/

functionmouse2 hours ago

I think we should only be recommending MIT Scheme. Everything else has got too much going on and can become distracting, for the purposes of education.

brudgers8 hours ago

MIT Scheme is the simplest thing that might work.

SilentM689 hours ago

Awesome!

I was just about to ask just that question?

Thank you, SM

dirteater_10 hours ago

I tried SICP straight from the book once, but I think the lectures are much better and the book acts as a supplemental reference.

easytiger8 hours ago

That is indeed how University learning used to work, for about 1000 years

epolanski6 hours ago

It's *supposed* to work.

In reality you get lectures from individuals that became professors because they are great at politics/research but not at teaching (very different skill).

If you even get them and not their 25 year old assistants.

And this is apparently super common even in ivy league universities as Youtube lessons have shown me over and over.

nobleach3 hours ago

This is why it's so awesome watching David Malan teach Harvard CS50 (free YouTube videos). His presence, knowledge and overall enthusiasm for the topic are outstanding. If more of my college courses had that level, I'd have been far more engaged. When I look back, I realize that I paid a TON of money to have some professors basically "phone it in", yet expect me to basically teach myself their subject of expertise. "Build a compiler". Yes, I can (and did) learn that from a book. I imagine if I had someone truly engaging the room during those sessions, I'd have come away with FAR more appreciation. That could have even led to a different career path.

dahart30 minutes ago

All that, and it’s still better than just reading the book on your own. :P

Be thankful when you get the 25 year old PhD students & post-docs. They care more about teaching and remember learning the material recently and are more willing to talk & help you.

epolanski4 minutes ago

I've attended courses from some of the best researchers on the planet (like Graetzel at EPFL) and you did yourself a favor if you skipped the confused ramblings and just studied on the books.

I also graduated and there were plenty of courses taught by brilliant individuals that were just bad at teaching or borderline not prepared but someone had to hold the course.

Some courses (like biochemistry) were effectively useless as de facto you had to memorize 600 pages of Lehninger anyway. There's nothing to understand in the Krebs cycle.

I also vividly remember exams like advanced algebra were the professor genuinely did nothing but rewrite canned content on a board and could not really shed light on anything, you were on your own.

alpinisme2 hours ago

> And this is apparently super common even in ivy league universities as Youtube lessons have shown me over and over.

I think you have the “even” backwards. Elite research first universities have this problem more than teaching-first, low research output programs.

aag4 hours ago

Sussman and Abelson are great at teaching.

epolanski4 hours ago

I'm sure they are, just against the generalization that in class is always strictly necessary as not everyone is Sussman.

barrenko10 hours ago

Thank you! Will try it like this.

j_m_b3 hours ago

This is how I learned lisp. I then went on to learn Clojure and built a career around it.

xqb643 hours ago

What could someone interested in systems programming gain from this?

convolvatronan hour ago

these talks distill out the core questions of topics like mutability and state management and abstraction. almost uniquely so. so I consider them deeply relevant to systems programming in as much that its primarily concerned with..state management and abstraction.

unless you mean 'systems programming' as just 'the crap one does to try to glue together all the grotty pre-existing systems' and 'developing a good sense of taste about 3rd party libraries', in which case no, its not really very relevant.

although even here there is insight, I watched a video of Sussman describing why they were putting down SICP and demanding that MIT develop new introductory courses. he was so graceful and considered, putting his polished jewels away. the time when we could reasonably be expected to see across and through all the layers of abstraction was over.

[deleted]26 minutes agocollapsed

convolvatron28 minutes ago

addendum: actually I think the case for SICP in systems programming is stronger than that. There are several places in the material where the gap between 'high level programming' and 'construction of machines using gates' is thoroughly walked through and evaporated. maybe some of of the other similar treatments for logic programming and continuous analysis won't strike as deep, but that part should really be required reading.

selimthegrim25 minutes ago

All of the lectures? I did SICP as a freshman in 2005 but not all of it and have never watched these lectures save for the one where Abelson wears a fez and jokes about Kabbalah at the beginning.

boobsbr4 hours ago

The audio is so bad on these lectures.

Is there any way to clean them up?

bloppe10 hours ago

Cannot recommend these enough. Watch the first one and you'll be hooked

mbrezu10 hours ago

These sound a little better than I remember. I wonder if the sound was cleaned up?

Aejkatappaja6 hours ago

I always recommend these lectures, awesome!

songbird2310 hours ago

Should I do the JS or Scheme SICP

ughitsaaron24 minutes ago

Part of the point of SICP is to be generic about its programming principles. The core principles and concepts are independent of any particular programming language (so long as it has first class functions, and probably a few other common features). Since Scheme has virtually no syntax it was an ideal language for Ableson & Sussman’s course. It’s notable that SICP spends hardly any time teaching the language.

I’ve never understood, therefore, the motivation behind trying to “translate” SICP into a language like JS (or Python, etc.) It over emphasizes the importance of the preferred language in a way that very obviously undermines the book.

The point being: if you’re gonna do SICP do it in Scheme. You’ll get more out of it.

nobleach3 hours ago

The JS version of the book (I still bought it when it came out) is just weird. It has you writing JS in a non-idiomatic way that you'd never see (nor should you be the person introducing) in the industry. SICP teaches a very LISP-y way of thinking through problems. It's not that you CAN'T apply these tactics in other languages... they're just far more "at home" in Scheme/DrRacket/heck... even Clojure.

spauldo4 hours ago

I'll add another recommendation for Scheme. The concepts in SICP map very well into Scheme, whereas I can only imagine them being awkward and non-idiomatic in JS. There's lots of passing around first class functions and use of recursion.

One of the two professors (Dr. Sussman) that give the lectures in this series is a co-creator of Scheme.

Nekorosu8 hours ago

I have both books. Scheme for sure! Env setup can be a bit of an issue but it is doable. Regarding it, I remember having some weird issues with MIT Scheme on a modern computer, but Racket/DrRacket works well.

brudgers8 hours ago

Scheme. Javascript is a fine language, but it is not the right tool for this job.

submeta9 hours ago

I‘d go with Scheme. You‘ll learn the basics in a day. The language spec is only a few pages. And Scheme reads like pseudo-code with parentheses.

aligutierrez10 hours ago

interesting approach to SICP.

aag4 hours ago

I don't understand this comment. They wrote SICP.

tangsoupgallery13 hours ago

These 1986 lectures are the definitive SICP experience — the Hal and Gerry show at its peak. The presentation quality holds up remarkably well, and seeing the metacircular evaluator built live is something no textbook can fully capture. For those who find the book dense, these lectures provide the pacing and intuition that make the abstractions click.

ramchip5 hours ago

LLM bot account

[deleted]13 hours agocollapsed

[deleted]13 hours agocollapsed

hn-front (c) 2024 voximity
source