Skip to content
HHackerTube.videoSurprise me

Lecture 1A | MIT 6.001 Structure and Interpretation, 1986

Lecture 1A | MIT 6.001 Structure and Interpretation, 1986 on HackerTube: recommended by 11 Hacker News commenters across 9 separate months, 2012–2024.

MIT OpenCourseWare

lecture · intro · evergreen

Open on YouTube

The first lecture of MIT's 1986 6.001 Structure and Interpretation of Computer Programs, given by Harold Abelson, introducing Lisp and the idea of computer science as the study of process.

Why Hacker News recommends it

Seen as a classic and often the moment programming 'clicks'; commenters praise Abelson's opening that computer science is not about computers.

people recommended it
11
separate months
9
strong recommendations
6
discussed on HN
2012–2024
“blew my mind and made me switch from being a UX designer dabbling in Rails to a full blown programmer.”
— dmix, Apr 2017, in “Calculus Made Easy (1914) [pdf]”

What HN commenters said

20 Hacker News comments link this video. Each one links back to its thread.

dancemethisMay 2021Strongly recommends

Wow, what a MASSIVE missed opportunity to quote the best variation of this idea by far, done by Hal Abelson in the legendary "6001-Introduction to Computer Science" class on MIT in the 80s. You can check it here: ▶ this video Abelson in the first minute crosses both computer AND science, and references the also legendary SICP with "computer so-called science actually has a lot in common with magic". Honestly, this alone already made the article that empty.

in ““Computer science is not about computers”” · View on HN

otrasOct 2018Strongly recommends

The Mother Of All Demos is an absolute classic: [link] [link] I also very much enjoy Feynman’s talks. Here’s one on imagining physics: [link] For computer science in particular, I highly recommend the first lecture in the SICP series, especially on the naming of so called “computer science”: ▶ this video

in “Ask HN: What are some old talks (10+ y) that are still relevant to watch today?” · View on HN

stuxnet79Mar 2018Strongly recommends

First 10 mins of the first Structure and Interpretation lecture (by Harold Abelson) [1] Famous first words ... "I'd like to welcome you to this course on computer science. Actually, that's a terrible way to start. Computer science is a terrible name for this business." ... and this is where it all clicked to me .... "Well, similarly, I think in the future people will look back and say, yes, those primitives in the 20th century were fiddling around with these gadgets called computers, but really what they were doing is starting to learn how to formalize intuitions about process " [1] ▶ this video

in “Ask HN: What's an (article|book|vid) that changed the way you view programming?” · View on HN

dmixApr 2017Strongly recommends

Reminds me of the MIT SICP lecture videos from the 80s. The concepts of black box abstraction and the simplicity of using LISP like lego building blocks blew my mind and made me switch from being a UX designer dabbling in Rails to a full blown programmer. It was still entirely relevant to today even though it was a few decades old as the fundamentals of computer science are still fundamental. ▶ this video Hearing that intro music still brings a smile to my face. I just happen to be relearning math right now as I dive deeper into data science and this is perfect timing. Going to watch this series once I get through my math proofs book ("Book of Proof" by Richard Hammack which I recommend to people getting into math [link] ).

in “Calculus Made Easy (1914) [pdf]” · View on HN

r-sJul 2014Strongly recommends

One section of original lectures are freely available via MITs OpenCourseWare youtube channel: ▶ this video It would be quite difficult to beat these lectures, while they appear a bit dated, the content is great. SICP is a great way to learn about programming, although I am very surprised they got through the whole book in an introductory course. Chapters 4 and 5 cover some topics I was barely aware of nearing the end of my formal CS education.

in “Interactive SICP” · View on HN

tincoDec 2012Strongly recommends

Heh that's interesting, I just watched 106A yesterday to get an idea of how the programming introduction course is compared to my university (utwente.nl). I actually was a bit disappointed to see that it is very much like our introduction course, except that this teacher is a bit more enthousiastic, and perhaps the course starts at an even more basic level I think. I think for real CS enthousiasts 6.001 at MIT is much more interesting (and fun) to watch: ▶ this video (it teaches scheme and the lecturer has an awesome way of explaining it)

in “Zuckerberg visits Stanford CS106A third year in a row” · View on HN

Show 14 more comments
hickelpickleMay 2024Recommends

