HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Lecture 1A: Overview and Introduction to Lisp

MIT OpenCourseWare10 HN recommenders · recommended in 10 months, 2019-2026
YouTube
420K views · 7 years ago · lecture · evergreen

The first lecture of MIT's 6.001 (SICP) with Abelson and Sussman, giving an overview of the course and an introduction to Lisp. It argues that computer science is about managing complexity and abstraction, not computers.

HN people recommend the SICP lectures as a deeper, livelier route into the book and a formative course even for seasoned programmers.

Functional programmingUniversity lectures & coursesSoftware architecture & design#sicp#scheme#lisp#abstraction#mit#recursion

20 comments from Hacker News

@bmitc2026 · in “Ask HN: Any advice on how to learn good software architecture practices?”

There are a lot of good books here: link I second the comment ( link ) recommending How to Design Programs (HTDP) and Structure and Interpretation of Computer Programs (SICP). The former has an edX course ( link and link ) and the latter has online lectures ( ▶ this video ) Head First Architecture ( link ) is good. Reading about systems thinking would be useful. Learning programming languages that have been well designed is helpful. I suggest Programming Erlang: Software for a Concurrent World and Elixir in Action .

RecommendsView on HN
@AJRF2026 · in “Stripe is down”

That's true. The Harold Ableson GIF of him scratching out the word Science, then the word Computer comes to mind. ▶ this video

JokeView on HN
@adamddev12023 · in “Carp lang: statically typed Lisp, no GC”

As Hal Abelson said back in 1986 in the original SICP lectures [1] while drawing `(+ 3 (* 5 6) 8 2)` and the corresponding syntax tree on the board: >"We're writing these trees ... and parentheses are just a way to write this two dimensional structure as a linear character string. Of course, when LISP first started and people had teletypes or punchcards or whatever and (the parentheses character structure) was more convinient. But maybe if LISP started today the syntax would look more like (a 2D syntax tree)." [1]: ▶ this video

CitesView on HN
@lab112023 · in “Ask HN: What's the best lecture series you've ever seen?”

Not even a second of thought: Sussman's & Abelson's SICP ▶ this video especially the section on streams ( link ) It changed my outook on programming by pi degrees and I feel it is more needed then ever.

Strongly recommendsView on HN
@wiseleo2022 · in “24/7 SICP 1986 lectures stream”

It's on-demand on YouTube[1] and an excellent course that is still very much relevant with very high production quality circa 1986. What makes it special is who is teaching it, which is the original authors of SICP. The course thus completely complements their book and is in the same style. The courses from later years are also on YouTube, but they don't feel the same. [1] ▶ this video

Strongly recommendsView on HN
@esjeon2022 · in “Racketscript”

> Here's a live demo hot from 1986: ▶ this video The process in the video still perfectly aligns with my description. Actually, I reached that conclusion by observing people writing Lisp code. That is, when you're writing Lisp code, that's exactly what people next you would see, no matter what you think. Also, trailing ")"s are clearly a burden, as people do spend their brain cycles to properly match them. > It isn't. You're not the type of person who lisp is for You sound like you're right in the middle of Lisp fever, which is fine. Everyone goes through that. > But I'd be curious to know what language you think uses nothing but line breaks and indents to describe its AST. You simply didn't get what I was saying. Even when all the parens were stripped off from a Lisp code, you can easily reinsert parens based on line breaks and indents. So people rely more on indentations for correctly putting parens, rather than being cautions w/ every single editing operation.

CitesView on HN
@thrown_222022 · in “Racketscript”

>Maintaining tree on text editors requires careful editing and strict practices, which human brains aren't good at. The "tree" will get broken at some point, but, in this school of thought, the recovery strategy is unclear and inconsistent at best. We've had editors that automatically do that since the 70s. Here's a live demo hot from 1986: ▶ this video >The real tree, at the end of the day, is formed by line breaks and indents, not parenthesis. It isn't. You're not the type of person who lisp is for, which is fine. There are lots of languages suited for people like you. But I'd be curious to know what language you think uses nothing but line breaks and indents to describe its AST.

CitesView on HN
@implements2022 · in “Ask HN: Where to find HTML version of SICP?”

