< Return to Video

CS 61A Lecture 1: Functional Programming I

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

English subtitles

Revisions