Little schemer is good, some people hate it some people love it. But it is a fairly light read the slowly teaches some syntax at a time, questions you about assumptions then revels the information as it goes on. It would be the least dry read. There is also sketchy scheme for a more thorough text, or even the rs7s standard, which are both pretty dry but short. What made me appreciate scheme was watching some of the SICP lectures ( ▶ this video ) and the little schemer to learn more. I also read some of the SICP along with it, though I put it down due to not having the time to work through it. Scheme is interesting and toying with recursion is fun, but the path a mentioned above is only really enjoyable if you are looking to toy around with CS concepts and recursion. You can do a lot more in modern scheme as well, and you can build anything out of CL. But learning the basics of scheme/lisp is can be pretty dry if you are just looking to build something right away like you already can in a traditional imperative language. But it is interesting if you are interested in a different perspective. But even RS7S scheme is still far from the batteries included you get with CL. I personal found the most enjoyment using Kawa scheme, which is jvm based and using it for scripting with java programs as it has great interop. I used it some for a game back end in the event system to be able to emit events while developing and script behaviors, I've also used it for configurations as well with a g

in “The world's loudest Lisp program to the rescue” · View on HN

efortisOct 2023Recommends

Some Good Parts: - Professor Richard Buckland has CS playlists on youtube (UNSW eLearning). In one of his lectures he starts writing a sudoku solver (I think) starting with high level abstractions. - Also, at least, the first video of SICP ▶ this video

in “Today's CS pedagogy is problematic” · View on HN

xyzwaveMay 2020Recommends

Such a timeless quote. I believe this is the source: ▶ this video While there, SICP is not a bad way to augment a CS degree :-)

in “Ask HN: I'm an incoming freshman to college for a CS major, what should I know?” · View on HN

lunchladydorisOct 2018Recommends

For anyone who wants to feel what this might have felt like (and you've yet to watch them), MIT posted videos of Abelson and Sussman presenting the course on YouTube [0]. I felt a similar sense of magic the first time I saw the derivative section. [0] ▶ this video

in “Not Lisp again (2009)” · View on HN

unabstApr 2017Recommends

I took 6.001 in 1999 (I think). Hal Abelson taught it along with a professor who took off his sweatshirt to reveal a Microsoft tee at his final lecture (he went to Microsoft). What was great about Scheme (Lisp) is that most programs are basically words from your vocabulary, parentheses, and cars and cdrs. With procedural languages, there is always a sense that the language provides all the tools, and the magic happens somewhere underneath the hood. But with Scheme it feels as if it's happening right before you. It makes you feel like a wizard, and not a monkey. And it requires knowing all the spells. It requires knowing how to make magic happen. Or not. Once you know none of it's magic. But that's the point! Python is arguably easier and more practical for both science and work. It's already popular on the web server, and is used everywhere else -- unlike Scheme. But the recent resurgence of functional programming is super exciting with Elixir and Elm and the like. I'm looking forward to building my next project using Elixir. Here is the classic course: [link] Original video lecture on YouTube (linked from above): ▶ this video

in “Why MIT Switched from Scheme to Python (2009)” · View on HN

dailykoderDec 2024Cites it

>A pithy quote attributed to the pioneering researcher Edsger Dijkstra helps me explain: “Computer science is no more about computers than astronomy is about telescopes.” Reminds me of the MIT lecture "Lecture 1A | MIT 6.001 Structure and Interpretation, 1986"[1]. And I still remind myself of that. If you fundamentally understand your problem and solve it, then writing a few characters in your favorite text editor that do the task is easy - [1] ▶ this video

in “What I learned covering computer science in 2024” · View on HN

kurisufagJul 2024Cites it

>You know, magic >So I became a programmer because I wanted to be a wizard that's a classic MIT AI lab idea. "We'll actually see that Computer so-called-Science actually has a lot in common with magic."[0] [0] ▶ this video 0:40, and a lot in the SICP textbook all your rblx info is still true, by the way. there's a lot more you can script with too, including internal and external API integration, inter-game info transfer, transactions, all kinds of stuff.

in “The secret of Minecraft (2014)” · View on HN

aniijbodMay 2021Cites it

The very first thing that Hal Abelson says and puts up on the chalkboard in his very first SICP talk (Lecture 1A 6.001 'Structure and Interpretation') in 1986 is that "Computer Science is not about either science, or computers'. ▶ this video

in ““Computer science is not about computers”” · View on HN

CaioAlonsoJul 2019Cites it

"The natural language which has been effectively used for thinking about computation, for thousands of years, is mathematics." I'm not sure if this is true. Harold Abelson creates the distinction[1] between Mathematics being the study of truth and Computing being the study of process. It seems to me that these really are different things and Mathematics isn't the "natural language" to discuss computations, but rather truth and patterns. But of course process (computing) can only happen within the boundaries of mathematical truths and patterns. [1] ▶ this video the first few minutes

in “Think in Math, Write in Code” · View on HN

NadyaJul 2017Cites it

The quote is of Hal Abelson and one of his lectures at MIT disagrees with you [1]. The introduction is amusing and opens with Computer Science has nothing to do with Computers and little to do with Science. It's really a poorly named field. I believe it's a bit tongue in cheek and not defining science entirely by "uses the scientific method". [0] [link] [1] ▶ this video

in “Blogger discredits claim Amelia Earhart was taken prisoner by Japan” · View on HN

shaknaApr 2017Cites it

> Interesting. Maybe we should compare notes sometimes. I have a bit of a story with finding alternative-type stuff. I really like the theory of programming, and am constantly looking for languages that are a) easier to write b) amazingly expressive Its always finding what's out there. > - I've been contemplating tackling Python, in spite of the 2.x/3.x thing. There's the perfect vacuum where versioning shouldn't be a problem, and the practical real world where knowing Python and the differences between the two will let me actually do interesting things. Thankfully, that's mostly gone now. Few enterprises still holding out, but most of the big libraries are 2/3 or 3 only. And 3 is a lot more thought-out. Most of the warts are gone. > - I completely forgot to mention Awk (!) mostly because I have no idea at what point I began to pick it up, but I did get a basic idea of how it works a while ago, and I've been factoring it into shell pipelines more frequently lately. It's great for when I need to do something that sed can't express well (and I just properly read about how match() a) returns the index and b) also works apropos to grep recently, which is great) Awk is different, but great. I had a boss at a previous job who'd used it for at least a decade for everything, so I had to learn the nitty-gritty. I ended up building a CGI application that basically ran the entire website in Awk. Big learning experience, but rather cool. > (As an aside, Lua is ~200K and awk is ~632K. Tha

