Created: June “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
Created: June FREE: Download 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
Created: June
5
6 This will be your ground or world
Created: June Create objects Code Editor Object Tree Details Panel Event Editor
Created: June Library of Models are built in 3D All objects have built in methods and behaviors; but new methods can be added
Created: June DRAG & DROP Click on picture then add instance…
Created: June
Created: June
Created: June Students can spend too much time designing the “perfect” world….. Remember the purpose is…. –Programming –Problem solving
Created: June The yellow box that surrounds the object is called the “bounding box” Where the lines intersect is the objects center point Every object has it’s own frame of reference –Forward, backward, up, down, left, right
Created: June UP RIGHT FORWARD CENTER POINT
Created: June
Created: June
Created: June Objects do have subparts—check frame of reference By selecting affect subparts—allows movement of only that part
Created: June Larger wing?
Created: June View relative positions of objects
Created: June Use Scroll to center objects Use Zoom to get a bigger point of view
Created: June 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
Created: June Option 1 Option 2
Created: June 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%
Created: June Click on the DONE button to return to the programming view.
Created: June Solution to the scenario is now composed in the method and event editors.
Created: June 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.
Created: June 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
Created: June 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
Created: June 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
Created: June Your program begins: “my first method” should look like this: Click on the “more” options to see the “other” parameters that can be changed.
Created: June 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
Created: June 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
Created: June Create a buz method Select the bee from the object tree and click on the create method button in the details panel.
Created: June 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?
Created: June How far to buz and how long to buz Click on the create new parameter button in the code editor
Created: June Name the parameter and choose from the list the data type distance NUMBER time NUMBER The buz method now requires 2 parameters
Created: June 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)
Created: June 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
Created: June
Created: June
Created: June 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
Created: June 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.
Created: June 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.
Created: June 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
Created: June 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?
Created: June Choose any object from the object tree –Choose the properties tab Drag and drop the OPACITY property into the program and change to 100%
Created: June Replace the object (Bee) with the parameter (flowerToGrow).
Created: June
Created: June The bee can buz and the flowers can grow (The first part of the storyboard is complete) at the same timeNow have the bee turn to face the camera and have the bee buz and the flowers to grow at the same time Do together
Created: June Drag the grow method into the Do together block for each flower created.
Created: June Test the program by pressing the play button Is anything wrong?
Created: June 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?
Created: June Drag a Loop into the Do together block How many times do you want to Loop?
Created: June Drag and drop and buz method into the loop Select 0.25 meters for distance to buz and 0.5 seconds for time Test
Created: June The bee should turn to face the closet flower and devour it. Which flower is closest? Create a function
Created: June 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
Created: June Click the create new function button Give a name Choose the data type What type?
Created: June Decision making time When is flower vs flower2 closest? Drag an If/Else into the function Initial condition doesn’t matter
Created: June Select world in object tree Replace true in If/Else with a<b function Initial values don’t matter (simply placeholder)
Created: June Click on flower in the object tree Replace the first value in the a<b with the function flower distance to Select the bee as the parameter
Created: June Replace the second value of a<b with the distance from flower2 to the bee You choose where to go from here
Created: June In the else, repeat for flower 2 The last return should be the last flower
Created: June Go to my first method Select the bee and drag a turn to face Pick expressions and then use the function: closestFlower
Created: June
Created: June Create a method called buzForward Parameter for total distance (many options; different ways to complete this task)
Created: June 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)
Created: June Make the closestFlower disappear Could add motion or sound as the flower is consumed.
Created: June
Created: June Expand the program –Add sounds –Add scenery –Add events Interactive programming can be created by adding events that the program will respond to
Created: June Create a world with 3 penguins Line the penguins up side by side Add other objects: a lake, trees, other animals
Created: June 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
Created: June 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
Created: June 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.
Created: June 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 there…so 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
Created: June Step 2: TAKING CREDIT Each penguin will have an expression for why the cake appeared (a String is created) the method is: say
Created: June 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.
Created: June 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. PENGUIN #1 DANCE ROUTINE
Created: June 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
Created: June Introduce a concept with Alice –Methods –Parameters Use other environments to reinforce the concept –Jeroo –Python –Scratch –Java
Created: June Module 1—Scratch Module 2—Alice 2.2—Alice 3.0 Module 3—Jeroo Module 4—Robotics Module 5—Python Module 6—Hardware,Software,Networks Module 7—Java Module 8—Flash
Created: June Stacey Armstrong— Cathy Austin—