0% found this document useful (0 votes)
34 views

Programming in Alice Facilitation Guide

This document provides an overview and facilitation guide for teaching programming concepts and skills using the Alice programming environment. It introduces the Alice Code Editor and teaches students how to define procedures, add control structures, and create a basic interactive animation or game. The lesson includes presentation materials to introduce programming concepts, demonstrates skills like defining methods and parameters, and provides options for hands-on exercises for students to apply their new skills, either with open exploration or by following a guided tutorial. The overall goal is for students to learn the minimum skills needed to create a simple program in Alice.

Uploaded by

Carlos
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views

Programming in Alice Facilitation Guide

This document provides an overview and facilitation guide for teaching programming concepts and skills using the Alice programming environment. It introduces the Alice Code Editor and teaches students how to define procedures, add control structures, and create a basic interactive animation or game. The lesson includes presentation materials to introduce programming concepts, demonstrates skills like defining methods and parameters, and provides options for hands-on exercises for students to apply their new skills, either with open exploration or by following a guided tutorial. The overall goal is for students to learn the minimum skills needed to create a simple program in Alice.

Uploaded by

Carlos
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 23

Facilitation Guide

Programming in Alice
Summary

The facilitator guide is intended to aid the instructor in introducing the use of the Alice Code
Editor for creating a program or script for a story or game. This guide is specifically designed to
help guide the facilitator through the introduction of the Alice built-in procedures. The guide
includes a basic overview of the Code Editor interfaces and some basic code building skills.

This lesson should be one of the early lessons in The Alice Project curriculum. It introduces the
minimum skills necessary to create a program in Alice. Additional lessons will build upon this
lesson and expand upon different aspects of the Alice Code Editor. This lesson teaches students
the basic steps to creating an animation or interactive project. It also includes options for
participants to explore the code editing tools and debrief their learning experience.

It is assumed that this lesson would follow the Building A Scene lesson so students have a basic
understanding of adding, removing, and orienting objects. This lesson can be offered as stand-
alone lesson on basic Alice programming, or students may carry forward to the next lessons,
which expands on other programming concepts and other functionality of the Code Editor. It
may also be used to kick off a longer project-based curriculum, where the program built during
this lesson is later used as a starting point for later lessons.

Learning Objectives

Programming Objectives:
● Define a Computer Program
● Define a Method
● Define a Procedure
● Define a function
● Define Parameter and Argument
● Define a control structure
Alice Objectives:
● Define the Components of an Alice Program
● Code Editor Overview
● Define an Alice Statement
● Add a Procedure to an Alice Program
● Run an Alice Program
● Add a Control Structure
● Edit your Program
● Locate Additional Resources for the Code Editor

Lesson Overview

● Introduction
● Lesson on the Alice Code Editor
● Student Work Session
o OR Step-by-Step Work Session
o OR Guided Student Work Session
● Assessment
● Debrief / Students Share Work

Skills Overview

This project was developed for use with Alice 3. The following Alice 3 skills will be learned
through the lesson and additional resources related to the skills can be accessed in the How To
videos and the tutorial exercise for this lesson. Optional educational activities can be
incorporated based on their relevance to the required steps for the project.

Alice Basics
Navigating the Alice Code Editor
Adding Procedures to an Alice Program
Running an Alice Program
Editing and Modifying Statements
Modifying a Procedure’s Execution
Changing a Procedure’s Position in myFirstMethod
Modifying a Procedure’s Arguments
Using a Procedure on a Subjoint
Copying and Pasting a Procedure
Deleting a Procedure

Control Structures
Incorporating Do in Order and Do Together

Camera Markers
Programming Camera Moves with Camera Markers

Sound
Adding audio

Vocabulary

Argument - A value that is used by the method to perform an action; it tells the computer
program how to implement the procedure.

Camera View - The part of the Code Editor that shows the scene from the starting position;
contains the Setup Scene button and the Run button.

Class - Contains the instructions that define the appearance and movement of an object.

Code Editor - The place where you add the programming instructions to program your
animation.

Conditional Execution - A program that gives directions to do something if something else


happens.

Control Panel - Contains blocks that you drag into the editor to build your program.

Control Structure - Allows you to change the sequence or logic that controls the order and
timing of statements being run.
Disable Code - This code will be ignored when the program is executed; right click on a
statement to toggle.