in “What programming languages do you know and which ones do you want to learn?” · View on HN

sepethAug 2015Cites it

> Note that you can be a programmer without ever having touched a computer, people have been coming up with algorithms and integrating them into systems for ages. Slightly different, but the first episode of SICP videos helped me to reach the same conclusion: ▶ this video We can even say Newton, or Euclid wrote programs. Maybe not by sitting in front of a computer, but they described a process to calculate something.

in “The 'No True Programmer' Fallacy” · View on HN

userbinatorJun 2014Critical

I think the underlying cause of this over abstraction is largely a result of abstraction being excessively glorified (mostly) by academics and formal CS curricula. In some ways, it's similar to the OOP overuse that has thankfully decreased somewhat recently but was extremely prevalent throughout the 90s. In software engineering, we're constantly subjected to messages like: Abstraction is good. Abstraction is powerful. Abstraction is the way to solve problems. More abstraction is better. Even in the famously acclaimed SICP lecture series [1] there is this quote: "So in that sense computer science is like an abstract form of engineering. It's the kind of engineering where you ignore the constraints that are imposed by reality." There is an implication that we should be building more complex software just because we can , since that is somehow "better". Efficiency is only thought of in strictly algorithmic terms, constants are ignored, and we're almost taught that thinking about efficiency should be discouraged unless absolutely necessary because it's "premature optimisation". The (rapidly coming to an end) exponential growth of hardware power made this attitude acceptable, and lower-level knowledge of hardware (or just simple things like binary/bit fields) is undervalued "because we have these layers of abstraction" - often leading to adding another layer on top just to reinvent things that could be easily accomplished at a lower level. The fact that many of those in the demosc

in “8088 Domination Post-Mortem, Part 1” · View on HN

keithnzMar 2017Joke

you all with your fancy pants "reading". Nothing beats the movie, not only showing the height of computing power, but the awesome fashion of uber geeks. ▶ this video

in “Beautiful Online SICP” · View on HN

Topics & tags