Looking at: - PowerPoint PPT Presentation

1 / 81
About This Presentation
Title:

Looking at:

Description:

Students have a visual of what 'their' program is doing. Syntax frustration is eliminated ... mysteriously appears on a. table. The penguins each ... – PowerPoint PPT presentation

Number of Views:117
Avg rating:3.0/5.0
Slides: 82
Provided by: cyf93
Category:

less

Transcript and Presenter's Notes

Title: Looking at:


1
Looking at
2
WHY USE
  • Myth of programming is too hard out of the
    equation
  • Students have a visual of what their program is
    doing
  • Syntax frustration is eliminated
  • Allows for more complex algorithm development
    earlier

3
GETTING STARTED
  • FREE Download www.Alice.org
  • Installation Options
  • load to the computers hard drive and have
    students save their worlds on a flash drive
  • Save Alice and worlds on a flash drive

4
DownLoad now
5
CREATE A WORLD
6
Template Selection
This will be your ground or world
7

MAIN SCREEN
Event Editor
Details Panel
8
MODELS
  • Library of Models are built in 3D
  • All objects have built in methods and behaviors
    but new methods can be added

9
ADD OBJECTS
10
OBJECT DETAILS
11
THE SCENE EDITOR
BEWARE!
12
P.E.--FRIEND OR FOE
  • Students can spend too much time designing the
    perfect world..
  • Remember the purpose is.
  • Programming
  • Problem solving

13
FRAME OF REFERENCE
  • The yellow box that surrounds the object is
    called the bounding box
  • Where the lines intersect is the objects center
    point
  • Every object has its own frame of reference
  • Forward, backward, up, down, left, right

14
FRAME OF REFERENCE
15
CAMERA CONTROLS
16
MOUSE CONTROL TOOLS KIT
17
SUBPARTS
  • Objects do have subpartscheck frame of reference
  • By selecting affect subpartsallows movement of
    only that part

18
SUBPARTS--TRY IT!
  • Larger wing?

19
QUAD VIEW
  • View relative positions of objects

20
FINDING THE OBJECT?
  • Use Scroll to center objects
  • Use Zoom to get a bigger point of view

21
INITIAL SETUP
  • Add bee
  • Web gallery?Animals?Bugs
  • Add flowers
  • Local gallery?Nature?Flower class
  • Move flowers below the ground
  • How do you simulate
  • growing?
  • Move down underground
  • and then disappear

22
MOVING FLOWERS
Option 1
Option 2
23
GROWING FLOWERS
  • The flowers need to appear as if they are growing
  • flowers move up
  • get bigger
  • become visible
  • Flowers need to be invisible first
  • click on each flower
  • click the properties tab
  • Opacity change from 100 to 0

24
RETURN TO PROGRAMMING VIEW
  • Click on the DONE button to return to the
    programming view.

25
A PROGRAM IS BORN
  • Solution to the scenario is now composed in the
    method and event editors.

26
THE SCENARIO REVISITED
  • A bee is above a green field
  • Daisies begin growing
  • The bee flies to the nearest daisy and devours it
    (yes, we have a mutant bee)
  • Have the bee turn to face the camera, the flowers
    begin to grow and the bee buzzes from flower to
    flower.

27
METHODS
  • Select the world object from the object tree
  • All worlds start with a single method referred to
    my first method
  • This would be the main in a Java program

28
ADDING METHODS
  • Methods/commands are added by dragging and
    dropping from the detail panel to the code editor
  • Select the bee from the object tree
  • Drag the turn to face method into the code editor

29
ADDING PARAMETERS
  • When adding a method to the code editor if a
    parameter is required a menu pops up to select
    the arguments.
  • For this scenario chose the
  • camera

30
MORE PARAMETERS
  • Your program begins my first method should
    look like this
  • Click on the more options to see the other
    parameters that can be changed.

31
TESTING THE PROGRAM
  • Click the play button to test your program/view
    the output
  • What will execute? my first method because it
    is the only event at this point of the program

32
BEHAVIORS
  • The bee will buzz around while the flowers grow.
  • Methods are either world level or class level
  • World level methods can be used by any object
  • Class level methods are used by only ONE object