Do In Order - A control structure in Alice that will follow the list of statements you provide in
the exact order you see them in your program; similar to a recipe.

Do Together - A control structure in Alice that will enable statements to happen at the same
time.

Functional Methods - A program can be a set of directions that returns an answer to a


question; directions for getting information from the environment or the user such as "how far
is the rabbit from the carrot.”

Gallery - A collection of three-dimensional objects that you can insert into the scene.

Iteration - (Looping) A program can be instructions to repeat a behavior a certain amount of


times or until something happens.

Method - A small defined set of code within your program that gives instructions for the
program to do something.

Methods Panel - where you will find code blocks that are dragged into the editor to create
program statements (contains the procedures and functions tab).

Orientation - An object's sense of direction.

Parameter - An argument that informs what the method will do.

Procedure - A set of instructions, or programmed code, for how the object should perform a
task.

Procedural Methods - Directions for how the environment or objects in the environment
should behave, such as "move forward."

Sequential Processing - A program can be a list of instructions to follow in order.


Prep + Materials

Classroom Resources

Computer Access
Each participant should have his or her own computer for the duration of the project. It
is also possible to allow pairs of students to work together at a shared computer.

Presentation + Lecturing
Ideally, you should be able to present the lesson slides in front of the class. Depending
on your approach, you may also want to be able to show Alice and be able to
demonstrate and guide the class through the exercise. You can also print and distribute
these materials if needed.

Supporting Materials
You may want students to have access to the How To videos that accompany this lesson.
This can be achieved by insuring they have access to and can play videos on Alice.org.
You may also wish to download, print, and distribute the accompanying Quick Reference
Guides associated with the How To videos. These materials can be downloaded in .doc
format to combine several into one hand out.

Software Requirements
This lesson requires each computer to have Alice 3 installed and accessible.

Time
The lesson is designed to take 45-90 minutes, depending on:
● The inclusion of the lesson presentation
● Time spent going over skills training
● Time spent on optional learning activities
● Complexity of exercises or projects assigned
● Time spent debriefing
Suggested Process

Introduction
Tell the students that they will be shown how to use built-in procedures to create a simple
program. Describe the class activity and discuss the skills they will acquire in the process.

Computer Program and Alice Code Editor Lesson (optional)


For this lesson, you can present the lesson materials in a couple different ways due to the
inclusion of a lot of Alice skills components in this lesson.

Option 1:
Run completely through the supplied presentation slides to give an overview of the
Code Editor, the concepts, and the skills. More detailed talking points are provided
below for highlighting key concepts while giving the presentation.

Option 2:
Integrate the “hello, world” exercise to break up the lecture and give the students a
chance to write their first program. This can be introduced immediately following the
directions on how to add a procedure, and before moving on to control structures.

Option 3:
Integrate application demos or the more in depth How To videos into the presentation
at the relevant topic moments. The level of detail and time spent on the skill details may
be determined by how you plan to integrate the exercise component, accessibility of the
supporting materials to the whole class, and the skill level of your students.

Exercise Facilitation
There are several options to allow the participants to explore the Code Editor and apply the
new skills. Here are some options, from open exploration to most guided:

Option 1 (Open Student Work Session)


With groups that do well independently, you may choose to have them create a
program of their own design. Note that the Building a Program tutorial provides the
most scaffolding for students that may need that level of support and direction.
Additionally, you might want to provide access to the Code Editor How To videos to
provide additional support.

Option 2 (Guided Work Session – Independent)


For slightly more structure, you may decide you want to assign the students the Building
a Program tutorial exercise and let them work through the whole exercise at their own
pace. The Building a Program tutorial provides step-by-step directions that guide
participants through building a simple animation. The tutorial also points them to the
correlating How To videos at the appropriate points for students that may need some
support. This exercise guarantees that they will explore all the different methods that
can be used for each skill in the process of completing the exercise. You can point the
students to the web page for the tutorial or print out the associated directions.

Option 3 (Guided Work Session – Instructor Led)


For the most structure, you may want to guide the students through the Scene Building
tutorial exercise. The Building a Program tutorial provides step-by-step directions that
guide participants through building a program. Guiding the students through the
tutorial you will break the session up into smaller modules. Each module includes an in-
depth demonstration of each skill, before having the participants apply newly acquired
skills in the activity. This format also provides more break points to check students’ level
of understanding. There is a detailed step-by-step guide provided below. You can
approach this in two ways:

● Play the more general How To videos and then allow participants to
follow the step-by-step directions for the module,
● Or demonstrate the exact steps from the tutorial to the class and then
have them complete the demonstrated steps.

A guided facilitation guide is provided below with more details and supporting talking
points. The session would follow this basic flow:

Module 1: Setting Up The Scene


Step 1-5. Get everyone to open Alice, create or open the described scene, navigate to
the Code Editor.
Module 2: Adding Procedural Methods (Statements)
Step 6-8. Add statements to myFirstMethod for the appropriate objects from the
Procedures tab of the Methods panel. Save the program. Ensure everyone has
successfully added procedures to myFirstMethod in the Code Editor.

Module 3: Testing, Editing, and Modifying Procedures


Step 9-13. Run the program. Modify existing parameters. Add new optional parameters
through add details to modify the program. Ensure everyone has successfully modified
procedures in myFirstMethod in the Code Editor.

Module 4: Programming SubJoints


Step 14-17. Use procedural methods to animate subjoints of an object. Ensure
everyone has successfully added subjoint procedures in myFirstMethod in the Code
Editor.

Module 5: Using A Do Together


Step 18-19. Add and nest Do Together and Do in Order control structures to
myFirstMethod to modify the program. Ensure everyone has successfully added an
assortment of nested Do Together and Do in Orders in myFirstMethod in the Code
Editor.

Module 6: Programming a Camera Move


Steps 20-22. Add camera markers in the Scene Editor and use procedural methods to
animate a camera move. Ensure everyone has successfully added a camera move in
myFirstMethod.

Assessment (Optional)
You can use the supplied bank of assessment questions, challenges, and exercises to quiz your
students on the retention of their new skills. These materials are provided in a separate
document that can be downloaded from the webpage associated with this guide. A word
document has been provided to allow you to customize as needed.
Class Regroup + Summary
We recommend regrouping as a class to discuss challenges and successes, and to offer
feedback, both among the participants and about the curriculum itself. There are provided
reflection questions found below.

Standards and Integration

Standards mapping is under development check back for updates.


Lesson Material Talking Points

One: What is a Computer Program?


What is a computer program? Basic elements of an Alice program.

Slide 3 Defining a Computer Program


● A program is a list of instructions for a device to perform a task or solve a
problem.
● Programmers generally write computer programs using programming languages
which can then be translated into machine code that can be executed by the
device.

Slide 4 Basic Programming Ideas


● A program can be a list of instructions to follow in order (sequential processing).
● A program can be a direction to do something if something else happens
(conditional execution).
● A program can be instructions to repeat a behavior a certain amount of times or
until something happens (looping or iteration).
● A program can be a a set of directions that returns an answer to a question
(function).
● A program can be a mixture of all of the above in differing amounts and
combinations.

Two: An Alice Program

Slide 6 What Can You Program in Alice


● Alice is a programming tool designed to introduce students to fundamental
programming concepts.
● Alice would not be used to solve every type of computing problem or task.
● The focus of Alice is to develop animations: stories, games, simulations.
● Alice is an object-oriented programming environment.
○ In object-oriented programming, computer programs are created by
building classes with properties and behaviors, called methods.
○ These methods can be thought of as directions to be followed.
● All computer programs, including Alice animations, should start with a design.
○ See the lessons on design and algorithm development.

Slide 7 What is an Alice Program?


● Different required elements of an Alice Program:
● Directions for how the computer will build and display the environment –
created using the Scene Editor
● Directions for what happens in the world and when –created using the
Code Editor
● Directions for what the program should listen to from outside the
program (key inputs, mouse interactions) – programmed using the Code
Editor

Three: The Alice Code Editor

Slide 9 Code Editor Overview


● Writing an Alice program takes place in the Code Editor, and involves using,
modifying, and creating methods for the classes used in the project.
● The Code Editor has four different panels: Camera View, Methods Panel, Editor,
and Control Panel.

Slide 10 Camera View


● The camera view shows the scene in its state at the beginning of the program
and from the starting camera view.
● This is where you can find the buttons for accessing the Scene Editor and for
running your program.

