Top Banner
Alice in Action with Java Chapter 1 Getting Started with Alice
45

Alice in Action with Java

Feb 04, 2016

Download

Documents

lihua

Alice in Action with Java. Chapter 1 Getting Started with Alice. Objectives. Design a simple Alice program Build a simple Alice program Animate Alice objects by sending them messages Use the Alice doInOrder and doTogether controls. Objectives (continued). - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Alice in Action with Java

Alice in Action with Java

Chapter 1Getting Started with Alice

Page 2: Alice in Action with Java

Alice in Action with Java 2

Objectives

• Design a simple Alice program

• Build a simple Alice program

• Animate Alice objects by sending them messages

• Use the Alice doInOrder and doTogether controls

Page 3: Alice in Action with Java

Alice in Action with Java 3

Objectives (continued)

• Change an object’s properties from within a program

• Use Alice’s quad view to position objects near one another

Page 4: Alice in Action with Java

Alice in Action with Java 4

Getting and Running Alice

• Alice software is freely distributed

• Downloading Alice– Go to the website: http://alice.org – Click the link Get Alice 2.0– Click download link specific to your operating system– Save Alice.zip (or Alice.dmg) to your PC

• Installing and running Alice– Extract Alice from Alice.zip (or Alice.dmg) file– Create desktop shortcut (alias) to Alice.exe– Double-click Alice icon to launch Alice application

Page 5: Alice in Action with Java

Alice in Action with Java 5

The Alice Tutorials

• Four interactive tutorials teach the basics of Alice

• Work through tutorials before continuing in chapter

• Access tutorials from Tutorial tab of startup dialog

• Developing programs involves art and science

• Active learning: implementing designs as you read

Page 6: Alice in Action with Java

Alice in Action with Java 6

The Alice Tutorials (continued)

Page 7: Alice in Action with Java

Alice in Action with Java 7

Program Design

• Programming in Alice is similar to filmmaking

• Filmmaking terms – Treatment: short prose version of a film– Screenplay: written version of film that includes dialog – Scene: a piece of the story usually set in one location– Shot: part of scene told with camera in one position– Viewpoint: perspective of camera for a given shot– Storyboard: drawing that provides blueprint for a shot

Page 8: Alice in Action with Java

Alice in Action with Java 8

User Stories

• Prose versions of programs from user perspective

• Critical components of a user story– A basic description of events taking place in the story– Nouns in the story (which correspond to objects)– Verbs in the story (which correspond to actions)– Chronological flow of actions (algorithm)

• User story is the foundation of good software

• The user story plays a role similar to a screenplay

• Guideline: number actions according to their flow

Page 9: Alice in Action with Java

Alice in Action with Java 9

User Stories (continued)

Page 10: Alice in Action with Java

Alice in Action with Java 10

Storyboard-Sketches

• Storyboard– Detailed drawing of a shot– Arrows show movements of characters or camera

• Collection of storyboards helps actors visualize film

• Storyboard-sketch: storyboard for application screen

• Components of a storyboard-sketch:– Object’s position (location)– Object’s pose (position of limbs, if it has any)– Object’s orientation (direction it is facing) – Camera’s viewpoint

Page 11: Alice in Action with Java

Alice in Action with Java 11

Storyboard-Sketches (continued)

Page 12: Alice in Action with Java

Alice in Action with Java 12

Transition Diagrams

• Link the multiple storyboard-sketches

• In a movie, transition diagram is a linear sequence

Page 13: Alice in Action with Java

Alice in Action with Java 13

Transition Diagrams (continued)

Page 14: Alice in Action with Java

Alice in Action with Java 14

Programming Implementation in Alice

• Templates provide a basic world environment

• Sample program is based on the “grass” Template• Areas in the Alice window

– Menus: includes File, Edit, Tools, and Help – Buttons: includes Play, Undo, and Redo– Object tree: lists all world objects; e.g., ground– Details area: includes properties, methods, functions– World window: displays graphic objects in a program– Editing area: includes editing space and controls– Events area: contains actions responding to events

Page 15: Alice in Action with Java

Alice in Action with Java 15

Programming Implementation in Alice (continued)

Page 16: Alice in Action with Java

Alice in Action with Java 16

Program Style

• Change program display styles in Preferences

• How to access Preferences dialog box– Click the Edit menu– Click the Preferences choice

• Selecting a display style in Preferences dialog– Click next to “display my program” in General tab– Select a style

• Style recommended for course: Java Style in Color

Page 17: Alice in Action with Java

Alice in Action with Java 17

Program Style (continued)

Page 18: Alice in Action with Java

Alice in Action with Java 18

Adding Objects to Alice

• Class: blueprint for an object

• How to populate Alice world with objects– Click Add Objects button in world window– Locate class specifying the object in the Alice Gallery– Right-click class and select “Add instance to world”

• Objects in sample world: aliceLiddell and whiteRabbit

• Naming conventions for objects and classes– Class: capitalize all words; e.g., AliceLiddell – Object: capitalize all but first word; e.g., aliceLiddell

• Objects can be renamed from the object tree

Page 19: Alice in Action with Java

Alice in Action with Java 19

Adding Objects to Alice (continued)

Page 20: Alice in Action with Java

Alice in Action with Java 20

Accessing Object Subparts

• Bounding box: encloses any Alice object • Impact of selecting an object in the object tree

– Bounding box is drawn around object in world window

– Details area adapts to the selected object• First action to program: Alice turns head to user• First set of programming steps

– Select + sign next to aliceLiddell in object tree– Select + sign next to neck subpart – Select head (bounding box is drawn, details change)– Drag doInOrder control to top of editing window