33
CREATE A METHOD
  • Create a buz method
  • Select the bee from the object tree and click on
    the create method button in the details panel.

34
BUZ METHOD
  • A naming window pops up for the new method
  • Illegal names will appear in RED
  • Notice a new tab pops up in the code editor next
    to your my first method
  • Should your method have parameters?

35
ADDING PARAMETERS
  • How far to buz and how long to buz
  • Click on the create new parameter button in the
    code editor

36
ADDING PARAMETERS
  • Name the parameter and choose from the list the
    data type
  • distance NUMBER
  • time NUMBER
  • The buz method now requires 2 parameters

37
ADDING CODE to BUZ
  • To buz the bee will move up and then move down
  • Drag the bee ROLL command into the hop method and
    fill in the parameters (up)
  • Drag another move command (down)

38
MORE CODE TO BUZ
  • Change the duration of the move to half of the
    time parameter
  • Click on the triangle to open the drop down menu
  • Select math and divide time by 2

39
BUZ METHOD EXAMPLE
40
ADD A FLAPWINGS METHOD
41
MY FIRST METHOD AGAIN
  • The bee should buz while the flowers grow
  • Initially the flowers are below the ground and
    invisible
  • The flowers will grow by
  • Appearing above ground
  • Resizing
  • Making them visible

42
A NEW METHOD GROW
  • Three different ways to create grow
  • You could repeat the actions to grow for each
    flower and put it in a method
  • Could make a class level method and then save as
    a new type of flower
  • Could make a world level method and send each
    flower as a parameter.

43
METHOD GROW
  • Create a new world level method named grow
  • Add a parameter type object
  • Make sure you are on the world tab and that you
    choose the correct TYPE of parameter.

44
COMMAND STRUCTURES
  • Move up, resize, make visible must happen at the
    same time.
  • The default in programming is top to bottom in
    order
  • Do together is a primitive that executes commands
    together
  • Drag and drop this structure into the grow method

45
GROWING FLOWERS
  • A Do together Block will execute together
  • Drag and drop the parameter (flowerToGrow) into
    the Do together block and select the methods to
    move up and resize
  • Change the duration?

46
BECOMING VISIBLE
  • Choose any object from the object tree
  • Choose the properties tab
  • Drag and drop the OPACITY property into the
    program and change to 100

47
Visibility
  • Replace the object (Bee) with the parameter
    (flowerToGrow).

48
COMPLETED GROW METHOD
49
REVISITING MY FIRST METHOD
  • The bee can buz and the flowers can grow (The
    first part of the storyboard is complete)
  • Now have the bee turn to face the camera and have
    the bee buz and the flowers to grow at the same
    time
  • Do together

50
BUZZING GROWING
  • Drag the grow method into the Do together block
    for each flower created.

51
TEST
  • Test the program by pressing the play button
  • Is anything wrong?

52
RESIZING, BUZZING AND LOOPING
  • Go to the grow method and alter the amount to
    move up that makes the flower appear below the
    bee.
  • Flowers take 5 seconds to grow
  • Have the bee move up and down .25 meters at .05
    seconds
  • How many times will the bee buzz?

53
LOOPS
  • Drag a Loop into the Do together block
  • How many times do you want to Loop?

54
BUZZING
  • Drag and drop and buz method into the loop
  • Select 0.25 meters for distance to buz and 0.5
    seconds for time
  • Test

55
CHOOSING THE CLOSEST FLOWER
  • The bee should turn to face the closet flower and
    devour it.
  • Which flower is closest?
  • Create a function

56
FUNCTIONS
  • Functions return an answer (we are asking a
    question that will return an answer)
  • Create a function to return the flower that is
    closest to the bee.
  • Select world in the object tree and the function
    tab

57
CREATING FUNCTIONS
  • Click the create new function button
  • Give a name
  • Choose the data type
  • What type?

58
WHICH IS CLOSEST?
  • Decision making time
  • When is flower vs flower2 closest?
  • Drag an If/Else into the function
  • Initial condition doesnt matter

59
IF/ELSE CONDITION
  • Select world in object tree
  • Replace true in If/Else with altb function
  • Initial values dont matter (simply placeholder)