Slide 11 Methods Panel


● The methods panel contains tiles or directions that are placed in the Code Editor
for the creation of the program code.
● The methods panel has a drop down menu to select the object you want to work
with and tabs to access either procedural or functional tiles.

Slide 12 Code Editor


● The Code Editor of the Alice environment is where code creation takes place.
● The Code Editor can be navigated by clicking on the tabs along the top of the
editor as well as the class button drop down menu to the left of the tabs.

Slide 13 Code Editor Tabs


● There are 2 types of tabs differentiated by the color of the tabs.
○ The yellow tab indicates that you are viewing the information for the
class identified in the text of the tab. The class tabs, when clicked on,
display all the methods and properties of the class.
○ The purple tabs, in the Code Editor, are method tabs where sets of
directions or code can be created.
● Whenever an Alice project is created or opened, Alice always opens the scene
class tab and the myFirstMethod tab of the scene class.
○ Think of the scene class as a stage object and the methods as the
directions or script for the play being executed on the stage.
○ The scene class is where code creation for the project usually starts, in
myFirstMethod.
● myFirstMethod is set up to be the method or set of directions that is first
executed when the Run button is clicked.
Slide 14 Control Panel
● The control panel contains tools that extend the functionality of the Code Editor.
○ The commenting tool allows you to add notes that will be ignored by the
computer.
○ There are different control structures for structuring your code to
execute things such as loops and do togethers.
○ There are tools to allow you to add and manipulate variables in your
program.
● Don’t worry these things will be covered in more detail in later lessons.

Four: Alice Methods

Slide 16 What is a Method in Alice?


● In Alice, the term method is used to describe a small program or set of code that
can be called by the program to do something.

Slide 17 Two Types of Methods


● The Methods panel uses two tabs to display two different types of methods:
○ Procedures (procedural methods), which are methods or directions that
perform an action
○ Functions (functional methods), which are methods that compute a value
and return an answer or response

Slide 18 Built In Procedures


● There are built-in, fundamental procedures to enable the basics of animation.
Many of the Alice procedural methods are some variation or combination of
move, turn, and roll.
○ Move changes the location of the object in the scene, and by itself
will not change the orientation of the object.
○ Turn and roll change the orientation of the object in the scene,
and by themselves, will not change the location of the object.
● There are also some other built-in procedures to allow manipulation of the
environmental effects of the scene such as lighting, fog effects, audio, and
visibility of objects.

Slide 19 Alice is Object Oriented


● It is important to remember that Alice is an object-oriented development
environment. When you want to write your program, you do so by navigating to
the object you want to control to access the available procedures and functions.
○ Different objects will have different available procedures (ex: the scene
object has the atmosphere procedures and the camera has object move
procedures).
Five: Alice Code Statements

Program statements in Alice have required fields that are called parameters. What are
parameters? What is an argument?

Slide 21 Parameters
● When a procedure is added to the Code Editor, there are a series of sub-menus
that represent parameters for that procedure.
● Different procedures will have different parameters:
○ Move will ask for direction and distance in meters to move.
○ Turn will also ask for direction, but will ask for amount (in
percentage) of the rotation.
● Without having information for these parameters, the program won’t know what
to do.

Slide 22 Required Parameters


● To insure that your code is always complete and functional, Alice won’t let you
add incomplete statements. There are certain parameters that Alice requires you
to give arguments or values for to be able to add the procedure to your program.
○ For example, you can’t add the move statement to your program without
giving a value for the direction and distance.
○ Default values have been added to the drop down but in most cases,
there will also be a custom input option that allows you to type or use a
number input to choose your own value.
○ These argument values can be modified later so don’t worry too much
when first selecting.

Slide 23 Optional Parameters (Add Details)


● Almost every Alice procedure has add details or parameters associated with it.
These arguments are optional.
● These details modify the way the procedure behaves in some way.
● The most common details:
○ duration: specifies how long the animation will take (default value is one
second)
○ style: specifies how the animation executes
○ as seen by: specifies the point-of-view the animation will use to execute

Six: Adding Procedures

