Introduction to Alice: Manipulating Objects, Methods, and Dancing

Objectives:
Students will identify and use methods in programming movements for 3D objects in Alice.
Students will create a list of new methods for an Alice object

Concepts:
Class
Object
Methods

Materials:
Computer for each student with Alice installed
Internet access

Description of Alice:

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 uses 3D graphics and a drag-and-drop interface to facilitate a more engaging, less frustrating first programming experience.  (From http://www.alice.org)

Alice is like Scratch for a 3 Dimensional World.  In Scratch we assembled scriptes to control movement and costumes for Sprites.  In Alice we work with characters called Classes and Objects.  The programmer puts together strings of commands to create "Methods."  These methods make the objects move about the world. 

A significant difference between Alice and Scratch lies in the nature of Sprites vs. Objects.  An object in Alice can have multiple parts or sections. 

Example:

Object
Parts of the object
Skateboard: 
Board
Front Axel
Left Front Wheel
Right Front Wheel
Back Axel
Left Back Wheel
Left Right Wheel
Chicken
Body
Left Leg
Left Foot
Right Leg
Right Foot
Neck
Head

Each component of the Class can have scripts that make it move through 3 Dimensional space.


Overview of Alice User Interface:




Lesson 1: Importing a Character and Manipulating Methods

1. Transfer the Alice folder to your computer.  You will need at least 512 MB of ram to run Alice successfully. 

2.  Open Alice.  Select a background.

3.  Import the Dancer
  a.  Select File->Import
  b.  Go to the CD and select "Dancer.a2c"







4.  The Dancer has several pre-made methods. 





5. To make the Dancer dance, drag the methods from the Dancer pane to the "world.my first method" pane.






6.  Click "Play" to see your dancer move.  Experiment with different sequences of methods.





Lesson 2: Creating Your Own Methods

1.  You can design your own methods for Alice objects.  We will start with a simple "March Forward" move.  Click "create new method" on the Dancer's details.




2.  Name the method "marchForward." 




3.  Drag "Dancer move" into the "Dancer.marchForward" method pane.  Choose "1 meter" for distance.




4.  Drag "Dancer.leftLegUp" and "Dancer.leftLegBack" to the Dancer.marchForward pane.

5.  Drag the "Do in order" block up into the Dancer.marchForward pane.




6.  To test your new method, Drag it into the "world.my first method" pane and click "Play."





7.   Sequence the marching step.  Use "Do in order" for the leg movements.  Put them into a "Do together" with the movement to create the look of walking.




8.  To match the move forward duration with the leg methods, change the duration parameter.





Lesson 3: Adding New Objects

1. Alice has an extensive gallery of objects.  Click the green "ADD OBJECTS" button beneath the world.



2. On the bottom of the screen, choose a category of objects. 



3.  Select an object.  Use an animal or human type character.




4.  You can manipulate the placement of an object with the buttons.  Click "DONE" when finished.






Lesson 4: User Driven Events


1.  With your new object.  Create several methods to have your character dance.  Try spinning, moving, rolling and turning. 

2.  Combine these methods in a sequence.

3. For user directed events (like a game), use "create new event"



4.  Select "When Key Typed."



5.  Choose a key letter and assign it a method from your Object.  When the world is played, press the key and the method will run.




Lesson 5: Create Your Own Dance (Sample Assignement after this lesson)

Create a Dance Program that allows the user to control at least 6 specific movements with key commands.  Use music and a lighting to make things interesting.  You may use any animal or human as the dancer.  (The Object Class must have arms, legs, and head parts for dancing.)  You may reuse the human character from Assignment #1.

Requirements:

1. Select an Object and create at least 5 different methods for dance moves.
2. Assign key controls to each method so the user can type key inputs to make the object dance.
3. Add background music to the program. 
4. Design a visually interesting set for the dancer to perform on.

Extras:
1. Create methods allows the user to click on an object (button, speaker, . . .) and start the dancer dancing automatically.
2. Add moving lighting effects, fog, and colors.
Hint: Import a class Spotlight and aim light at dancer.  Create methods to randomly move the Spotlight.

Rubric:


Does Not Meet the Standard
Meets the Standard
Exceeds the Standard
Use of Methods
Less than 5 Methods for Dance moves
Between 5 and 7 Methods for Dance moves. 
More than 7 methods of Dance moves.
Use of If-Else, Loops, Do Together, and Key Commands
Does not use If-Else, Loops, Do Together, or Key Commands.
Uses at least 1 of each type.
Multiple and correct usage of If-Else, Loops, Do Together, and Key Commands.
Functionality of Program
Does not work.  No moves or music.
Program allows user to have key inputs to make the object dance.  Music plays.  Music is properly cited in notes or comments.
Program functions with user input and a switch to start and stop automatic dancing.
Visual Layout
No use of other objects, colors, or lighting.
Some sense of setting and lighting used.
Tasteful use of lighting, spotlights, fog, and colors to set the scene.