Alice in Action with Java

Slides:



Advertisements
Similar presentations
Class-level Methods Alice. World / Class Method World method A general method that may refer to multiple objects; not closely associated with any particular.
Advertisements

Class-level Methods Chapter 6. Class-level Method Is specific to a class of objects We can give a class new abilities/methods Only involves this one class.
Review of Chapter 4 Sections 1 and 2 World-level methods involve two or more objects break a large problem into smaller, logical units follow a design.
Lets Play Catch! Keeping Score in Alice By Francine Wolfe Duke University Professor Susan Rodger May 2010.
Programming with Alice Computing Institute for K-12 Teachers Summer 2011 Workshop.
Alice in Action with Java
The Web Warrior Guide to Web Design Technologies
Programming with Alice Computing Institute for K-12 Teachers Summer 2011 Workshop.
Java Programming, 3e Concepts and Techniques Chapter 5 Arrays, Loops, and Layout Managers Using External Classes.
Exploring Office Grauer and Barber 1 Creating More Powerful Applications: Introduction to VBA(Wk9)
Alice Variables Pepper. Set to Java look Edit / preferences restart.
Alice in Action with Java
© The McGraw-Hill Companies, 2006 Chapter 5 Arrays.
Alice in Action with Java
Chapter 9 Macros, Navigation Forms, PivotTables, and PivotCharts
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
Microsoft Visual Basic 2005 CHAPTER 8 Using Procedures and Exception Handling.
Variables and Functions Chapter Variables Named storage location in computer’s memory Programs may need to store data when running o Stored in.
Working with Numbers in Alice - Converting to integers and to strings - Rounding numbers. - Truncating Numbers Samantha Huerta under the direction of Professor.
 2003 Prentice Hall, Inc. All rights reserved. CHAPTER 3 JavaScript 1.
Microsoft Visual Basic 2012 Using Procedures and Exception Handling CHAPTER SEVEN.
Alice in Action with Java Chapter 7 From Alice to Java.
Automating Database Processing Chapter 6. Chapter Introduction Design and implement user-friendly menu – Called navigation form Macros – Automate repetitive.
Nonvisual Arrays and Recursion by Chris Brown under Prof. Susan Rodger Duke University June 2012.
Alice 2.0 Introductory Concepts and Techniques Project 1 Exploring Alice and Object-Oriented Programming.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 5 Decision Making.
 2003 Prentice Hall, Inc. All rights reserved. CHAPTER 3 JavaScript 1.
Teaching a character to walk in more than one world: Parameters and Inheritance. By Lana Dyck under the direction of Professor Susan Rodger Duke University.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Exam scores by range 3-1.
Dynamic Web Pages & JavaScript. Dynamic Web Pages Dynamic = Change Dynamic Web Pages are web pages that change. More than just moving graphics around.
Automating Database Processing
Variables & Random Number Generation.  A penguin is playing arctic basketball. The penguin has a basketball and will push the basketball toward.
Creating Buttons – Lesson 71 Creating Buttons Lesson 7.
Microsoft Office Outlook 2013 Microsoft Office Outlook 2013 Courseware # 3252 Lesson 6: Organizing Information.
Java Script User Defined Functions. Java Script  You can define your own JavaScript functions. Such functions are called user- defined, as opposed to.
Flow Control: boolean expressions, “if” selection statements (Alice In Action, Ch 4) Slides Credit: Joel Adams, Alice in Action CS 120 Lecture September.
Skater World: Part Two By Deborah Nelson Duke University Under the direction of Professor Susan Rodger June 1,
Creating and Calling Procedures Alice 3 Beta. A few choices to be made Right window, upper left hand corner start by clicking on Class “MyScene” button.
Alice in Action with Java Chapter 9 Methods. Alice in Action with Java2 Non- void vs. void Methods Alice messages –Methods: messages sent where a statement.
1 A Balanced Introduction to Computer Science David Reed, Creighton University ©2005 Pearson Prentice Hall ISBN X Chapter 4 JavaScript and.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Alice: A Visual Introduction to Programming Third Edition.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2: Methods and Data Programming with Alice and Java First Edition.
Variables and Functions Chapter Variables Named storage location in computer’s memory Programs may need to store data when running Types of data.
Alice 3.0 A Guided Tour Mike R-D YRDSB. Agenda General Walkthrough of Alice 3.0 Loops, Variables, Threads Methods / Properties Arrays Misc.
Alice in Action with Java Chapter 5 Lists and Arrays.
Variables (Alice In Action, Ch 3) Slides Credit: Joel Adams, Alice in Action CS120 Lecture 04 7 September 2012.
Methods (part 2) Alice In Action, Ch 2 Slides Credit: Joel Adams, Alice in Action CS 120 Lecture 03 4 September 2012.
Video in Macromedia Flash (Optional) – Lesson 121 Video in Macromedia Flash (Optional) Lesson 12.
Alice in Action with Java Chapter 4 Flow Control.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Alice: A Visual Introduction to Programming Third Edition.
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved Address Book Application Introducing Database Programming.
Methods (part 1) Alice In Action, Ch 2 Slides Credit: Joel Adams, Alice in Action CS120 Lecture August 2012.
Alice in Action with Java Chapter 4 Flow Control.
Integrating Components and Dynamic Text Boxes with the Animated Map– Lesson 101 Integrating Components and Dynamic Text Boxes with the Animated Map Lesson.
Alice in Action with Java Chapter 1 Getting Started with Alice.
Functions (Alice In Action, Ch 3) Slides Credit: Joel Adams, Alice in Action CS 120 Lecture September 2012.
Alice in Action with Java Chapter 2 Methods. Alice in Action with Java2 Objectives Build world-level methods to help organize a story into scenes and.
Programming Logic and Design Seventh Edition
Chapter 3: Variables, Functions, Math, and Strings
Chapter 3: Variables, Functions, Math, and Strings
The Alice Interface.
Using Procedures and Exception Handling
Alice in Action with Java
Learning Java with Alice 3.0 Game Design Kathy Bierscheid
Class-level Methods Alice.
Alice in Action with Java
WEB PROGRAMMING JavaScript.
Alice in Action with Java
Parameters and World-level methods
Using Functions
Presentation transcript:

Alice in Action with Java Chapter 3 Variables and Functions

Objectives Use variables to store values for use later in a method Use a variable to store the value of an arithmetic expression Use a variable to store the value produced by a function Use parameters to write methods that are more broadly useful Alice in Action with Java

Objectives (continued) Define and access property variables Use the vehicle property to synchronize the movements of two objects Create functions — messages that return a value to their sender Alice in Action with Java

Variables and Functions Variable: named container for storing/retrieving data Three types of variables Method (local): defined for use within a method Parameter: variable passed to a method Object (property): used to store an object property Tools for creating method variables and parameters Buttons in the upper-right corner of the method box Tool for creating object variables Button under the property pane of the details area Alice in Action with Java

Variables and Functions (continued) Alice in Action with Java

Method Variables Defined using create new variable button Information needed to define a variable Name: refers to a location in memory Type: refers to kind of data stored; e.g., a number Initial value: starting value of specified type; e.g., 1 Method variables are local (valid only in the method) Common uses of method variables Computing and storing values for later retrieval Storing values entered by a user Alice in Action with Java

Example 1: Storing a Computed Value User story objects: nativeGirl and horse Objective: move nativeGirl closer to horse Strategy for moving the girl the right distance Define variable storing distance from the girl to horse Ask the girl how far she is from the horse Store the girl’s reply in the variable Use variable’s current value in a move()message Preparing to program with user-defined variables Position nativeGirl and horse in a new world Review types: Number, Boolean, Object, Other Alice in Action with Java

Example 1: Storing a Computed Value (continued) Alice in Action with Java

Example 1: Storing a Computed Value (continued) Creating the first local variable Click the create new variable button Define Number type named distanceToHorse Drag distanceToHorse to the editing area Set the variable value using a placeholder value of 1 Click on functions pane for nativeGirl object Drag distanceInFrontOf()onto placeholder Specify the entire horse as the object argument Alice in Action with Java

Example 1: Storing a Computed Value (continued) Alice in Action with Java

Example 1: Storing a Computed Value (continued) Alice in Action with Java

Example 1: Storing a Computed Value (continued) Using distanceToHorse in the move() method Drag the move()message into the editing area Select Forward->expressions->distanceToHorse A test of method shows the girl too close to horse Adjusting the distance that the girl moves Click the list arrow next to distanceToHorse Select math->distanceToHorse-->.5 Use functions and variables over trial-and-error Behavior will adapt to repositioning of objects Alice in Action with Java

Example 1: Storing a Computed Value (continued) Alice in Action with Java

Example 1: Storing a Computed Value (continued) Alice in Action with Java

Example 1: Storing a Computed Value (continued) Alice in Action with Java

Example 2: Storing a User-Entered Value User story built around the Pythagorean Theorem skaterGirl requests the lengths of two sides User passes edge1 and edge2 values to skaterGirl skaterGirl computes hypotenuse and displays value Overview of implementation Create skaterGirl method computeHypotenuse() Declare three Number variables for triangle sides Add two say()statements for interactive dialog Add set() method for edge1 Incorporate NumberDialog into set()parameter list Alice in Action with Java

Example 2: Storing a User-Entered Value (continued) Alice in Action with Java

Example 2: Storing a User-Entered Value (continued) Alice in Action with Java

Example 2: Storing a User-Entered Value (continued) Overview of implementation (continued) Add set()method for edge2 Incorporate NumberDialog into set()parameter list Add set()method for hypotenuse Drag and drop Math.sqrt()over placeholder value Pass a mathematical expression to Math.sqrt() Define String variable named hypotString Convert hypotenuse to string and store in hypotString Add say()method to display results Display concatenates dialog and hypotString value Alice in Action with Java

Example 2: Storing a User-Entered Value (continued) Alice in Action with Java

Example 2: Storing a User-Entered Value (continued) Alice in Action with Java