Program statements in Alice are created by selecting the object that will execute the procedure,
dragging the procedure tile into the editor, and selecting the appropriate arguments for the
procedure.
Slide 25-26 Select the Object and Create a Statement
● The Objects Menu, located underneath the Camera View and above the
Methods Panel, displays all the objects currently available to the programmer.
○ It should be noted that the “this” object listed in the menu refers to the
scene object.
● To add procedures for the subjoints of an object, select the object’s SubJoint
menu, by clicking on the right-arrow triangle in the menu.
● Click on the Procedures tab, if it is not already selected.
○ You will notice that the subjoints have a different set of procedures
available compared to an object.
● Click and drag the selected procedure tile into the editor
● A green line will appear in the editor, indicating where the new statement will
appear.
● When there are already program statements in the editor, it is possible to insert
the new statement before or after those that are already there.
● When a procedure is added to the Code Editor, a series of sub-menus will appear
depending on the arguments required to execute the statement.
○ An argument is information that a statement needs to execute the
instruction.
○ For example, Alice will prompt for the direction and the distance for an
object’s move.

Seven: Running Your Program

Alice allows you to Run your program as often as you want. This is a great way to test and
iterate your work.

Slide 28 The Alice Player


● Pressing the Run button found on the camera view panel will launch the runtime
window and auto play your program.
○ The window can be resized by dragging the corner or entering full screen.
○ The player controls allow you to pause, change speed, or restart your
program.
● Right clicking on a statement in your program and selecting Fast Forward will
open the window and rapidly execute the animation to that statement in the
program, and then the animation will execute at normal speed from that point
on.
○ This is useful for testing procedures and debugging the program.

Slide 29 Runtime Errors


● Even with built-in checkpoints working to insure only complete code is created,
there are still ways a program or Alice can fail.
● The error dialogue will hopefully help you understand what is wrong with your
program and the application.
● In some cases you can click through the error and in others you will need to go
back and fix your program before being able to play.
● In some instances you may just need to restart Alice. It is a good idea to save
your world before running your program just in case a fatal flaw is encountered.

(This is a great place to pause and have the class do the “Hello, World!” exercise
together.)

Eight: Control Structures

To create more complex programs you will use elements from the control panel. The two most
common control structures you will use are the Do in Order and the Do Together.

Slide 31 Do In Order
● Do in Order is the default behavior for method tabs in the Code Editor.
● Do in Order treats your statements sequentially.

Slide 32 Using Do Together


● The Do Together is one of the control structures found in the control panel at
the bottom of the editor window.
● The Do Together tells the computer to sequence the directions inside the block
at the same time.
● Be aware that if you put two opposite commands inside a do together they will
happen simultaneous and you may see no effect in your program. i.e. if you
move a joint forward and backward at the same time what do you think you will
see?

Slide 33 Nesting Control Structures


● Alice allows you to put control structures inside of other control structures. This
level of complexity may be needed to achieve the behavior you desire.
● The example shows how you might structure two objects jumping at the same
time. The nested do in order is required to allow the program to execute the
move up and down sequentially for each character while at the same time
having them both happen at the same time.

Nine: Editing Code

Once statements have been added to the program in the editor, they may be modified by
changing the statement arguments, moving the statements to different positions in the editor,
deleting/disabling statements.

Slide 35 Undo/Redo
● In the Code Editor there is no Undo / Redo button as there is in the Scene Editor.
● Keyboard commands in the Code Editor
○ Windows: Control+Z, Control+Y
○ Mac OS X: Command+Z, Command+Y

Slide 36 Modifying Existing Statements


● Code statements may be modified in the editor, by clicking on the yellow
argument components in the statement. (These will have a small arrow next to
them)
● Selecting these arguments will bring up a drop-down menu showing the
available options for substitution.
● It is even possible to change the object that is performing the instruction.

Slide 37 Reordering Statements


● Statements may be re-ordered by dragging them from one position to another
within the editor.
● The green line will appear, indicating the new position insertion point.

Slide 38 Deleting Statements


● An instruction may be deleted from the editor by dragging the instruction tile to
the methods panel.
● An image of a trash can should appear.
● An instruction may also be deleted by right-clicking on the instruction and
choosing delete from the menu that appears.

Slide 39 Copying and Duplicating Statements


