Education For All

www.edforall.net

Text size
  • Increase font size
  • Default font size
  • Decrease font size

Lectures (Video)

The Structure and Interpretation of Computer Programs

Course Summary

This course is based on CS 61A The Structure and Interpretation of Computer Programs, Spring 2008 made available by University of California, Berkeley: Webcast.Berkeley under the Creative commons BY-NC-ND 2.5 license.
This course provides an introduction to programming and computer science. It is taught using Scheme, a dialect of the LISP programming language. It is based on the book Structure and Interpretation of Computer Programs by Abelson, Sussman, and Sussman. An online version of book is available here. The course is taught by Brian Harvey, Computer Science Division, University of California at Berkeley.

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 to be done in Scheme.

Reading Material

1. Structure and Interpretation of Computer Programs 2nd ed
Abelson, Harold, Gerald Jay Sussman, and Julie Sussman. Structure and Interpretation of Computer Programs. 2nd ed. Cambridge, MA: MIT Press, 1996. ISBN: 9780262011532.
(Full-text of the book is available online at the link above)

Course Material

1. Revised Report on Scheme (484 KB pdf)
Scheme is a dialect of Lisp programming language invented by Guy Lewis Steele Jr. and Gerald Jay Sussman. It was designed to have an exceptionally clear and simple semantics. A wide variety of programming paradigms can be conveniently expressed in Scheme.

2. Object-Oriented Programming I

3. Object-Oriented Programming II

4. Reference Manual for the OOP Language

5. Highlights of GNU Emacs (167 KB pdf)

6. Emacs Quick Reference Guide

7. Lecture Notes (1.35 MB pdf)

Other Resources

1. MIT 6.001 Lecture Notes
The following are lecture notes from a similar course at MIT (6.001 Structure and Interpretation of Computer Programs, Spring 2005)
2. Simply Scheme: Introducing Computer Science
Brian Harvey, Matthew Wright, Harold Abelson, 2nd Edition, MIT Press, 1999, ISBN 0262082810, 9780262082815.
(Click the button below to see a preview of the book)


Software

Not available.

Discussion Forum

For discussion on this topic, please go to the relevant forum for The Structure and Interpretation of Computer Programs. Click the button below to open the forum page in a new window.

 

 

Translate

Chinese (Simplified) French German Italian Japanese Korean Portuguese Russian Spanish
More educational resources: