HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Lecture 1A | MIT 6.001 Structure and Interpretation, 1986

MIT OpenCourseWare11 HN recommenders · recommended in 9 months, 2012-2024
YouTube
995K views · 17 years ago · lecture · evergreen

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.

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

University lectures & coursesFunctional programmingProgramming language design#sicp#scheme#lisp#abstraction#computerscience#mit

20 comments from Hacker News

@dailykoder2024 · in “What I learned covering computer science in 2024”

>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

CitesView on HN
@kurisufag2024 · in “The secret of Minecraft (2014)”

>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.

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

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

RecommendsView on HN
@efortis2023 · in “Today's CS pedagogy is problematic”

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

RecommendsView on HN
@aniijbod2021 · in ““Computer science is not about computers””

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

CitesView on HN
@dancemethis2021 · in ““Computer science is not about computers””

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.

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

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 :-)

RecommendsView on HN
@CaioAlonso2019 · in “Think in Math, Write in Code”

"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

CitesView on HN
@lunchladydoris2018 · in “Not Lisp again (2009)”

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

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

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

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

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

Strongly recommendsView on HN
@Nadya2017 · in “Blogger discredits claim Amelia Earhart was taken prisoner by Japan”

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

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

> 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

CitesView on HN
@dmix2017 · in “Calculus Made Easy (1914) [pdf]”

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 ).

Strongly recommendsView on HN
@unabst2017 · in “Why MIT Switched from Scheme to Python (2009)”

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

RecommendsView on HN
@keithnz2017 · in “Beautiful Online SICP”

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

JokeView on HN
@sepeth2015 · in “The 'No True Programmer' Fallacy”

> 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.

CitesView on HN
@r-s2014 · in “Interactive SICP”

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.

Strongly recommendsView on HN
@userbinator2014 · in “8088 Domination Post-Mortem, Part 1”

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

CriticalView on HN
@tinco2012 · in “Zuckerberg visits Stanford CS106A third year in a row”

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)

Strongly recommendsView on HN
Lecture 1B | MIT 6.001 Structure and Interpretation, 198658:22

Lecture 1B | MIT 6.001 Structure and Interpretation, 1986

MIT OpenCourseWare
116K views • 17 years ago
Lecture 1A: Overview and Introduction to Lisp1:12:56

Lecture 1A: Overview and Introduction to Lisp

MIT OpenCourseWare
420K views • 7 years ago
Lecture 7A | MIT 6.001 Structure and Interpretation, 19861:24:38

Lecture 7A | MIT 6.001 Structure and Interpretation, 1986

MIT OpenCourseWare
35K views • 17 years ago
SICP: o fim de uma era7:10

SICP: o fim de uma era

Computação Raiz
34K views • 4 years ago
Lecture 7A: Metacircular Evaluator, Part 11:24:38

Lecture 7A: Metacircular Evaluator, Part 1

MIT OpenCourseWare
32K views • 7 years ago
Lec 1 | MIT 6.00 Introduction to Computer Science and Programming, Fall 200853:30

Lec 1 | MIT 6.00 Introduction to Computer Science and Programming, Fall 2008

MIT OpenCourseWare
6.6M views • 17 years ago
SICP / What is "Computer Science" ?10:00

SICP / What is "Computer Science" ?

LarryNorman
131K views • 20 years ago
Lecture 1 | Programming Paradigms (Stanford)17:26

Lecture 1 | Programming Paradigms (Stanford)

Stanford
1.2M views • 18 years ago
Stephen Wolfram's Introduction to the Wolfram Language12:56

Stephen Wolfram's Introduction to the Wolfram Language

Wolfram
924K views • 12 years ago
Invited Talk - Guy Steele1:07:22

Invited Talk - Guy Steele

ClojureTV
39K views • 9 years ago
Lec 1 | MIT 6.042J Mathematics for Computer Science, Fall 201044:09

Lec 1 | MIT 6.042J Mathematics for Computer Science, Fall 2010

MIT OpenCourseWare
2.8M views • 13 years ago
1. Introduction, Finite Automata, Regular Expressions1:00:34

1. Introduction, Finite Automata, Regular Expressions

MIT OpenCourseWare
626K views • 5 years ago
Practical Common Lisp1:12:10

Practical Common Lisp

Google TechTalks
98K views • 19 years ago
Lecture 1 | Programming Methodology (Stanford)49:47

Lecture 1 | Programming Methodology (Stanford)

Stanford
2.6M views • 18 years ago
Clojure for Lisp Programmers Part 1 - Rich Hickey1:28:59

Clojure for Lisp Programmers Part 1 - Rich Hickey

ClojureTV
25K views • 13 years ago
Lecture 19: Dynamic Programming I: Fibonacci, Shortest Paths51:47

Lecture 19: Dynamic Programming I: Fibonacci, Shortest Paths

MIT OpenCourseWare
2.9M views • 13 years ago
"Propositions as Types" by Philip Wadler42:43

"Propositions as Types" by Philip Wadler

Strange Loop Conference
143K views • 11 years ago
01 The History of Standard ML: Ideas, Principles, Culture59:51

01 The History of Standard ML: Ideas, Principles, Culture

ICFP Video
7K views • 11 years ago
Breaking Down Programming Paradigms: APL's Surprising Learning Curve // Aaron Hsu // Dyalog '1759:03

Breaking Down Programming Paradigms: APL's Surprising Learning Curve // Aaron Hsu // Dyalog '17

Dyalog User Meetings
7K views • 9 years ago
The Next Five Years of ClojureScript - David Nolen1:00:58

The Next Five Years of ClojureScript - David Nolen

Metosin
19K views • 10 years ago