using alice to introduce programming concepts
DESCRIPTION
Using Alice to Introduce Programming Concepts. Mr. Craig Ham Technology Coordinator Westminster Schools of Augusta Augusta, GA. Computer Science. It’s crucial we begin to push CS at the secondary level - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/1.jpg)
Using Alice to Introduce Programming Concepts
Mr. Craig HamTechnology Coordinator
Westminster Schools of AugustaAugusta, GA
![Page 2: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/2.jpg)
Computer Science
It’s crucial we begin to push CS at the secondary level
US Dept Labor predicts CS jobs will be the fastest growing and highest paying over the next decade
CS Provides 21st Century skills necessary for innovation. Job demand is growing and by 2016 estimates are 1.5 million jobs in CS
![Page 3: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/3.jpg)
What Can Your School Do to Successfully Incorporate CS Education?
Implement CS classes. Rigorous and engaging.
Allow CS to count toward graduation (as math or science)
Make courses accessible for all. Recruit those underrepresented.
Improve teacher preparation and professional development.
![Page 4: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/4.jpg)
How Does Alice Fit In?
Alice is designed to engage students with the designs of programming but without the tedium of syntax and error checking.
Additionally it creates all this in a 3 dimensional space instead of text on the screen.
![Page 5: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/5.jpg)
What is and what can I do with Alice?
Alice is a modern programming environment designed to be a student's first exposure to object-oriented programming. It allows students to learn basic computer science while creating animated movies, simple video games, where students control the behavior of 3D objects and characters in a virtual world.
![Page 6: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/6.jpg)
Updates, Releases, Fixes
New releases each Spring and FallLook for ver 2.2 and the most current date
with is 8/5/2011Versions for both Mac and PCAfter you download (351 MB)Copy the Alice 2.2 Folder-no installRun Alice from the folder
![Page 7: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/7.jpg)
Several Good Books out there
![Page 8: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/8.jpg)
Text by Charles Hebert
![Page 9: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/9.jpg)
What I Hope to Cover
Alice screen layout overviewPositioning, Resizing, Moving ObjectsMotion and OrientationOther things that “pop” into my headYour questions!
Most of the follow slides were created by Wanda Dann, Steve Cooper, and Don Slater at Carnegie Mellon University
![Page 10: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/10.jpg)
Alice Code Editor
Object tree
Control Structures
Object details
Events Editor
World View
Go to Scene Editor
![Page 11: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/11.jpg)
Demo & Practice Go to Scene Editor of this project (click on Add Objects button)
aliceLiddell (People gallery) hare (Animal gallery) axes (Shapes gallery)
Identify the center of each object. Identify the forward direction of each. Identify the up direction of each.
![Page 12: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/12.jpg)
Motion Motion of an object is relative to
the orientation of the object the location of the object
• Location is defined by an objects center point (or pivot point)
The art of Alice animation is manipulating the location and orientation of an object and / or its subparts to create the illusion of motion.
![Page 13: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/13.jpg)
Orientation Orientation is an object’s sense of direction A 3D object has
3 dimensions• height, width, depth
6 directions of motion
![Page 14: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/14.jpg)
Center of an object An object is positioned in the world, with
reference to the center of the object. The center of an object can be:
At the center of mass, or
Where it stands on the ground, or
Where it is held or connected (for example, a hinge joint)
![Page 15: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/15.jpg)
Alice Scene Editor
Object tree
Gallery
Object details
Camera Controls
Mouse Control
World View
Return to Code View
![Page 16: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/16.jpg)
Translational Motion Changes position of an object in the world The direction of translational motion is stated
relative to the self-centric orientation of the object. Six directions
• moveleftrightupdownforward backward
![Page 17: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/17.jpg)
Bounding Box Viewing the intersection of axes in an object’s bounding box is one way to determine where the center of an object is located.
![Page 18: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/18.jpg)
Set-up methodsTo illustrate object motion, we will use the
object’s popup menu of menu methods.
Process for using a set-up method: Right-click on the axes from the object tree or
in the world Select methods from the list Select a method from the list
![Page 19: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/19.jpg)
Selecting a menu method: orient to
Right-click on axes
![Page 20: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/20.jpg)
Demo & Practice Use a menu move instruction with
aliceLiddell hare axes
Note: You can click the Undo button to return an object to its
initial position before trying another move.
![Page 21: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/21.jpg)
Question
Other than move, what other methods in the menu can be used for “translational motion”?
![Page 22: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/22.jpg)
Using Alice to Introduce Programming Concepts
Mr. Craig HamTechnology Coordinator
Westminster Schools of AugustaAugusta, GA
![Page 23: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/23.jpg)
![Page 24: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/24.jpg)
Rotational Motion Rotational motion changes the orientation of an
object in the world An object’s center acts as its pivot point for
rotation of the whole object. Two forms of rotational motion:
• turnforward, backwardleft, right
• rollleft, right
![Page 25: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/25.jpg)
Hands-On Practice Compare turn and roll menu methods with aliceLiddell
and the hare
Note:Be sure to click the Undo button to return to initial position before trying another rotational motion.
How would you describe the center point of each object? Are they the same?
![Page 26: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/26.jpg)
Question
Other than turn and roll, what other methods in the menu create “rotational motion”?
![Page 27: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/27.jpg)
Rotational Motion: Subpart
Rotational motion of a subpart of an object may have a surprising result Turn and roll actions for a subpart are
pivoted around the center of the subpart, generally located where the subpart connects to the rest of the object
(see example, next slide)
![Page 28: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/28.jpg)
Example The hare’s right arm is centered at the shoulder(the pivot
point) of the upper arm to the body
Note: A few Alice 2 models were designed to work differently and, therefore, do not conform to this example.
![Page 29: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/29.jpg)
Center for a subpart One way to view the
center of a subpart is to move an axes object to the subpart and then orient the axes to the subpart.
Example: hare’s rightArm’s center
![Page 30: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/30.jpg)
Movement of a subpart One way to view the
movement of a subpart is to set the vehicle of the axes to the subpart and then orient the axes to the subpart.
Example: Select axes in the object tree Select properties tab in axes
detail’s window Change vehicle property
using the drop down menu
![Page 31: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/31.jpg)
Review
1TranslationalMotion.a2w1RotationalMotion.a2w
Open File Menu: World• Click on Examples tab• Click on workshopWorlds
folder• Click on Day1 folder
![Page 32: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/32.jpg)
Text
Additional information on motion instructions may be found in Tips & Techniques 2 Orientation & Movement Instructions
![Page 33: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/33.jpg)
Practice ProblemOpen file 1HelloWorldStart.a2w
The hare is waiting in the garden when Alice enters from the left. (She is off screen at the beginning of the world.) Have the hare turn to greet Alice after she enters. Both say hello to each other. (use the say method of the objects.)
Then they both turn to greet the viewer, with a wave. For an extra challenge, try to have Alice wave her hand. They should return their arms to the original starting position.
Open File Menu: World• Click on Examples tab• Click on workshopWorlds
folder• Click on Day1 folder
![Page 34: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/34.jpg)
Additional Material The following slides contain additional
information, examples and topics that will not be covered explicitly in this workshop. See workshop leader during breaks for more details
![Page 35: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/35.jpg)
Pivot Point Orientation
Different pivot point connections and orientations may be found in 3D objects because Alice 2 models were designed Over several years by dozens of different
graphic artists For many different virtual world projects,
where a variety of connections for subparts were needed
![Page 36: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/36.jpg)
roll and turnIf subparts are connected with pivot points
differently, the same roll and turn instructions may result in different actions on different objects. This is particularly noticeable in biped objects
where arms and legs are animated.
![Page 37: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/37.jpg)
Demo
![Page 38: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/38.jpg)
Walking The variations in design and construction
of 3D models make it difficult to write a walking method that can be used for all bipedal objects.
Alice 2.2 has a Walking People gallery containing 3D models for creating “people” objects that already know how to walk look inside the People gallery for Walking
People folder
![Page 39: Using Alice to Introduce Programming Concepts](https://reader035.vdocuments.site/reader035/viewer/2022062410/56815eeb550346895dcda037/html5/thumbnails/39.jpg)
Walking People Gallery