Page 21: Alice in Action with Java

Alice in Action with Java 21

Accessing Object Subparts (continued)

Page 22: Alice in Action with Java

Alice in Action with Java 22

Accessing Object Subparts (continued)

Page 23: Alice in Action with Java

Alice in Action with Java 23

Sending Messages

• Programs rely on sending messages to objects

• Method: behavior-producing message

• Programming Alice’s head to turn– Select Alice Liddell’s head in the object tree– Scan through the methods in the details area– Click on pointAt()– Drag pointAt()to the editing area and drop it– Specify camera as the target

Page 24: Alice in Action with Java

Alice in Action with Java 24

Sending Messages (continued)

Page 25: Alice in Action with Java

Alice in Action with Java 25

Testing and Debugging

• Bug: error interfering with normal program functions

• Debugging: process of removing program bugs

• Click the Play button to test Alice Liddell application– Alice Liddell’s head will turn toward the user

Page 26: Alice in Action with Java

Alice in Action with Java 26

Testing and Debugging (continued)

Page 27: Alice in Action with Java

Alice in Action with Java 27

Coding the Other Actions

• say() message– Displays dialog for an object– Text can be customized by selecting other…

• Task: complete first Alice Liddell application– Add Alice Liddell’s initial greeting– Point the white rabbit to the user– Have Alice Liddell introduce herself– Have the white rabbit introduce himself

• Customize messages by selecting from more…– Example: adjust fontSize of message text to 30

Page 28: Alice in Action with Java

Alice in Action with Java 28

Coding the Other Actions (continued)

Page 29: Alice in Action with Java

Alice in Action with Java 29

Statements

• Statement: a line or control structure in a program

• Computer program is a collection of statements

• Basic format of a line in a program– object.message(value); more...

• Control structures manage other statements– Example: doInOrder contains other statements

Page 30: Alice in Action with Java

Alice in Action with Java 30

The Final Action

• Sequential execution– Actions are performed consecutively – Example: actions executed in doInOrder structures

• Simultaneous execution– Actions are performed in parallel– Example: actions performed in doTogether structure

• Finishing the first program– Add doTogether control structure to application– Send say( )to aliceLiddell and whiteRabbit– Message value: Welcome to our world

Page 31: Alice in Action with Java

Alice in Action with Java 31

The Final Action (continued)

Page 32: Alice in Action with Java

Alice in Action with Java 32

Final Testing

• First set of actions are performed separately

• Final actions are performed simultaneously

Page 33: Alice in Action with Java

Alice in Action with Java 33

Final Testing (continued)

Page 34: Alice in Action with Java

Alice in Action with Java 34

The Software Engineering Process

• A methodical approach to constructing programs

• Two parts: design and implementation and testing

• Elements of software design – Write the user story– Organize nouns and verbs into an algorithm– Create storyboard-sketches and the transition diagram

• Elements of software implementation and testing– For each noun in the story, add an object to Alice world– Match message to verb and send message to object– Test message to determine if it produces desired action

Page 35: Alice in Action with Java

Alice in Action with Java 35

Alice’s Details Area

• Reflects attributes and behaviors of selected object

• Three panes: properties, methods, and functions

Page 36: Alice in Action with Java

Alice in Action with Java 36

The properties Pane

• Includes attributes such as color, opacity, visibility

• Change values to alter object appearance/behavior

• Example: make the White Rabbit disappear– Click opacity in the properties pane– Drag opacity to the editing area – Set opacity to 0 – Change the duration to 2 seconds

• How a program changes when a property is altered– New message is added to editing area– In the example above, a set () message is added

Page 37: Alice in Action with Java

Alice in Action with Java 37

The properties Pane (continued)

Page 38: Alice in Action with Java

Alice in Action with Java 38

The methods Pane

• Provides a list of behavior-generating messages

• Objects respond to set of predefined basic messages– Example: the resize( ) message

• Some classes provide advanced methods– Examples: Frog, Monkey, Penguin

• You can build complex animations using methods

Page 39: Alice in Action with Java

Alice in Action with Java 39

The methods Pane

Page 40: Alice in Action with Java

Alice in Action with Java 40

The functions Pane

• Provides list of information returning messages

• Differentiate functions from methods– Functions return data, messages produce behavior

• Type of information returned by functions– Proximity to another object – Size in terms of height, width, or depth– Spatial relation to another object – Point of view (position and orientation in the world)– Subparts

• world object responds to different set of functions

Page 41: Alice in Action with Java

Alice in Action with Java 41

The functions Pane (continued)

Page 42: Alice in Action with Java

Alice in Action with Java 42

Alice Tip: Positioning Objects Using Quad View

• Actions performed after pressing ADD OBJECTS– Navigate the Alice Gallery– Locate classes– Use classes to add objects to the world

• Two views: single view and quad view• quad view

– World window– View from the top– View from the right– View from the front

Page 43: Alice in Action with Java

Alice in Action with Java 43

Alice Tip: Positioning Objects Using Quad View (continued)

Page 44: Alice in Action with Java

Alice in Action with Java 44

Summary

• Alice: software tool used to create virtual worlds

• User story: prose description of program form the user’s point of view

• Shot: component of a scene with the camera at one viewpoint

• Algorithm: flow of actions that solves a problem

• Storyboard-sketch: drawing of a distinct screen in a computer application

Page 45: Alice in Action with Java

Alice in Action with Java 45

Summary (continued)

• Alice window: menus, buttons, object tree, details area, world window, editing area, and events area

• Class: blueprint for an object

• Method: behavior-producing message

• Function: message that returns information

• Software engineering encompasses software design, and implementation and testing