CSC Logo
HomeEventsPast terms' events


Gerald Jay Sussman will be at UW for May 25 and 26.

Public Lecture 1

Title: Why Programming is a Good Medium for Expressing Poorly Understood and Sloppily Formulated Ideas

Location: MC 2066

Time: May 25, 5:00 PM


Come and meet Sussman, get your copies of SICP signed and talk with other students and faculty. Snacks and refreshments will be provided by UW Catering.

Location: MC 5136

Time: May 26, 3:30 PM

Public Lecture 2

Title: The Art of the Propagator

Location: MC 5158

Time: May 26, 5:00 PM

Refreshments provided. Full Abstract Below.


We would like to thank the Mathematics Endowment Fund and the School of Computer Science for sponsoring these events.


Main Poster
Event #1


Why programming is a good medium for expressing poorly understood and sloppily formulated ideas

Gerald Jay Sussman
Panasonic Professor of Electrical Engineering
Massachusetts Institue of Technology

I have stolen my title from the title of a paper given by Marvin Minsky in the 1960s, because it most effectively expresses what I will try to convey in this talk.

We have been programming universal computers for about 50 years. Programming provides us with new tools to express ourselves. We now have intellectual tools to describe "how to" as well as "what is". This is a profound transformation: it is a revolution in the way we think and in the way we express what we think.

For example, one often hears a student or teacher complain that the student knows the "theory" of some subject but cannot effectively solve problems. We should not be surprised: the student has no formal way to learn technique. We expect the student to learn to solve problems by an inefficient process: the student watches the teacher solve a few problems, hoping to abstract the general procedures from the teacher's behavior on particular examples. The student is never given any instructions on how to abstract from examples, nor is the student given any language for expressing what has been learned. It is hard to learn what one cannot express. But now we can express it!

Expressing methodology in a computer language forces it to be unambiguous and computationally effective. The task of formulating a method as a computer-executable program and debugging that program is a powerful exercise in the learning process. The programmer expresses his/her poorly understood or sloppily formulated idea in a precise way, so that it becomes clear what is poorly understood or sloppily formulated. Also, once formalized procedurally, a mathematical idea becomes a tool that can be used directly to compute results.

I will defend this viewpoint with examples and demonstrations from electrical engineering and from classical mechanics.

The Art of the Propagator

Gerald Jay Sussman
Panasonic Professor of Electrical Engineering
Massachusetts Institue of Technology
(joint work with Alexey Radul)

We develop a programming model built on the idea that the basic computational elements are autonomous machines interconnected by shared cells through which they communicate. Each machine continuously examines the cells it is interested in, and adds information to some based on deductions it can make from information from the others. This model makes it easy to smoothly combine expression-oriented and constraint-based programming; it also easily accommodates implicit incremental distributed search in ordinary programs.

This work builds on the original research of Guy Lewis Steele Jr. and was developed more recently with the help of Chris Hanson.