Computer Systems Laboratory Colloquium

4:15PM, Wednesday, November 5, 1996
NEC Auditorium, Gates Computer Science Building B03

Programming as a Video Game
or
ToonTalk -- A Video Game for Creating Programs

Ken Kahn
Animated Programs

Seymour Papert once described the design of the Logo programming language as taking the best ideas in computer science about programming language design and "child engineering" them. Twenty-five years after Logo's birth, there has been tremendous progress in programming language research and in computer-human interfaces. Programming languages exist now that are very expressive and mathematically very elegant and yet are difficult to learn and master. We believe the time is now ripe to attempt to repeat the success of the designers of Logo by child engineering one of these modern languages.

When Logo was first built, a critical aspect was taking the computational constructs of the Lisp programming language and designing a child friendly syntax for them. Lisp's "CAR" was replaced by "FIRST", "DEFUN" by "TO", parentheses were eliminated, and so on. Today there are totally visual languages in which programs exist as pictures and not as text. We believe this is a step in the right direction, but even better than visual programs are animated programs. Animation is much better suited for dealing with the dynamics of computer programs than static icons or diagrams. While there has been substantial progress in graphical user interfaces in the last twenty-five years, we chose to look not primarily at the desktop metaphor for ideas but instead at video games. Video games are typically more direct, more concrete, and easier to learn than other software. And more fun too.

We have constructed a general-purpose concurrent programming system, ToonTalk (TM), in which the source code is animated and the programming environment is a video game. Every abstract computational aspect is mapped into a concrete metaphor. For example, a computation is a city, a concurrent object is a house, birds carry messages between houses, a method or clause is a robot trained by the user and so on. The programmer controls a "programmer persona" in this video world to construct, run, debug and modify programs. We believe that ToonTalk is especially well suited for giving children the opportunity to build real programs in a manner that is easy to learn and fun to do.

See http://www.toontalk.com for more information.

A live demo of ToonTalk will be given.

About the speaker:

ToonTalk was designed and built by Ken Kahn who, after earning a doctorate in computer science from MIT, spent more than 15 years as a researcher in programming languages, computer animation, and programming systems for children. He has been a faculty member at MIT, University of Stockholm, and Uppsala University. For over eight years he was a researcher at Xerox PARC. In 1992, Ken founded Animated Programs whose mission is to make computer programming child's play.

Contact information:

Ken Kahn
1748 Monticello Road
San Mateo, CA 94402
(650)577-1785
KenKahn@ToonTalk.com