60
CHECKING FLOWERS
  • Click on flower in the object tree
  • Replace the first value in the altb with the
    function flower distance to
  • Select the bee as the parameter

61
CHECKING FLOWER
  • Replace the second value of altb with the distance
    from flower2 to the bee
  • You choose where to go from here

62
CHECKING OTHER FLOWERS
  • In the else, repeat for flower 2
  • The last return should be the last flower

63
CALLING THE CLOSEST FLOWER
  • Go to my first method
  • Select the bee and drag a turn to face
  • Pick expressions and then use the function
    closestFlower

64
CHANGING MY FIRST METHOD
65
BUZFORWARD
  • Create a method called buzForward
  • Parameter for total distance (many options
    different ways to complete this task)

66
COMPLETE THE MOVE
  • Go to my first method and call the bee move
    method
  • Pick a dummy value for totalDistance
  • Replace value with distance from bee to
    closestFlower minus some offset (do not collide
    with the flower)

67
EATING THE FLOWERS
  • Make the closestFlower disappear
  • Could add motion or sound as the flower is
    consumed.

68
A COMPLETED FIRST METHOD

69
ADDING TO THE PROGRAM
  • Expand the program
  • Add sounds
  • Add scenery
  • Add events
  • Interactive programming can be created by adding
    events that the program will respond to

70
More To Do....
  • Create a world with 3 penguins
  • Line the penguins up side by side
  • Add other objects a lake, trees, other animals

71
A Basic Program
  • Penguin 1 will flap his wings
  • Now have all 3 penguins flap their wings. You
    have just completed a Do Together
  • Add on
  • Have all 3 penguins move
  • forward 2 times

72
Problem/Scenario
  • Three (3) penguins have
  • planned a surprise party
  • for each other. A cake
  • mysteriously appears on a
  • table. The penguins each
  • take credit for the cake instead of fighting
    they perform an original dance once they realize
    the party is for all.
  • Abstraction must be broken down into small steps

73
StepWise Refinement
StoryBoard Design
  • Step 1 Cake materializes
  • Step 2 Each penguin wants to take credit for
    the cake and surprise party
  • Step 3 Chaos ensues and disaster is averted.
  • Step 4 Each penguin celebrates with his own
    unique dance.

74
StoryBoard
  • Step 2 CAKE MATERIALIZES
  • This will be a world method. Actually it is a
    property of the cake we want to appear as if the
    cake is not thereso we will need to
  • This will give the appearance of the cake not
    being there then we will need to
  • This will make it magically appear

75
StoryBoard
  • Step 2 TAKING CREDIT
  • Each penguin will have an expression for why the
    cake appeared (a String is created) the method
    is say

76
StoryBoard
  • Step 3 CHAOS ENSUES
  • This will be a world method. As we want all the
    penguins to be able to use this method. We can
    incorporate parameters (1) whichPenguin (2)
    whichColor (3) distance
  • Even though all penguins will do the same thing
    the appearance of doing something different.

77
StoryBoard
  • Step 4 CELEBRATION

This will be a class method. We want each penguin
to have a unique dance. A partyDance method
will be created for each penguin.
78
Event Handling
  • Allows the user to determine what will happen
    during the program.
  • Allowing music to begin at the start of the
    program save music and then import into the
    program.
  • Simple event
  • handler allowing
  • the user to
  • move the camera

79
Again, Why Use?
  • Introduce a concept with Alice
  • Methods
  • Parameters
  • Use other environments to reinforce the concept
  • Jeroo
  • Python
  • Scratch
  • Java

80
OptionsUsing Modules
  • Module 1Scratch
  • Module 2Alice 2.2Alice 3.0
  • Module 3Jeroo
  • Module 4Robotics
  • Module 5Python
  • Module 6Hardware,Software,Networks
  • Module 7Java
  • Module 8Flash

81
Contacts
  • Stacey Armstrong
  • stacey.armstrong_at_apluscompsci.com
  • Cathy Austin
  • Cathy.Austin_at_cfisd.net
Write a Comment
User Comments (0)
About PowerShow.com