Brittany Moyers

Document Type

Honors Project

First Advisor

Owen Keefer

Degree Award Date

Spring 2007


Alice, programming language, Storytelling Alice


Computer Sciences | Graphics and Human Computer Interfaces | Programming Languages and Compilers


Alice is a programming language developed by Carnegie Mellon. It is a visual programming language where the user can click and drag pre-written commands to the workspace or even write their own. Programming Alice is fun and unlike any other language I have worked with before. According to Wanda Dann, Stephen Cooper, and Randy Pausch, "being a 'computer programmer' using Alice is really like being a movie director, a puppeteer, or a choreographer ... ".

The workspace is a three dimensional virtual world. One can choose from a variety of worlds: snow, sand, grass, space, etc. There is a large library of objects that also can be put into any world. The concept that makes Alice so fun is the objects are 30; they can move in six directions instead of the normal three in 20. Now objects can move up, down, left, right, forwards, and backwards.

As with all programming, brainstorming and having an idea of what you want is always important. It is hard to write pseudo code for Alice, however, one could sketch out a storyboard or scenario so programming would go smoothly.

One can use many of the same commands as other languages: if/else, do together, do while, loop, etc. The only difference is one can drag the command to the workspace. One can also set special parameters or write your own class-level methods.

I have worked with Alice two semesters yet there is so much more to learn. Everything acts independently from other objects, even the world, so an endless possibility of creations exists.