● A statement may be copied to the clipboard, and then the clipboard can be
dragged to a new insertion point in the program, placing the copied statement
there.
● You can option click on mac or option click on PC to duplicate a statement or
block and add it to another location.
○ This can be very helpful for creating similar statements that you can then
change arguments in to replicate them for another object or create
incremental or oscillating move commands.
○ You can copy individual statements or whole nested control structures.

Slide 40 Disabling Code


● You can disable and enable code through the right click drop-down.
○ A disabled statement will be ignored when the program runs.
○ This is a good way to focus on testing specific procedures when
debugging your program.

Ten: Tips and Tricks

Some simple tips and tricks to remember when you are using the Code Editor.
Slide 42 Notes About Other Alice Procedures
● moveTo:
○ This procedures allows you to move one object to the location of another
object so that both pivot points are at the same place.
○ The objects will look like they are overlapping; Alice does not have built-
in collision detection.
○ The orientation of the moving object does not change.
● orientTo:
○ This procedure does not move the object.
○ The object’s orientation will change to be in alignment with the target’s
orientation.
○ moveAndOrientTo:
■ This procedure moves one object to the location of
another object so that both pivot points are at the same
place.
■ The orientation of the moving object will change to the
same orientation of the target object.
● turnToFace:
○ This procedure turns an object around its pivot point, so that its forward
orientation will be in the direction of the target.
○ This does not change location.
● pointAt:
○ This procedure turns an object around its pivot point, so that its forward
orientation will be in the direction of the target’s pivot point.
○ This does not change the location.
● say / think:
○ This procedure uses TextStrings (sequences of letters and digits) as
arguments to create speech or thought bubbles.
○ Optional detail arguments will allow modification of the speech/thought
bubbles.
○ The programmer cannot modify the placement of the bubbles. Alice
makes its best guess as to where the bubbles will appear.

Slides 43 Animating the Camera


● Camera moves can be a very important part of viewing, animating, or moving
through a scene.
● You can animate the camera the same way you can animate any other object in
Alice.
● You can also use the unique camera marker object to plan and program camera
moves to specific positions.
● It is important to remember to use the moveAndOrientTo not just the moveTo
when using camera markers if the new position has a different orientation
(pointing a different direction).
Slide 44 Scene Effects
● The scene object has several unique procedures that allow you to manipulate
scene properties, such as lighting and fog.
● These can be programmed to create very cool visual effects.

Slide 45 Incremental Development


● Encourage students to develop an incremental development style.
● Write a little code and test what is written by running it.
● It is much easier to find and correct mistakes while developing the program.

Slide 46 Adding Audio


● You can quickly make your animation come to life by adding audio to your world
using the playAudio procedure
● It doesn’t matter which object you attach the audio to. You will find the
playAudio procedure under all objects in Alice
● There are great resources for how to do this including how to create custom
audio here: https://www.alice.org/resources/alice-3-audioibrary/ All of the
videos are also at the bottom of the Alice 3 how to page.
● An example word using all of these simple techniques can be found here:
https://www.alice.org/featured-projects/sea-encounter/

Slide 47 Save Often


● Emphasize the importance of frequently saving projects, using a versioning
naming system.
● Projects can become corrupt while students are working on them, for a wide
variety of factors. Students will not have to restart a program from the beginning
if they have earlier versions of the project.
Exercise Facilitation Step-by-Step

These step-by-step directions are for the guided facilitation option 3 that uses the Scene Editor
Tutorial as a basis for the hands-on experience for the session. They can be followed in addition
to having first gone through the slides.

Module 1: Setting up the Scene


Goal – Complete Steps 1-5 of Tutorial Exercise
Students will be able to open Alice, load a starter world or review building a basic scene, and
become familiar with the Code Editor.

Media
● Play the video: Scene Editor Overview
● OR demonstrate selecting and opening a saved world

Talking Points
● Remember that you can use the Scene Editor How To videos to refresh the use of the
Scene Editor
● When placing an object off-stage you can place the object where you want it to end
after it’s movement and use one shots to move it a specified distance and direction that
you can keep track of and then use to program the entrance.
● Remember that if you can’t find an object after placing it that it may be obscured or
inside of another object.

Module 2: Adding Procedures


Goal – Complete Steps 6-8 of Tutorial Exercise
Students will be able to add procedures with appropriate arguments to myFirstMethod and be
able to use the basic move and say procedures.

