Created: June 2008 2 “Myth” of programming is too hard out of the equation Students have a visual of what “their” program is doing Syntax frustration.

Slides:



Advertisements
Similar presentations
Mike Scott University of Texas at Austin
Advertisements

Visual Lists By Chris Brown under Prof. Susan Rodger Duke University July 2012.
Space Man Sam: Grammar Mistakes By Aleis Murphy Duke University, Under the direction of Professor Susan Rodger July 2010.
Princess & Dragon – Version 2 By Michael Hoyle under the direction of Professor Susan Rodger Duke University July 2012 Part 2: Using Methods.
Princess & Dragon – Version 2 By Michael Hoyle under the direction of Professor Susan Rodger Duke University July 2012 Part 3: Billboards, Events, Sounds,
Getting Started With Alice By Ruthie Tucker under the direction of Prof. Susan Rodger Duke University, July
Coloring Randomly: Random Selection in Alice By Jenna Hayes under the direction of Professor Susan Rodger Duke University July 2008.
How Tall Are You? Introducing Functions By Jenna Hayes under the direction of Professor Susan Rodger Duke University July 2008 Updates made June 2014 by.
Princess & Dragon Part 2: Teaching a Dragon to Fly—Methods & Properties By Elizabeth Liang under the direction of Professor Susan Rodger Duke University.
Lets Play Catch! Keeping Score in Alice By Francine Wolfe Duke University Professor Susan Rodger May 2010.
1 Alice: Beyond the Basics Steve Cooper Michelle Venable-Foster Barbara Ericson Aug 2009.
Alice: A Free 3D Animation World for Teaching Programming Barbara Ericson Georgia Institute of Technology Oct 2005.
Creating a 3D Interactive Story Prof. Susan Rodger Duke University Feb. 24, 2007.
Calvin and Hobbes Teach Properties and Functions Created by Daniel MacDonald under the direction of Professor Susan Rodger Duke University June 2013.
Methods Tutorial: Part One By Deborah Nelson Duke University Under the direction of Professor Susan Rodger June 9, 2008.
1 Teaching With Alice First Bytes Teachers Workshop July 2008.
Alice Learning to program: Part Two by Ruthie Tucker and Jenna Hayes Under the direction of Professor Susan Rodger Duke University, July 2008.
Princess & Dragon Part 4: Breathing Fire—Adding Effects to Alice By Elizabeth Liang under the direction of Professor Susan Rodger Duke University June.
Working with Numbers in Alice - Converting to integers and to strings - Rounding numbers. - Truncating Numbers Samantha Huerta under the direction of Professor.
by Chris Brown under Prof. Susan Rodger Duke University June 2012
Making a Timer in Alice.
Getting Started With Alice By Ruthie Tucker under the direction of Prof. Susan Rodger Duke University, July
Making a Boat Racing Game in Alice By Jenna Hayes Under the direction of Professor Susan Rodger Duke University, July 2010.
Skater World: Part Two By Deborah Nelson Duke University Under the direction of Professor Susan Rodger June
Shorter of two objects and changing color V2 Functions, events and setting the color in sequence and randomly This is a modification of the Changing Color.
3–D Helium Molecule Tutorial Alice Project Duke University Professor Susan H. Rodger Gaetjens Lezin June 2008.
Introduction to Arrays. definitions and things to consider… This presentation is designed to give a simple demonstration of array and object visualizations.
Nonvisual Arrays and Recursion by Chris Brown under Prof. Susan Rodger Duke University June 2012.
Getting started with Alice Adapted from presentations by Jenna Hayes, Duke University Donna Gavin, UWP Computer Science and Software Engineering.
Alice 2.0 Introductory Concepts and Techniques Project 1 Exploring Alice and Object-Oriented Programming.
Changing Color, Using Text Objects, and Random Selection in Alice By Jenna Hayes Under the direction of Professor Susan Rodger Duke University, July 2008.
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.
Methods Tutorial: Part Two By Deborah Nelson Duke University Professor Susan Rodger June 16, 2008.
CompSci 4 Fall 2010 Classwork 2 – Princess and Dragon World By Elizabeth Liang under the direction of Professor Susan Rodger Duke University.
Princess & Dragon Part 1: Objects in an Alice World By Elizabeth Liang under the direction of Professor Susan Rodger Duke University May 2010.
A Simple Quiz: Ask User Functions. By Lana Dyck under the direction of Professor Susan Rodger Duke University June 2009, added Part 2 July 2011.
An Introduction to Alice (Short Version) – Extras! Yossra Hamid Under the Supervision of Professor Susan Rodger Duke University, June 2014 This is a continuation.
Making a Timer in Alice By Jenna Hayes under the direction of Professor Susan Rodger Duke University July
Skater World: Part Two By Deborah Nelson Duke University Under the direction of Professor Susan Rodger June 1,
Alice Learning to program: Part Two Writing Your Own Methods by Ruthie Tucker and Jenna Hayes Under the direction of Professor Susan Rodger Duke University,
Bunny Eat Broccoli Repetition – Simple loops and Conditional loops Susan Rodger Duke University July 2011.
Balancing the scales: Inequalities By Melissa Dalis Professor Susan Rodger Duke University June 2011.
Tutorial for Arrays and Lists. Description This presentation will cover the basics of using Arrays and Lists in an Alice world It uses a set of chickens.
Creating a 3D Interactive Story Prof. Susan Rodger Duke University July 19, 2007.
Learning to Program: Part 1 Scene Setup and Starting Animation by Ruthie Tucker and Jenna Hayes Under the direction of Professor Susan Rodger Duke University,
Skater World: Part Four By Deborah Nelson Duke University Under the direction of Professor Susan Rodger June 1, 2009.
An Introduction to Alice By Jenna Hayes under the direction of Professor Susan Rodger Duke University, June 2009 Updated June 2014 by Ellen Yuan.
Alice: A Free 3D Animation World for Teaching Programming.
Programming in Alice IT-IDT-9 Design, develop, test and implement programs using visual programming. 9.1 Utilize drag and drop software to develop programs.
Illuminating Computer Science CCIT 4-6Sep
Using Placeholders to Simplify your Methods: Learning Methods, Part 2 By Deborah Nelson Duke University Professor Susan Rodger June 16, 2008.
Headshots in Alice Duke University Professor Susan H. Rodger Gaetjens Lezin July 2008.
Princess & Dragon Part 3: A Knight Comes Riding In—Cameras & Events By Elizabeth Liang under the direction of Professor Susan Rodger Duke University June.
How Tall Are You? Introducing Functions for Alice 3 By Jenna Hayes under the direction of Professor Susan Rodger Duke University July 2008 Updates made.
Getting Started With Alice: The Basics. Step 1: Background Open up Alice, and choose a background for your Alice world. Your world is something you can.
Introducing Scratch Learning resources for the implementation of the scenario
An Introduction to Alice (Short Version)
Teaching Characters to Walk: Learning Methods, Part 1
An introduction to programming Created by Dr. Randy Pausch
Changing Color, Using Text Objects, and Random Selection in Alice
Learning Java with Alice 3.0 Game Design Kathy Bierscheid
Methods Tutorial: Part Two
An Introduction to Alice
Princess & Dragon Part 3: A Knight Comes Riding In—Cameras & Events
Alice: A Free 3D Animation World for Teaching Programming
How Tall Are You? Introducing Functions
Getting Started With Alice
Alice: A Free 3D Animation World for Teaching Programming
Using Placeholders to Simplify your Methods: Learning Methods, Part 2
Presentation transcript:

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—