440 likes | 562 Views
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 Change an object’s properties from within a program
E N D
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 doInOrderand doTogether controls • Change an object’s properties from within a program • Use Alice’s quad view to position objects near one another Alice in Action with Java
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 Alice in Action with Java
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 Alice in Action with Java
The Alice Tutorials (continued) Alice in Action with Java
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 Alice in Action with Java
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 Alice in Action with Java
User Stories (continued) Alice in Action with Java
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 Alice in Action with Java
Storyboard-Sketches (continued) Alice in Action with Java
Transition Diagrams • Link the multiple storyboard-sketches • In a movie, transition diagram is a linear sequence Alice in Action with Java
Transition Diagrams (continued) Alice in Action with Java
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 Alice in Action with Java
Programming Implementation in Alice (continued) Alice in Action with Java
Program Style • Change program display styles in Preferences • How to access Preferences dialog box • Click the Edit menu • Click the Preferenceschoice • Selecting a display style in Preferencesdialog • Click next to “display my program” in General tab • Select a style • Style recommended for course: Java Style in Color Alice in Action with Java
Program Style (continued) Alice in Action with Java
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 Alice in Action with Java
Adding Objects to Alice (continued) Alice in Action with Java
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 aliceLiddellin object tree • Select + sign next to neck subpart • Select head (bounding box is drawn, details change) • Drag doInOrder control to top of editing window Alice in Action with Java
Accessing Object Subparts (continued) Alice in Action with Java
Accessing Object Subparts (continued) Alice in Action with Java
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 Alice in Action with Java
Sending Messages (continued) Alice in Action with Java
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 Alice in Action with Java
Testing and Debugging (continued) Alice in Action with Java
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 Alice in Action with Java
Coding the Other Actions (continued) Alice in Action with Java
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 Alice in Action with Java
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 aliceLiddelland whiteRabbit • Message value: Welcome to our world Alice in Action with Java
The Final Action (continued) Alice in Action with Java
Final Testing • First set of actions are performed separately • Final actions are performed simultaneously Alice in Action with Java
Final Testing (continued) Alice in Action with Java
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 Alice in Action with Java
Alice’s Details Area • Reflects attributes and behaviors of selected object • Three panes: properties, methods, and functions Alice in Action with Java
The properties Pane • Includes attributes such as color, opacity, visibility • Change values to alter object appearance/behavior • Example: make the White Rabbit disappear • Click opacityin the properties pane • Drag opacityto 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 Alice in Action with Java
The properties Pane (continued) Alice in Action with Java
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 Alice in Action with Java
The methods Pane Alice in Action with Java
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 • worldobject responds to different set of functions Alice in Action with Java
The functions Pane (continued) Alice in Action with Java
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 viewandquad view • quad view • World window • View from the top • View from the right • View from the front Alice in Action with Java
Alice Tip: Positioning Objects Using Quad View (continued) Alice in Action with Java
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 Alice in Action with Java
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 Alice in Action with Java