Alice is an innovative 3D programming environment that makes it easy
to create an animation for telling a story, playing an interactive
game, or a video to share on the web. Alice is a freely available
teaching tool designed to be a student's first exposure to
object-oriented programming. It allows students to learn fundamental
programming concepts in the context of creating animated movies and
simple video games. In Alice, 3-D objects (e.g., people, animals, and
vehicles) populate a virtual world and students create a program to
animate the objects.
In Alice's interactive interface, students drag and drop graphic
tiles to create a program, where the instructions correspond to standard
statements in a production oriented programming language, such as Java,
C++, and C#. Alice allows students to immediately see how their
animation programs run, enabling them to easily understand the
relationship between the programming statements and the behavior of
objects in their animation. By manipulating the objects in their virtual
world, students gain experience with all the programming constructs
typically taught in an introductory programming course.
Alice was developed to address three core problems in educational programming:
- Most programming languages are designed to be usable for "production code" and thus introduce additional complexity. Alice is designed solely to teach programming theory without the complex semantics of production languages such as C++. Users can place objects from Alice's gallery into the virtual world that they have imagined, and then they can program by dragging and dropping tiles that represent logical structures. Additionally, the user can manipulate Alice's camera and lighting to make further enhancements. Alice can be used for 3D user interfaces.
- Alice is conjoined with its IDE. There is no syntax to remember. However, it supports the full object-based programming, event driven model of programming.
- Alice is designed to appeal to specific subpopulations not normally exposed to computer programming, such as female students of middle school age, by encouraging storytelling, unlike most other programming languages which are designed for computation. Alice is also used at many colleges and universities in Introduction to Programming courses.
In controlled studies at Ithaca College and Saint Joseph's University
looking at students with no prior programming experience taking their
first computer science course, the average grade rose from C to B, and
retention rose from 47% to 88%.
A variant of Alice 2.0 called Storytelling Alice was created by Caitlin Kelleher for her PhD dissertation. It includes three main differences:
- High-level animations that enable users to program social interactions between characters.
- A story-based tutorial that introduces users to programming through building a story.
- A gallery of 3D characters and scenery with custom animations designed to spark story ideas.
It appeared to increase interest (42% increase in programming time
and over three times as many students doing additional work as Generic
Alice) without any drop off in basic programming tasks acquired. The
next version of Storytelling Alice is known as Looking Glass, and is
being developed at Washington University in St. Louis.
http://en.wikipedia.org/wiki/Alice_%28software%29
www.alice.org



