Simple Things

Making Simple Things Simple, Making Complex Things Possible

Mitchel Resnick
Henry Lieberman

Media Laboratory
Massachusetts Institute of Technology

With today's programming languages, most people (other than expert programmers) find it very difficult to do even simple things. One solution is to use pre-packaged applications instead. But packaged software typically lacks flexibility and extensibility. In this course, we will explore new types of computational environments that make it easier for people to design their own media-rich "microworlds" for exploratory learning and testing ideas. We will examine case studies, including various versions of Logo, programming by example, MUD languages, scripting and authoring languages, application-specific extension languages (such as spreadsheet formulas), graphical interface editors, and visual programming. Students will be requested to read and critique the literature, and do mock-ups of new interface ideas or programming projects.

Introduction to the course

Sample images from student projects