Media
● Play the relevant parts of the Procedures Overview How To video
● OR demonstrate adding a procedure to the Code Editor
Talking Points
● Methods (procedures and functions) are part of the classes that are used in the
animation. Alice objects come with a set of built-in procedures. Other lessons will show
how the programmer can create new procedures and functions for an Alice class.
● The Object Menu, underneath the Camera View in the Code Editor, is the list of all the
objects that are currently in the scene. Select the object that will execute the procedure.
o It should be noted that the object this in the menu refers to the scene object and
is where you will find the atmosphere and fog procedures.
● Make sure that the students have selected the Procedures tab in the Methods Panel.
o You might also check to be sure that the student has selected the
myFirstMethod tab in the Code Editor.
● Drag and drop the selected procedure into the Code Editor. A green line will show
where the procedure statement will be placed. It is possible to insert the procedure
anywhere in the Code Editor.
● Almost every Alice procedure requires information – arguments – to successfully
execute.
o Alice tries not to permit incomplete statements in the code, and therefore drop-
down menus will appear, asking that the information be provided. If values are
not selected from the menus, then the statement will not be added to the Code
Editor.
o For example, a move statement needs to know which direction to move, and the
distance to move. A turn statement needs to know which direction to turn, and
the amount of the rotation.
o Even if you are not sure of the final value to be used, you must select a value,
which can be modified later

Module 3: Testing Editing and Modifying Your Program


Goal - Complete Steps 9-13 of Tutorial Exercise
Students will be able to run their programs and modify the behavior of the procedures, editing
required arguments and adding optional arguments.

Media
● Play the relevant parts of the Procedures Overview How To video
● OR demonstrate the various techniques for modifying and editing procedures in the
Code Editor
Talking Points
● Modify arguments by clicking on the arguments in a program statement. A drop-down
menu will appear that will allow the selection of appropriate argument values, including
changing the object executing the statement.
● The add details button, on almost every procedure, provides a menu of additional
arguments for the program statement. The most common additional arguments are:
o Duration: Determining how long it will take the animation to execute. By default,
all Alice animations will execute in one second.
o Animation Style: Determines how an animation will start and stop when it
executes.
o As Seen By: Determines the point of view (or orientation) that will be used by the
object when it executes.
● Inserting/repositioning statements in the editor
o A green line indicates where in the editor the procedure tile will be placed when
dragged from the methods panel.
o It is also possible to move a statement that is already in the editor to another
position in the program code by clicking and dragging the tile into a new
position, also indicated by the green line.
● Deleting statements from the editor
o A statement may be deleted from the program code in the editor by clicking and
dragging it back to the methods panel. A Trash Can icon will appear in the
Methods Panel to indicate that the statement will be deleted.
o It is also possible to right-click on the statement tile, in the editor, and from the
context menu that appears, select delete, which will remove the tile.

Module 4: Programming Subjoints


Goal - Complete Steps 18-19 of Tutorial Exercise
Students will be able to select subJoints from the object menu and add procedure statements
for subJoints.

Media
● Play the How To video: Using a Do Together
● OR demonstrate setting up a do together

Talking Points
● The Control Panel, located at the bottom of the editor, displays all the control structures
available in Alice.
● To add control structures to the editor, drag them into the editor. You can then add or
drag existing statements into the block to build.
● You can add additional control structures inside of other control structures.

Module 5: Programming a Camera Move


Goal - Complete Steps 20-22 of Tutorial Exercise
Students will be able to add camera markers and use them to program camera moves into their
animations.

Media
● Play the How To video: Setting Up and Using Camera Markers
● OR demonstrate setting up a camera marker and creating a camera move procedure

Talking Points
● You can animate the camera the same way you can animate any other object in Alice.
● You can also use unique camera markers to help program camera moves.
● Camera markers are set up in the Scene Editor and have both a location and an
orientation.
● You can use camera markers to move and orient the camera object by using them as a
target for camera procedures.
● You can add additional control structures inside of other control structures.
Reflection Questions

● Do you think you can program?

● In 5-10 words describe programming.

● How would you describe the process of creating a program?

● How does your experience with this lesson align with your previous idea of what
programming is?

● What are the basic elements of programming?

Congratulations! You have completed Programming in Alice.

You might also like