Programming with Alice Computing Institute for K-12 Teachers Summer 2011 Workshop.

Slides:



Advertisements
Similar presentations
Space Man Sam: Grammar Mistakes By Aleis Murphy Duke University, Under the direction of Professor Susan Rodger July 2010.
Advertisements

Objects in Alice: Positioning and Moving Them By Jenna Hayes under the direction of Professor Susan Rodger Duke University July
BTEC 149. Windows Desktop Click on the Start Button.
Using the SmartPLS Software
Getting Started With Alice By Ruthie Tucker under the direction of Prof. Susan Rodger Duke University, July
Skater World: Part One By Deborah Nelson Duke University Under the direction of Professor Susan Rodger May 29,
Princess & Dragon Part 2: Teaching a Dragon to Fly—Methods & Properties By Elizabeth Liang under the direction of Professor Susan Rodger Duke University.
Programming with Alice Computing Institute for K-12 Teachers Summer 2011 Workshop.
1 Alice: Beyond the Basics Steve Cooper Michelle Venable-Foster Barbara Ericson May 2007.
Programming with Alice Computing Institute for K-12 Teachers Summer 2011 Workshop.
1 Alice: Beyond the Basics Steve Cooper Michelle Venable-Foster Barbara Ericson Aug 2009.
Lights Camera Action! Part 3: BDE Events By Deborah Nelson under the direction of Professor Susan Rodger Duke University July 2008.
What is Alice? Graphical Programming Environment and Language Learn object oriented programming using 3 dimensional objects and a story telling approach.
Exploring Events. Try this Start Alice and create a blank world using the grass template. Add an instance of a BlueBallerina. Add an instance of a PinkBallerina.
Programming in Alice Chapter 2 Part 2. Events Editor Identifies what method is executed (run) when the “Play” button is hit 2.
Alice: A Free 3D Animation World for Teaching Programming Barbara Ericson Georgia Institute of Technology Oct 2005.
Alice Learning to program: Part 1 Scene Setup and Starting Animation by Ruthie Tucker and Jenna Hayes Under the direction of Professor Susan Rodger Duke.
Calvin and Hobbes Teach Properties and Functions Created by Daniel MacDonald under the direction of Professor Susan Rodger Duke University June 2013.
Text Boxes and WordArt Guided Lesson.
Adobe Forms THE FORM ELEMENT PANEL. Creating a form using the Adobe FormsCentral is a quick and easy way to distribute a variety of forms including surveys.
Programming with App Inventor Computing Institute for K-12 Teachers Summer 2012 Workshop.
01-Intro-Object-Oriented-Prog-Alice1 Barb Ericson Georgia Institute of Technology Aug 2009 Introduction to Object-Oriented Programming in Alice.
Lights Camera Action! Part 2: Controlling Light in Alice By Elizabeth Liang under the direction of Professor Susan Rodger Duke University June 2009.
Programming Alice Alice is named in honor of Lewis Carroll’s Alice in Wonderland.
Getting Started With Alice By Ruthie Tucker under the direction of Prof. Susan Rodger Duke University, July
Introduction to Scratch!
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
Programming with Alice Computing Institute for K-12 Teachers Summer 2011 Workshop.
3–D Helium Molecule Tutorial Alice Project Duke University Professor Susan H. Rodger Gaetjens Lezin June 2008.
Summer Computing Workshop. Session 2 Input in Scratch  Multi-Character input - This is used when the user is prompted to enter a number or word.  Problems.
Introduction to Arrays. definitions and things to consider… This presentation is designed to give a simple demonstration of array and object visualizations.
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.
CS329e – Elements of Visual Programming Implementing Programs Mike Scott (Slides 2-2)
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.
Alice Tutorial: Overview and Concepts Wayne Summers Columbus State U. 11/17/06.
Working with the VB IDE. Running a Program u Clicking the”start” tool begins the program u The “break” tool pauses a program in mid-execution u The “end”
An Introduction to Alice 3.1
Summer Computing Workshop.  This workshop is designed to introduce basic programming concepts through the use of the highly intuitive programming environments.
Skater World: Part Two By Deborah Nelson Duke University Under the direction of Professor Susan Rodger June 1,
 To begin you first need to sign up to Weebly by going to or alternatively and we will create an account.
Design Studies 20 ‘Show Off’ Project How to make a computer monitor In Google Sketchup By: Liam Jack.
The Essentials of Alice (Bunny) By Jenna Hayes under the direction of Professor Susan Rodger Duke University July 2008.
Build-It-Yourself.com BLENDER 3D LESSON 3 BLENDER 3D LESSON 3.
Working with Shapes Guided Lesson. Objective  In this lesson you will learn how to insert a shape and format it by changing its fill color, outline color,
The Essentials of Alice Mrs. Jayne Slease SBMS CTE Computer Science and Animation Credit to Duke Students under the direction of Professor Susan Rodger.
Changing Camera Views! Part 1: Set Point of View to By Bella Onwumbiko under the direction of Professor Susan Rodger Duke University July 2013 Updates.
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.
Using Alice.  Alice is visual  Alice is object-oriented (some might say object- based)  Alice eliminates the need to debug syntax errors  Alice introduces.
Illuminating Computer Science CCIT 4-6Sep
Headshots in Alice Duke University Professor Susan H. Rodger Gaetjens Lezin July 2008.
Presenter: Carol Liss Timberlane Regional Middle School 6 th and 7 th grade Tech. Educator Co presenters:
The Essentials of Alice By Jenna Hayes under the direction of Professor Susan Rodger Duke University May 2009.
An Introduction to Alice (Short Version)
Changing Camera Views! Part 1: Set Point of View to By Bella Onwumbiko
RAD Certification Checkpoint #2 Introducing RadStudio (Hello World)
The Alice Interface.
Making Objects Move in Unison: Using Lists
Learning Java with Alice 3.0 Game Design Kathy Bierscheid
Making Objects Move in Unison: Using Lists
Alice: Beyond the Basics
Alice: A Free 3D Animation World for Teaching Programming
Introduction to Object-Oriented Programming in Alice
Alice 2.2 Introduction.
Alice: A Free 3D Animation World for Teaching Programming
Presentation transcript:

