-
Ok
-
usually I just jump writing and start typing at the computer, but well, I'll try to get that fixed up
-
I'll tell you some of the administrative things
-
So the great big handout that you should have gotten or should be getting soon
-
has general information about the course and stuff like should you be taking this course versus some
-
other course
-
what the assignments are and how they're graded
-
and, toward the back, on page 17 is the outline, weekly outline of
-
what topic is when
-
I only have one line on the screen I just made some more so they might've just not seen them
-
and also in this big handout is the first week homework and lab
-
which actually you should have already anyway the lab from getting into lab. Who is not
-
into lab yet ?
-
Ok, so most of you have, that's good
-
The one page handout
-
has last minute details including which TA is teaching which section
-
and the name of your reader and all the times (of) discussions and labs
-
and how many spaces are available as of this morning in each section
-
You'll see most of those numbers are zero but there are four sections that still haven't listed one vacant
-
space
-
for people who aren't in a section yet
-
The one that has the most empty spaces is wednesday-friday nine thirty to eleven am, so
-
if you're not in the section, try that one
-
ah ah they're gonna try a different video keyboard
-
This week, despite what your scheduled classes says,
-
you're meeting in the lab both times, so don't go to discussion section this week
-
go to lab again
-
?? starting next week, it's lab in the first half of the week and discussion
-
in the second half of the week
-
I'll pass ... computer account forms just for people who didn't get one in the lab
-
if I have any TAs here, TAs are supposed to come and bring me spare account forms
-
now it would be a good time to give me them
-
So the things you need to buy are the textbook, Structure And Interpretation Of Computer Programs
-
named after the course
-
So you need the textbook and there's 2 volumes of the course reader
-
volume 1 is the stuff that changes from semester to semester
-
so you definitely need a new copy of volume 1, you can't (be copied ? ) a used one
-
if you took the last semester and dropped it, buy a new volume 1 anyway
-
volume 2 is the stuff that mostly doesn't change from semester to semester
-
however, this semester it did a little bit
-
so if you get an old one of this you'll be missing my lecture notes and
-
the article to read about the map reduce thing and for week 13, and we
-
rearranged the sequence of topics of the sample exams
-
don't quite line up in the older readers
-
so it's a good idea but not absolutely essential to get a new volume 2
-
but on the other hand it costs 30 dollars, so
-
Ok, great, so now we have a computer
-
and I'm gonna run STK
-
which is the name of a particular implementation of the Scheme programming language
-
Scheme is a dialect of Lisp
-
Lisp is the second oldest computer programming language that's still in use
-
so it's existed for a long long time now
-
starting in.. what, 1960 ?
-
so going on almost fifty years now
-
and the reason that's hang around this long is that people fond it very useful
-
the reason we use it, well, the reason because the book uses it
-
but the reason the book uses it is that you'll find that it's a language that doesn't have very much
-
in the way of notation, you know, idiosincratic rules
-
so you'll gonna learn the entire Scheme language pretty much today
-
and it won't be a big deal and after that we can talk about big ideas in computer science
-
and yet even though it's a very simple language it's also a very powerful language
-
and later on in the semester we'll be learning some things about why that is
-
however, don't think of this as a course about the programming language
-
some of you, especially if you're transfert students from the community college
-
may have taken a bunch of courses named after programming languages
-
.. took a Pascal course and a C course and a C++ course and a Java course and so on
-
this is not the Scheme course
-
today it's the Scheme course, the rest of the semester is stuff that will be useful to you
-
no matter what language you'll program in later in life
-
Ok, so, Scheme is an interactive programming language,
-
which means I type something in and it types something out
-
So I type in something called an expression and it tells me the value of the expression
-
So the simplest expression I could type in is something like
-
a number .. the value of seven is seven
-
that's not very interesting
-
we can also do arithmetics on numbers
-
ops.. close parentheses... we'll try that again... there we go
-
and already you'll see that Scheme is a little bit different from
-
the notation you're used to
-
you're accustomed to many different notations for functions
-
so the plus function, you use to see it in between the two arguments