Actual PDF from MIT: (I assume they’re happy to let anyone use it) link There’s the set of the 1986 lectures on MIT’s Open CourseWare: ▶ this video

CitesView on HN
@908B64B1972022 · in “How to recommend books, or, stop recommending SICP”

> Written for freshman at MIT, it is ostensibly an entry-level text. But it requires such a level of competence in math and physics, and the prose itself is so dense and archaic, that I couldn't imagine suggesting it to anyone. It’s also a complement to a course, the implications here being that chapters and examples are to be discussed in class and that a certain amount of lab-work has to be performed as well for the concepts to sink-in. But It’s not for everyone. I couldn’t see a bootcamp based on this book for instance. It does assume a fair bit of math and physics knowledge (or a curiosity for such) because it was written with engineering students in mind who, for some of them, were encountering a computer for the first time of their lives. [0] > One guess is intelligence signalling. That it is human nature for a person to suggest a book in an attempt make herself look smart rather than to best assist the person asking for a suggestion. This is clickbait. SICP has been used for decades and is extremely well regarded as an introductory book. Maybe the OP lacked the fundamentals required for approaching it. If the authos has a CS degree, that reflects poorly on the program he completed. > If you love challenging books, you are neither the norm nor the audience of this post. But the MIT freshman this book was written for definitely are. [0] ▶ this video

CitesView on HN
@SquishyPanda232021 · in “Turing Oversold?”

> Turing Machines, on the other hand, were instantly obviously mechanizable. It was clear that one could build a physical machine to run any Turing program without human input. Harold Abelson points out in one of his lectures [0] that computer science isn't about computers any more than biology is about microscopes. From that perspective, it is clear that Turing found an existing discipline of computer science and made major contributions to it. But it doesn't really seem right to say that he invented or founded computer science. [0] ▶ this video

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

Here is Harold Abelson discussing the topic in ~1986. His introduction to “Computer Science” has stuck with me for years. Interesting to see the lineage of the statement, it must have stuck with him as it has for me, when he first heard it. ▶ this video

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

The beginning of this lecture (30 seconds in) by Harold Abelson (author of SICP - Structure and Interpretation of Computer Programs) explains why Computer Science is a terrible name here. ▶ this video Not sure about the year.

CitesView on HN
@augusto-moura2021 · in “Not Lisp again (2009)”

The class mentioned in the article was actually made available under Creative Commons by the MIT OpenCourseWare[1], you can see the entirely of the course in Youtube. I watched and cannot recommend it enough, even for seasoned programmers [1]: ▶ this video

Strongly recommendsView on HN
@arexxbifs2020 · in “Tribes of Programming (2017)”

Don't know if the "joke" originated with Abelson and Sussman but here's Hal Abelson talking about it: ▶ this video "It's not about computers in the same sense that physics is not really about particle accelerators." I sort of agree, but I guess it depends on what we mean about computer science being about computers. We can do things now that were downright impossible when A&S recorded their Lisp lectures simply because we can think differently about what's reasonable with regards to time and space complexity. And, of course, Abelson himself jokes about everyone wanting a faster computer in a later lecture. Perhaps we're simply confusing CS with software development, which I suppose could be likened to confusing mathematics with accounting.

CitesView on HN
@k00b2020 · in “Ask HN: What new programming languages did you learn in 2020?”

The real beauty is in how few operators you need to achieve maximal expressiveness in a programming language. It makes other programming languages seem extra. Highly recommend the SICP lectures ▶ this video

Strongly recommendsView on HN
@floathub2020 · in “Ask HN: How to rediscover the joy of programming?”

Learn LISP/Scheme and lots of fundamental concepts you probably have a feel for, but in a far more profound way: 1. First watch the SICP series ( ▶ this video ) 2. Then work through the book ( link ) If you really do the exercises (an hour here and an hour there), you can feel you brain getting wrapped around many core notions in very illuminating ways.

Strongly recommendsView on HN
@lymitshn2020 · in “How I became a better programmer (2017)”