Programming with Alice Computing Institute for K-12 Teachers Summer 2011 Workshop

Session 0

Workshop Expectations This workshop is designed to introduce programming concepts through the use of the intuitive programming environment of Alice. Each of the seven Alice sessions will focus on one or more of these concepts. Throughout the workshop, there will be a chance for you to use your new skills to create teaching aids for your subject while introducing programming concepts to your students.

Alice Overview Created by Carnegie Mellon in % GUI based programming environment Object-oriented Multi-threaded Runs on Windows and Mac Free!

Set up environment Let us create our first example program. This program will consist of adding an object to the world and making it move. Open Alice by double- clicking the icon on the desktop Click the templates tab Select one of the preset environments Click open

Alice Interface The Alice interface is divided into five major sections: The section on the upper left is called the object tree. This contains a list of all the objects that currently exist in the world. The lower left section is the object details area and shows information about the currently selected object. The upper center section is the world window. This provides an interactive view of how the world will look when ran. The top right corner is known as the events area. Most methods of interaction with the user occur here. The remaining section is the editor area. This is where the actual programming takes place.

Objects in Alice Alice, like many other programming languages, is object oriented. Objects provide a basis for program structure and serve to organize and simplify the design. Programming with objects is often intuitive because of the nature of human interaction with the world. Objects consist of three basic elements: ◦Properties – also known as variables, these are the characteristics of the object much like hair color and height are for us. These will be discussed in greater detail during session 4. ◦Methods – allow objects to do things such as move, turn, resize, etc. Methods will be discussed in greater detail during session 5. ◦Functions – allow objects to do calculations. In session 5, we will create a function that calculates the rotation of a vehicle wheel in relation to the distance it moves.

Default Objects in Alice All Alice programs contain at least four objects. These are: ◦World - think of this as the virtual universe. All other objects exist in and are “owned” by it. Unlike other objects, it is impossible to move the world object. ◦Camera – this supplies the view used by the world window and is determined by the placement and orientation of the camera object. ◦Light – as the name implies, this object provides a source of light to the scene and can be moved or otherwise manipulated to alter the brightness and/or shadows in the world. ◦Ground – the xz-plane that serves as a reference point for the user to place other objects.

Add Object to World To enter object management mode, click the green button in the lower right corner of the world window. Find a vehicle object with wheels (not the ambulance) and drag it to the ground in the window above. For advanced positioning instructions, please refer to the presentation notes.

Object Manipulation Tools Allows you to select an object and move it on the horizontal plane Moves an object on the vertical plane Rotates an object around the y-axis of the world window Rotates an object around the x-axis of the world window A combination of the previous two tools. It is very hard to control and should probably be avoided Increases or decreases the size of an object Creates a clone of an object

Renaming Object In the object tree, find the newly added object, right-click it, click “rename,” and enter a new name. The new name should be short, descriptive, and meaningful.

First Program: Moving an Object Let’s learn how to use the block. Orient the vehicle so it looks as though it will be driving to the right. You probably will need to move the camera and/or adjust the size of the vehicle. Select your object and move it as far as you can to the left of the screen. It is time to close object management mode in order to open the method editor. To do this, simply click the button. To make this object move, select it by left clicking the vehicle, click the methods tab in the object details area and drag a move block to the editor area.

First Program cont. A drop-down menu will appear and you can choose the direction the object will move; mouse-over “forward”. You should see another drop-down menu where you can select how far it will move, select ½ meter for now. Now we are ready to test our first program. In the top left- hand corner you will find the button. Anytime you want to test your project, simply click this button. If your object didn’t move a satisfying distance or it didn’t move in the correct direction you can edit this by left clicking the down arrow to the right of the attribute you want to change. A menu will drop down and you can choose a new value.

Multithreading Now we have our vehicle moving to the right, it is time to make the wheels turn or rotate while the vehicle is moving. To make two or more things happen at once we use a programming convention known as multithreading. In order to affect only the wheels of your vehicle, click the plus button to the left of it in the object tree. This will make the sub-parts of the object visible which will allow you to manipulate them individually. For now, just select one of the wheels (preferably one that can be seen in your world window) To make the wheel turn, drag a block and place it in the editor area. Choose a direction for it to turn and test your program. If the wheel doesn’t turn properly, change the direction or try the.

Multithreading cont. Even though we have the vehicle moving and the wheel rotating, it still isn’t perfect because the vehicle moves, then the wheel rotates. The reason? Alice, like most other programming languages, processes statements starting from the top and moving down one by one. In order to have the vehicle move while the wheel rotates, we must use a new block. Place a container into the method editor and place the move and turn blocks inside it. This brings up the subject of multithreading. Many programming languages take advantage of this functionality. It allows the programmer to make multiple things happen at the same time. For example, the vehicle will move at the same time the wheel is turning. Now let’s test this and make sure everything works properly.

Project 0 Now that we know how to use a do together container to implement multithreading, try to get the other wheels of your vehicle spinning. They should all spin at the same time. This may take some playing around, but it is possible. You should also change the wheels rate of spin to look as realistic as possible in relation to the ground. In session 5 we will explain how to do this more efficiently.