Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼

Innovative Alice 3 Educational Software Released

Carnegie Mellon University today announced the beta release of Alice 3, the latest version of an innovative software environment designed to take something challenging — learning about computer programming — and make it as fun as creating an animated movie or a video game.

This new version, which Carnegie Mellon makes available as a free download at www.alice.org, includes animated characters and scenes donated by Electronic Arts (EA) from its bestselling PC game, The Sims2. Like earlier Alice versions, Alice 3 allows novices to use a simple drag-and-drop interface to create 3D computer animations. But this latest version also includes an interface that allows advanced students to use a keyboard to create programs written in standard Java, the world's most popular programming language. It also includes an export feature that helps users post their creations on YouTube.

Though still in the beta test stage, Alice 3 is suitable for use in classrooms for the 2009-10 academic year.

"The sophisticated animations from The Sims promises to make Alice 3 a favorite among students, who take for granted the slick graphics of video games and virtual worlds," said Wanda Dann, director of the Alice Project and an associate teaching professor in the School of Computer Science's Human-Computer Interaction Institute (HCII). "This version makes Alice an even better teaching tool. Now, students can seamlessly transition from a simple, mouse-based programming environment to a production-level programming language."

Alice is the brainchild of the late Randy Pausch, a Carnegie Mellon computer science professor who became famous for his life-affirming "Last Lecture," an Internet video phenomenon that subsequently became a best-selling book. Pausch loved football almost as much as he loved teaching and considered Alice the educational equivalent of a "head fake," the head movement football players use to misdirect an opponent. "The best way to teach somebody something is to have them think they're learning something else," he explained. With Alice, "the head fake is that they're learning to program, but they just think they're making movies and video games."

The current version, Alice 2.2, has been downloaded millions of times. More than 15 percent of U.S. colleges and universities use Alice and an increasing number of middle and high schools are using the software to teach their students. To date, 10 textbooks have been written for Alice.

"Alice has the potential to draw young people into computer science who otherwise would never consider it a possible career path," said Randal E. Bryant, dean of the School of Computer Science. "It dispels the impression that computer programming is all about arcane notations and requires years of training before it becomes possible to create interesting results. Alice 3 will not only draw students in — especially with the Sims characters — but will also help them move on to more advanced programming."

Pausch initiated work on Alice 3 in 2006 before being diagnosed with pancreatic cancer. He saw a rough version of it just before he died July 25, 2008. "To the extent that you can live on in something," he said during his final lecture at Carnegie Mellon, "I will live on in Alice."

Alice may be fun, but that doesn't mean computer programming lessons are dummied down. "With Alice, students learn right away what it means to actually control a computer, rather than simply use a computer," said Don Slater, an Alice Project team member and assistant teaching professor of computer science who uses the software in classes at Carnegie Mellon. Alice's drag-and-drop interface eliminates syntax errors that frustrate many beginning programmers, making it easier for students to grasp programming concepts.

Alice is an open-source, object-oriented system. Alice 2.2 uses a Java-like programming language, but the Alice Project team opted to give Alice 3 a full Java interface in response to feedback from educators. To accomplish this, lead developer Dennis Cosgrove, an HCII project scientist, took the Sims2 animation assets, which were written in a programming language called C, and rewrote them using Java code. Moreover, he developed a method to protect EA's proprietary characters while preserving Alice's open source status and the ability for students to manipulate those characters.

Users of Alice 3 will initially choose from hundreds of character objects and dozens of scenes from The Sims to populate the virtual worlds they create, with hundreds of motions and behaviors they can use to animate their characters. More animation choices will be added as Alice 3 is refined.

"In its current form, we believe Alice 3 offers advantages for upper-level high school and first-year college students," Dann said. "Alice 2.2 will remain an important educational tool in middle schools and high schools for some time to come."

Last year, Sun Microsystems announced it was teaming with Carnegie Mellon to support Alice's continued development. Over the next three years, Sun will work with the university to globalize Alice, providing tools to translate it into different languages and develop drag-and-drop artifacts unique to a variety of cultures. Sun will work with the Alice development team to bring the system to a worldwide audience of educators and students.

In addition to Sun, the Alice Project has received support from Electronic Arts, National Science Foundation, DARPA, Intel, Microsoft and SAIC, as well as Google, General Dynamics, the Heinz Foundation and the Hearst Foundation.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.