June 2008 — News
Print this article | Email this articleClick here to receive your FREE subscription to T.H.E. Journal
Alice Offers Gentler Intro to Programming
As a three-dimensional graphical programming language, Alice eliminates all that and moves students past syntax to thinking through the steps necessary to make an event occur. In Alice, students create animations using established characters who already have characteristics programmed in.
For example, a student working in Alice's "ice skater world" can use a three-dimensional image of an ice skater with basic commands already build in. The skater is treated as an object in Alice; the programming student chooses an operation, drags it from the programming pane, and drops it, then hits the play button to see what happens. The focus moves from syntax to the importance of thinking through a problem or sequence of events and other programming challenges.

Alice presents students with challenges of its own, Harrison said. For example, the meaning of some of the terms in Alice may not be what a student expects. Choosing "Turn" for the ice skater without a proper axis for the turn can cause the skater to rotate in place, basically spinning right through the ice.
Unlike a traditional programming language, however, correcting the error in Alice is relatively straightforward. "It's obvious right away that there's a problem, so it's easy to fix," Harrison said, "unlike in a traditional programming language, [in which] we may have given students a simple program like, 'Calculate the area of a rectangle, square, or circle.' In that case, you may get an answer, but how do you know it's right without working it out yourself and checking it?"

Alice is a free, open-source programming language developed over the last 10 years or so by researchers at Carnegie-Mellon University, including the well known professor Randy Pausch. Electronic Arts Inc., a large video-game publisher, is currently collaborating with CMU in the development of a new release of Alice, version 3.0. The software is intended as a teaching tool to introduce students to object-oriented programming by allowing them to learn fundamental programming concepts while creating animated movies and simple video games.
It's too soon yet to be able to measure how well knowledge of Alice translates to real-world programming skills at Princess Anne. In his second year of using Alice, Harrison now has a handful of students in his Advanced Placement computer science course, which teaches Java, who studied Alice with him last year. In general, he said, those students seem to be ahead of his other programming students. This may be partly owing to the fact tat the Alice course touches on Java at the end. But more important, Harrison said, is that his Alice-trained students are "used to thinking like programmers. They're used to thinking about a very linear sequence of events."