Alert icon
We're changing our privacy policy. This stuff matters.  Learn more  Dismiss

CS 61A Lecture 4: Higher-Order Procedures

Loading...

Sign in or sign up now!
Alert icon
Upgrade to the latest Flash Player for improved playback performance. Upgrade now or more info.
11,522
Loading...
Alert icon
Sign in or sign up now!
Alert icon

Uploaded by on Jul 30, 2008

CS 61A - Spring 08 - The Structure and Interpretation of Computer Programs

Instructor Brian Harvey

Introduction to programming and computer science. This course exposes students to techniques of abstraction at several levels: (a) within a programming language, using higher-order functions, manifest types, data-directed programming, and message-passing; (b) between programming languages, using functional and rule-based languages as examples. It also relates these techniques to the practical problems of implementation of languages and algorithms on a von Neumann machine. There are several significant programming projects, programmed in a dialect of the LISP language.

http://www.cs.berkeley.edu

Category:

Education

Tags:

Download this video

LICENSE: Creative Commons (Attribution-Noncommercial-No Derivative Works).

For more information about this license, please read: http://creativecommons.org/licenses/by-nc-nd/3.0/.

High-quality MP4 Learn more

  • likes, 0 dislikes

Link to this comment:

Share to:

Top Comments

  • Lectures 5, 6, and 7 are marked private. You can find them in Real video and MP3 formats via Google search for "webcast cs61a spring 2008"

  • The example code is written in Scheme. The functions described on the board between 4:05 and 7:30 correspond to Python's map (every), filter (keep), and reduce (accumulate), which are also designed to work with lambda functions.

see all

All Comments (20)

Sign In or Sign Up now to post a comment!
  • @xssive405, Thanks, to say the true, decision came intuitively. I was watching one per day, as I remember. I've got purple book of wisdom, but have not enough time and energy to study, now... sad, but true.

  • @xssive405 By the by: On me NetBSD system with Gambit-C as scheme environment it does 100000 with no problems.

  • @TheNefski That's neat. Encapsulating the lambda within a lambda in order to label the function fn. Seems like the most direct approach. I wouldn' t have thought it up, but I've been watching all 4 videos straight in a row :) Which might be a bit too much at once.

  • I love how empty the classroom compared to week1 vid lol :)

  • @apilash BASIC (-:

  • Dumb syntax is first problem you get here, everything else seems actually simple to me. Why can't let ((N1 V1) (N2 V2) ... (Nn Vn)) have syntax like let {N1:V1; N2:V2; ... Nn:Vn}. Why create all that mess with "different kind of parenthesis"?..

  • @apilash Java

  • what language is good to start with? please reply :d

  • @TheNefski Brilliant! 

Loading...

Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more