provided by: 
Originally published at Internet.com
Java Programming Notes # 1516 * Preface * General * Viewing tip * Figures * Listings * Tables * Supplementary material * Preview * Discussion * Getting started * Creating and animating an Alice world * Objects in 3D space * A simple Alice program * Resources * Complete program listings * Copyright * About the author -----------------------------------
Preface
Target audience
The target audience for this article includes experienced programmers who would like an interesting diversion from work while eating lunch at their desk, and experienced programmers who have children, grandchildren, siblings or friends who need to learn how to program.
An interesting diversion
If you spend your lunch hour at your desk eating a sandwich, playing Cub Rummy, watching outrageous videos at YouTube, or watching bad-news videos on your favorite news channel, all you have to show for it at the end of the lunch period is indigestion. However, if you spend that time using Alice to create an animation video of the ice skater shown in Figure 11 jumping over three or four of the characters in Figure 1, you could show it off to your peers and brag a little at the end of the lunch period.
Teaching teenagers to write computer programs
On a slightly more serious note, have you ever had the thought that you would like to teach your teenager to program? Your reason may simply be to try to make them aware that there is more to a computer than a tool for hanging out at myspace.com, visiting YouTube, or playing computer games written by others.
No way!
When you mentioned that possibility to your teenager as casually as you could, did she roll his eyes and give you a look that means "No way!"
Whatever your reason for thinking that it might be beneficial for your teenager to learn a little about computer programming, there may actually be a way to interest that teenager in learning to program. That way is a very impressive Java program named Alice, which can make learning to write computer programs fun even for teenagers. (It will give them the appearance of being gamers, which is probably more socially acceptable than the appearance of being nerds.)
Disclaimer: Professor Baldwin has no vested interest in Carnegie Mellon University or the Stage3 Research Group. He is an independent author whose only interest in Alice is that of professional development.
A Java program from Carnegie Mellon University
Alice is a computer program written in Java by the Stage3 Research Group at Carnegie Mellon University that makes it easy to write object-based, event driven, 3D animation and game programs with a cast that can be selected from hundreds of available objects. A small sampling of the available objects from the Alice class gallery is shown in Figure 1.
Figure 1. A sampling of the objects available in Alice.
In this article, I will give you some background on the Alice program, and describe some of its features.
General
Alice is not a toy
Alice is not a toy designed solely to create pretty pictures. Rather, Alice is a full-featured programming language designed for use in teaching programming to beginners on the basis of programming principles that are well recognized within the computer science community. For example, Alice supports almost all of the fundamental programming concepts that we have taught for many years in the programming fundamentals course at the community college where I teach.
A serious 3D graphics programming environment
Here is a quotation from the projects page of the Stage3 Research Group:
Alice is a 3d graphics programming environment intended to be a gentle first introduction to students ranging from 6th grade to college, typically students who would not take (or pass!) a programming course.
Elimination of frustration
The Alice project was motivated by the fact that for most first-time students, the experience of learning to program has been filled with frustration. Hours of trying to understand syntax errors in pursuit of a working Fibonacci sequence generation program have lead many students to conclude that Computer Science is uninteresting before they have completed a single course.
The goal of Alice
The goal of the Alice project is to change the first experience students have with computer programming. We believe that Alice will change the experience of learning to program in two main ways: removing unnecessary frustration and providing an environment in which beginning students, of both genders, can create programs they find compelling.
Drag-and-drop instead of type
Continuing with quotations from the Stage3 Research Group:
When students create programs in Alice, they do not type. Instead, they drag and drop words representing commands that objects in the 3D scene understand.
For example, a student may instruct a bunny in the 3D scene to "move forward" or "look at the camera."
Alice is full featured
In addition to straight-forward commands, students can also drag traditional programming constructs, such as "if," "loop N
Author: Richard G. Baldwin
Read article at Internet.com site