# Structure and Interpretation of Computer Programs ~ Video Lectures by Hal Abelson and Gerald Jay Sussman PART 1

0 (0 Likes / 0 Dislikes)

I'd like to welcome you to this course on computer science.
Actually it's a terrible way to start.
"Computer Science" is a terrible name for this business,
first of all, it's not a "science",
it might be "engineering" or it might be "art",
but I actually see that computer, so-called science, has a lot in common with magic.
And you will see that in this course.
So it's not a science, it's also not very much about computers.
And it's not about computers in the same sense that physics is not really about particle accelerators.
and biology is not really about microscope and petri dishes.
and it's not about computer in the same sense that geometry is not really about using surveying instrument.
In fact, there is a lot of commonality between computer science and geometry.
Geometry, first of all, is another subject with a lousy name.
For the name comes from gaia, meaning the Earth, and metro- meaning 'to measure',
Geometry originally meant measuring Earth, or surveying
And the reason for that was that thousands of years ago, the Egyptian priesthood developed the rudiment of geometry
in order to figure out how to restore the boundaries of fields that were destroyed by the annual flood of the Nile.
And to the Egyptians who did that, Geometry really was the use of surveying instruments.
Now the reason that we think computer science is about computers
is pretty much the same reason the Egyptians thought Geometry was about surveying instruments
and that is, when some field is just getting started and you don't really understand it very well
its very easy to confuse the essence of what you're doing with the tools that you use
and indeed, on some absolute scale of things we probably know less
about the essence of Computer Science than the ancient Egyptians really knew about Geometry.
Well what do I mean by the "essence" of Computer Science, what do I mean by the "essence" of Geometry?
See it's certainly true that these Egyptians went off and used surveying instruments
but when we look back on them after a couple of thousand years, we say gee,
what they were doing, the important stuff they were doing, was begin to formalize
notions about space and time, to start a way of talking about mathematical truths formally.
That led to the axiomatic method, that led to sortof all of modern mathematics.
Figuring out a way to talk precisely about so-called "declarative knowledge,"
"What is true."
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 was starting to learn how to formalize
intuitions about "process," how to do things.
starting to develop a way to talk precisely about "how-to" knowledge
as opposed to Geometry, which talks about "what is true."
Let me give you an example of that.
Here is a piece of mathematics that says what a square root is.
The square root of x "is" the number y such that y squared is equal to x
and y is greater than zero. now that's a fine piece of mathematics
but just telling you what a square root is doesn't really say anything about how you might go out and find one.
So let's contrast that with a piece of "imperative knowledge," how you might go out and find a square root.
This in fact also comes from Egypt, not ancient ancient Egypt, this is an algorithm due to Heron of Alexandria
called "How to Find a Square Root by Successive Averaging," and what it says is
that in order to find a square root, you make a guess, you improve that guess
and the way you improve the guess is average the guess and x over the guess (and we'll talk a little later about why that's a reasonable thing)
and you keep improving the guess until its good enough. that's a method, "how to do something,"
as opposed to declarative knowledge, that says what you're looking for. its a "process."