Parameters Argument: value passed to an object via a message Parameter: variable that stores an argument Example using the say() message The parameter is a single variable of String type One possible argument is “Oh, hello there!” You may pass multiple arguments to messages Example: roll() message requires two arguments Alice in Action with Java

Example 1: Old MacDonald Had a Farm Objective: display song lyrics for four animals Use of parameters helps avoid repetitious coding Two parameters needed: animal and noise Overview of implementation Create new world with scarecrow before fence Create singVerse()method for scarecrow Add two parameters, animal and noise Add String types, firstLine and doubleNoise Incorporate parameters and variables in say()methods Call singVerse()messages in singOldMacDonald() Alice in Action with Java

Example 1: Old MacDonald Had a Farm (continued) Alice in Action with Java

Example 1: Old MacDonald Had a Farm (continued) Alice in Action with Java

Example 1: Old MacDonald Had a Farm (continued) Alice in Action with Java

Example 2: Jumping Fish! User story: fish jumps, traces an arc, returns to water Fish object used is an instance of Pinkminnow Basic elements in the design of jump()method One parameter: distance Local var: height, halfDist, startStopDist, angle Approximate height of jump as 1/3 of the distance moved Assume starting/stopping point is 1/2 distance of jump Set the pitch angle to .1 The jump()method is implemented in Figure 3-35 Program should be tested with multiple distance values Alice in Action with Java

Example 2: Jumping Fish! (continued) Alice in Action with Java

Example 2: Jumping Fish! (continued) Alice in Action with Java

Example 2: Jumping Fish! (continued) Alice in Action with Java

Property Variables Also called instance variables or object variables Property variables are defined within an object Use the properties pane of the object’s details area Values in an object variable are not shared How to create and use a property variable Open a new world and add a wizard object Click on wizard properties Click create new variable Define String type (in Other list) called myName Initialize myName to Jim Alice in Action with Java

Property Variables (continued) Alice in Action with Java

Property Variables (continued) How to create and use a property variable (continued) Duplicate the wizard using copy button Close the Add Objects window Click on the second wizard in the object tree Click the properties tab in the details area Change the second wizard’s name from Jim to Tim Testing the identity of the wizards Use say()messages to display each wizard’s name Argument used: “My name is “ + wizard.myName Check object for predefined properties; e.g., opacity Alice in Action with Java

Property Variables (continued) Alice in Action with Java

Property Variables (continued) Alice in Action with Java

Alice Tip: Using the Vehicle Property The thing on which an object “rides” The default vehicle for an object is the world Vehicle property is used to synchronize movements Using vehicle property in program with girl and horse Scene 4 initially shows the nativeGirl on a horse Add set()method for nativeGirl’s vehicle property Set the value of the vehicle to the entire horse Include a move()method below the set()method Send playScene4()to my_first_method() and test Alice in Action with Java

Alice Tip: Using the Vehicle Property (continued) Alice in Action with Java

Alice Tip: Using the Vehicle Property (continued) Alice in Action with Java

Functions Messages used to retrieve information May be defined by the user Alice in Action with Java

Example: Retrieving an Attribute from an Object User story involves program with twin wizards Objective: enhance program by using titles with names Jim uses The Enchanter, and Tim uses The Magus Creating the title property Define property variable myTitle with type String Assign title values to each wizard’s myTitle variable Simplest way to access name and title Pass myTitle concatenated with myName to say() Problem: extra time needed to build the full name Alternative: use a function to produce the full name Alice in Action with Java

Example: Retrieving an Attribute from an Object (continued) Alice in Action with Java

Example: Retrieving an Attribute from an Object (continued) Defining a function to produce a full name Select wizard object and then click functions pane Click the create new function button Declare function called getFullName as String type Create variable called fullName Set value of fullName to concatenated name and tile Include fullName in the return statement Defining a simpler function for the second wizard Return myTitle concatenated with myName Send both functions to my_first_method Alice in Action with Java

Example: Retrieving an Attribute from an Object (continued) Alice in Action with Java

Example: Retrieving an Attribute from an Object (continued) Alice in Action with Java

Example: Retrieving an Attribute from an Object (continued) Alice in Action with Java

Functions with Parameters Functions can use parameters to store arguments Adapting skaterGirl program to use functions Create Number type called calculateHypotenuse() Add parameters Number, leg1, and leg2 Create local variable named hypot Set value of hypot to mathematical expression Incorporate new function into computeHypotenuse() Comparing functions to methods Functions return a value and appear in parameter list Methods do not return a value and appear as statements Alice in Action with Java

Functions with Parameters (continued) Alice in Action with Java

Functions with Parameters (continued) Alice in Action with Java

Summary Variable: named container for storing and retrieving values Types of variables: method variables, parameters, object variables Data types: Number, Boolean, Object, String Parameter: container for an argument Argument: data passed to a method or function Alice in Action with Java

Summary (continued) Object vehicle: thing on which an object “rides” A method does not return a value to its sender A method is sent from a place where a statement can appear A function does return a value to its sender A function is sent from a place where a value can appear Alice in Action with Java