Lecture 2B | MIT 6.001 Structure and Interpretation, 1986
HTML-код
- Опубликовано: 16 ноя 2024
- Compound Data
Despite the copyright notice on the screen, this course is now offered under a Creative Commons license: BY-NC-SA. Details at ocw.mit.edu/terms
Subtitles for this course are provided through the generous assistance of Henry Baker, Hoofar Pourzand, Heather Wood, Aleksejs Truhans, Steven Edwards, George Menhorn, and Mahendra Kumar.
i can't even find words to express my gratitude to MIT to have given us this chance to watch Dr. Sussman and Dr.Abelson instructing. Their book is the all time cult classic of computer engineers and to watch them instructing the principles in this book is priceless.
Thank you again MIT.
I would like to thank MIT for making this available for people from all over the world. I am watching the lectures, reading the book, and solving the exercises. I think I will learn more on this auto-didactic journey than what I learned in my undergraduate program.
I am working through the book too! I just finished Chapter 1
did you finish?
Does anyone else feel all warm and fuzzy when watching these videos?
Yes me too, I love their teaching..
it's the spirit in the machine makes you feel that way. welcome, to a higher state of (computational) consciousness! (seriously though, um, *yes*)
Definitely.
As fuzzy as Abelson's hair.
1:02:25 gets spooky scary - my favorite part so far! Love how the content of the course and the cute presentation resonates with me. "Wishful thinking", "name of spirit", "a lot in common with magic" -- simple wording that helps foster sympathy for the material in students.
Protip: download the lecture (available at their website) and watch it at twice the speed. The professors are usually still quite audibile at 2x speed.
i prefer this guy's teaching style much more than the previous. he knows how to explain the essence without unnecessary details
I agree. This guy (Harold Abelson) is more about teaching how to think, the right way of looking at your code, it applies to all programming, the other one (Gerald Jay Sussman) frankly just teaches LISP, and I have no desire to learn it
I disagree, he doesn't *just* teach LISP. The concepts in functional programming i.e the thing you detest LISP are priceless gems in programming you cannot really appreciate until you've programmed in other languages for some time. The things he teaches are not exclusive to LISP.
Ironically, there is minimal syntax and the professors picked the language with that in mind to spend more time explaining general CS topics. So your difficulty with the language is quite unexpected. Compare that to say learning C++, or Java with their heavy syntax. I actually encourage you to learn programming the conventional way so can appreciate this a little more.
@@mikemo9727 I like solving the exercises in Scheme and then reimplementing in C. It helps me see the overlap between what they are teaching and how I can apply it. I agree that Scheme is pretty easy to get a grasp of, but it might be somewhat unfamiliar for most coming from a more procedural background, whereas Scheme is quite functional in nature. This could detract from what they are trying to get at I think, but it is a good thing because an essential skill as a computer scientist is the ability to adapt to new ways of thinking about and rationalizing a problem you're trying to solve.
I love Harold Abelson's teaching style, everything is very clear.
I lost 4 1/2 years of my life by programming java. Now i realize there is lisp ( in particular clojure ) and this god send videos. Thanks for that
Even today, i feel quite inspired after watching this lecture. Before I always thought procedures are like functions, which is kind of a "template" or an "act" which takes parameters to do something, which is doing the real work when you call them. But now I know it can also be thought of as a data or object that can exist and operate.
Great pre-Agile/XP shout-out around the 0:30:00-0:40:00 mark to Emergent Design, avoiding Big Design Up Front, and establishing Metaphors via a Walking Skeleton. Note he doesn't use those "modern" terms, but he's describing these practices and their benefits exactly.
I thought the lectures so far were good but I wasn't buying into the hype yet, the second half of this lecture is where I started feeling the magic.
1:04:19 had me screaming at my screen in awe XD
that is *such* a cool way of defining types! a literal expression of the abstract notion of what it is really intended to be
@ 57:45 into the video the subscripts say "when often defined" but Hal Abelson said "went off and defined".
The funny thing is that the whole series looks like it was some '80s American TV show.
For those of you who haven't got it yet, all these are advanced features even for a modern language.
As long as good-enough is good enough...
can't get over the fact that there was an asian clark kent taking these courses :)
Rofl
So strange how much they look alike, and there is a guy in the audience who looks exactly like one of them.
@AndreDeMoscu The course is avaiable at the MIT OpenCourseWare site, they host the videos at their site, with this RUclips playlist just being a mirror.
Do a Google search for "Structure and Interpretation of computer programs MIT open courseware", should turn up the course's site.
well, he really blowed my mind at 1:04:45
1:15:00 -- That's my understanding, too.
I am amazed how many women attend this course... is it the time or the country? because where I live we have like one woman on 40 guys in computer science class
The field of computer science started out with mostly women. The first 'computers' were women doing math by hand, and many of them transitioned to programming, which at the beginning was often thought of as mechanical mathematics and sort of secretarial work like data entry might be considered today. Gender imbalance started tipping the other way gradually, and by the late 60's, women were no longer a majority. Women still made up a third of computer science graduates in the mid-80's but have been declining ever since, with male dominance complete by the 90's. The history of women in computing is pretty fascinating if you look into it.
@ma1kel
thanks, i suppose that that was merely a glitch of my pc and internet provider, now all the videos from MIT work correctly!
the problem is that it's difficult to get myself sitting still and watching them after have read and worked out the corresponding chapters in the book)
He does not decompose the procedures, so the idea of packaging two integers into rational cloud cannot be the same, especially in the context pf the question "why do you compose and later break apart?"
1:04:23 and now, i am scared.
That CASIO wristwatch, o-o-o-h yeah!!!
@ 1:12:16 ohh gawd where is it stored :@
So the defination of pair would be as below?
(define (pair x y)
(define x (car (cons x y)))
(define y (cdr (cons x y ))))
1:14:18 boom! all data in air
This stuff was filmed, 2 years before my birth :-). Thanks RUclips! LOOKING AT HISTORY!. Thumbs up if you're seeing this video in 2012 and still finding it relevant.
at around 22:10, when he mentions pointers, and the arrows, is it possible for the arrows to be pointing to each other, or to they always point to some object or empty object?
You can have, for example, CDR of a pair pointing to the pair itself. Or, if you already know that a list is made of pairs, where each CAR points to the element of the list and each CDR points to the next pair, one of the CDRs can point to a pair earlier in the list, thus creating a cycle. Google “circular lists in lisp” if you're interested.
DEFIIINE :), good teacher.
Once you've gotten this far, you realize that it sounds more like we're joining a cult.
Who the ... is George? Is that a MIT running gag or something?
i have a problem, this video can't be loaded for at least a weak already.
dear MIT, wouldn't you fix it somehow, by reloading it or giving an alternative link? i study the corresponding chapter in the SICP textbook so it would be very nice to watch lectures in the same time.
I find his notation confusing (but correct).
(define (cons a b) (lambda (pick) ...) isn't as clear as (define cons (lambda (a b) (lambda (pick) ...)
13:28 DIOS MIO !!!!!!!!!!!!!
omg the hairless man is back! LOL