Maybe more of the hype comes from the fact that its a Lisp. To get a feeling for the "magic" of lisp, I would suggest either watching SICP video lecs[0] or reading the book. I started learning lisp, almost the same time I've started learning programming with Java (college). Honestly I was thinking why they don't just teach us that, instead of Java at that time. Also Clojure is created by a fairly respected dude (afaik) Rich Hickey. His talks and Clojure design decision articles on the site are really insightful. Also this talk[1] also pretty good overview of different paradigms and `Clojure way`, imo. [0] ▶ this video [1] link

RecommendsView on HN
@bluedays2019 · in “A curated list of Computer Engineering resources”

It’s funny you should ask that as I was just watching a lecture by Harold Abelson in which he addresses this exact question. ▶ this video In case you don’t have the time or inclination to watch the video it can basically be summarized by saying the following. When the Egyptians first discovered geometry it was considered crop science as it’s primary application was for determining crop yields and when to plant and harvest. In the same way now that computers science is applied to computers today. But just like Geometry is really about farming, computer science is not really about computers. Professor Abelson goes on to explain that computer science provides a means to determine proofs for abstract mathematics a reasoning, so that we can understand with definitive proof things that until now were only theoretical.

CitesView on HN
@abiro2019 · in “Ask HN: Which of our ideas about computation could survive a thousand years?”

I’ve included the halting problem, but omitted the Turing machine, because while ingenious, the latter is simply a hack to make proofs work and not a very good way to think about computation. Similarly, I’ve included distributed representations, but omitted backpropagation since while backprop works very well for a number of problems that are otherwise unsolvable today, it is not a particularly enlightening way to write programs. Also, the first 10 minutes of the introductory SICP lecture contains a livelier presentation of the idea in the quote: ▶ this video

RecommendsView on HN
@chrisa2019 · in “Structure and Interpretation of Computer Programs (1996) [pdf]”

The original course videos are on youtube too! I found them a bit easier to watch than reading the book: ▶ this video

RecommendsView on HN
Lecture 1A | MIT 6.001 Structure and Interpretation, 19861:12:56

Lecture 1A | MIT 6.001 Structure and Interpretation, 1986

MIT OpenCourseWare
995K views • 17 years ago
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 7A: Metacircular Evaluator, Part 11:24:38

Lecture 7A: Metacircular Evaluator, Part 1

MIT OpenCourseWare
32K 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
Brian Beckman: Don't fear the Monad1:07:10

Brian Beckman: Don't fear the Monad

jasonofthel33t
415K views • 13 years ago
Practical Common Lisp1:12:10

Practical Common Lisp

Google TechTalks
98K views • 19 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
1. Introduction, Finite Automata, Regular Expressions1:00:34

1. Introduction, Finite Automata, Regular Expressions

MIT OpenCourseWare
626K views • 5 years ago
"Shen: A Sufficiently Advanced Lisp" by Aditya Siram40:20

"Shen: A Sufficiently Advanced Lisp" by Aditya Siram

Strange Loop Conference
26K views • 12 years ago
"Simple Made Easy" - Rich Hickey (2011)1:01:39

"Simple Made Easy" - Rich Hickey (2011)

ClojureTV
434K views • 5 years ago
"Outperforming Imperative with Pure Functional Languages" by Richard Feldman34:55

"Outperforming Imperative with Pure Functional Languages" by Richard Feldman

Strange Loop Conference
98K views • 5 years ago
Lambda Calculus - Fundamentals of Lambda Calculus & Functional Programming in JavaScript1:02:15

Lambda Calculus - Fundamentals of Lambda Calculus & Functional Programming in JavaScript

Fullstack Academy
227K views • 9 years ago
The Functional Programmer's Toolkit - Scott Wlaschin1:05:51

The Functional Programmer's Toolkit - Scott Wlaschin

NDC Conferences
79K views • 7 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
Stanford Seminar - Concatenative Programming: From Ivory to Metal1:04:45

Stanford Seminar - Concatenative Programming: From Ivory to Metal

Stanford Online
14K views • 8 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
"Pixie - A Lightweight Lisp with 'Magical' Powers" by Timothy Baldridge33:13

"Pixie - A Lightweight Lisp with 'Magical' Powers" by Timothy Baldridge

Strange Loop Conference
30K 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