Professional Documents
Culture Documents
Kodu provides easy tools to create elaborate 3D landscapes, and control the lighting and
camera
Kodu programming involves selecting visual tiles for a condition (WHEN) and an action (DO)
Students can learn about cooperation, logic and creativity, not just about programming
What is Kodu? 1
Kodu is a rich tool for narrative creation and storytelling pulling users into creating stories
Kodu demonstrates that programming is a creative medium
You can start by playing the games that come with Kodu Xevon 07 is one of our favorites. You
can either use your mouse and keyboard or an Xbox Controller to play Kodu.
For background and context, check out the postings on our blog:
http://community.research.microsoft.com/blogs/kodu/default.aspx
What is Kodu? 2
Kodu Curriculum: Getting Started
with Keyboard and Mouse
PC Requirements
1. Kodu requires a Windows Operating System
2. DirectX9 graphics
3. Shader Model 2.0 or greater.
If you do not have .NET Framework v3.5 and XNA Game Studio v3.1, the installer will prompt you
to install these.
If Kodu is jerky when you try to use it, there are some steps to improve the experience.
NOTE ABOUT LAPTOPS: On certain laptops with integrated graphics, Kodu may not perform
optimally, but you can still get a sense of the tools and flow of the game.
http://community.research.microsoft.com/blogs/kodu/archive/2010/01/15/tutorial-1-
basic-navigation.aspx
http://community.research.microsoft.com/blogs/kodu/archive/2010/01/29/tutorial-3-
load-level-menu.aspx
Terrain is created by painting with the terrain tools. You can select a color and a brush type
(square, oval, square line, oval line).
One easy way to make terrain is to increase the brush size (using the right arrow) and just put
down a single square
The other tools for dealing with terrain let you raise and lower the terrain, and smooth or
make jagged the elevations
Any water that is added, must have terrain or land under it. By default, each world starts
with glass walls, so water stays contained and nothing can fall off the edges.
After you have created terrain, you can add and program objects and characters as
described above
http://planetkodu.com/tutorials/view/Introducing_the_Bots
All Kodu code statements start with a When condition, followed by a Do condition to be
executed. The choice of tiles at any point is determined by what went before. Conditions
are evaluated simultaneously. If there are no tiles in the When area, then the action will be
done at all times.
The switch to page x construct is used for code to be run only after a specific event or
condition has been achieved it is used to create multiple states for a character or object.
Tiles have help demonstrating how they can be used. (Shown above press F1 to see the
help.)
Each help screen also provides examples of how to use that particular tile. The example
code can be inserted directly by clicking on the image of the A button. You can scroll
through examples by clicking on the L in a circle on the left:
On the Xbox, Kodu is an Indie game and can be bought for 400 points. It requires a
continuous Xbox Live connection.
http://community.research.microsoft.com/blogs/kodu/archive/2010/01/15/tutorial-
1-basic-navigation.aspx
http://community.research.microsoft.com/blogs/kodu/archive/2010/01/29/tutorial-
3-load-level-menu.aspx
Terrain is created by painting with the terrain tools. You can select a color and a brush type
(square, oval, square line, oval line).
One easy way to make terrain is to increase the brush size (using the right arrow) and just put
down a single square
The other tools for dealing with terrain let you raise and lower the terrain, and smooth or
make jagged the elevations
Any water that is added, must have terrain or land under it. By default, each world starts
with glass walls, so water stays contained and nothing can fall off the edges.
After you have created terrain, you can add and program objects and characters as
described above
All Kodu code statements start with a When condition, followed by a Do condition to be
executed. The choice of tiles at any point is determined by what went before.
Conditions are evaluated simultaneously. If there are no tiles in the When area, then the
action will be done at all times.
The switch to page x construct is used for code to be run only after a specific event or
condition has been achieved it is used to create multiple states for a character or
object.
Tiles have help demonstrating how they can be used. (Shown above press F1 to see
the help.)
Each help screen also provides examples of how to use that particular tile. The example
code can be inserted directly by clicking on the image of the A button. You can scroll
through examples by clicking on the L in a circle on the left:
Kodu Description
The core of the Kodu project is the programming user interface. The language is simple and
entirely icon-based. Programs are composed of pages, which are broken down into rules, which
are further divided into conditions and actions. The Kodu language is designed specifically for
game development and provides specialized primitives (the nouns, adjectives, and verbs of the
language) derived from gaming scenarios. Programs are expressed in physical terms, using
concepts like vision, hearing, and time to control character behavior. Kodu can express
advanced game design concepts in a simple, direct, and intuitive manner.
1. Simple Programming: We provide a tutorial and a student activity in which objects and
simple programming concepts are introduced.
2. Simple Landscape Creation and Editing: Time permitting, educators can use the
second half of this curriculum Editing Your World to discuss Landscape Creation
Both aspects of game creation are typically quite interesting to students and we suggest that
both concepts be introduced time permitting.
Students will often need to work in groups of 2-4. If students are working in groups, it is very
important that students take turns using the controller or mouse.
This is the first screen you will see after loading Kodu. If you have
Main Menu played games before, the top menu item will be Resume. Choosing
this will reload the last world you had open and start playing
(PlayMode). If you want to select a new game, you can Load World.
Across the center of screen is a list of saved worlds. You can scroll
Load Level through the list using the left and right shoulder on a controller, or the
arrow keys on the keyboard. Select the world you are interested by
pressing the button, or the enter key. Although it is possible to
create worlds from scratch, Kodu comes with a number of pre-built
worlds. These worlds come with land and may also include pre-
programmed characters. In this lesson we will start by modifying a
pre-built world.
Each world starts in the Play Mode. You can toggle between Play
Play Mode and Edit mode using the back button on your Xbox Controller, or the
escape button on your keyboard.
To enter into EditMode, you must press the back button (for
Edit Mode controller) or escape button (for keyboard). EditMode is where you
will probably be spending most of your time. You know you are in
EditMode because you can see the Toolbar at the bottom of your
screen. Navigate through the Toolbar using your right and left trigger
(controller), or right and left arrows.. Here you can create the
landscape for your game world, populate it with bots and program
their behaviors.
You can get here by pressing Play on the controller, or Home on the
Mini Hub
keyboard. The Mini Hub will let you go back to the world youre
currently working with, save your current world and any changes
youve made, load another existing world, start with a completely
blank work or go back to the MainMenu.
Set-Up
To prepare for this lesson, the instructor will need to create a simple program in Empty World.
Add several trees and a cycle with the following program: When: always Do: move wander;
When: see tree closeby Do: move avoid. Rename this, Demo1.
Intro
Begin the class by opening the world you just created; Demo1. Ask the students to observe the
cycles behavior. Have volunteers explain what the cycle is doing. Explanations might be
something like:
Object Tool
Now, show the students the program that is running this set of behaviors for the cycle. The
Object Tool on the ToolBar is the tool that you will use to add objects to the world and program
them. To edit an object, you must hover over that object. Pick up an object using and edit its
program with , with a controller, or by moving to the object with the mouse and right-clicking.
Viewing a Program
Ask the students to describe what the code is telling the cycle to do (it should be the same set of
actions as above). After students successfully explain the code, ask volunteers to modify the
code for the following set of behaviors.
When appropriate, have the student who made the suggestion come modify the code in front of
the class and explain why their solution did or didnt work.
Objectives: Add object, change color, select object, create sequential program for object.
Directions: We just went over some of these steps. Now work with your groups to complete
each of the following, check it off your list.
Make sure each member solves some of these TO DOs. Work together to come up with the
best solution. Check in with your teacher once you are done or if you are having trouble.
To Do Checklist:
Open the world Small with water.
Add an apple.
Make this apple blue.
Add Kodu to your level.
Make Kodu find the apple that you just added.
Make Kodu eat the apple once he finds it. (Hint: You may also need to tell Kodu to avoid
the water.)
Then, you are free to play with adding other objects, adjusting Kodus behaviors, changing the
environments. Keep this level open because you will use it for activity 2. Ask for help if you
need it.
Challenge Activity
CONTROLLER VERSION: If you do not already control Kodu with your Xbox controller,
change your program so that you can drive Kodu to the apple. (The left stick controls
movement).
KEYBOARD VERSION: Change your program to use either the arrow keys to move the
Kodu (WHEN-keyboard-DO-move, or WHEN-left-mouse-DO-move-towards)
What other things can you control with your Xbox controller or mouse?
Objective
2. Use tiles for setting and the development of tone and mood of game world
After the students complete the first activity, if there is time, ask students to reconvene for a final
lesson. Note: If time is short you may not be able to complete this half of the lesson.
Students will already know how to create and program objects. Here, students will learn to
modify the landscapes in their games. Creating and changing the Kodu landscape is one of the
most interesting initial activities for early users of Kodu. They often spend hours changing and
designing intricate landscapes in which their games and animations operate. Landscapes often
also set the tone for actions that follow. Ask for student volunteers to operate several of the
landscape featuressome of them will have likely used the landscape feature during the
previous example. Using the same demo world that you created for Lesson 1 (Demo1) ask
volunteers to:
Add/delete land to the existing landmass [Choose green paintbrush in the toolbar. With a
controller, select the appropriate landscape material by pressing (Y) and selecting one
from the toolbar. Next, select the brush shape (X) and brush size (D-pad). By using the left
stick and holding down either the right trigger to add land or the left trigger to delete land,
students can draw the landscape. With mouse, click on the four small terrain icons to the
left of the paint brush to pick a material (arrow keys to select material), and click on the
four brush shapes to pick a brush shape (arrow keys to select). You can then use the
arrow keys to increase or decrease the size of the brush. Click to paint the terrain.
Add land of a different color/texture around the perimeter of the landmass [Use same
steps as before, only change the landscape material and perhaps the brush size. The
speed of land addition or subtraction can be controlled by the degree to which the
controller is shifted.]
Create hills and valleys; use the smoothing feature [Select the raise the lower icon from
the toolbar. Again, using the Brush Picker and Brush Size. The speed of land raising and
lower can be controlled by the degree to which the triggers are pressed on the controller,
the speed cannot be controlled with mouse and keyboard.] Also note to students that the
smoothing out feature allows a less jagged landscape which also allows maneuverability.]
This is a good opportunity to talk about the remaining items in the ToolBar. As students work
through how they create a feature, ask them to verbalize what they are doing and tell them that
it is like thinking out loud and that mistakes might happen. Reinforce the idea that if a problem
Objectives: Create and alter landscape using various land editing tools
Directions: We just went over the different tools for creating a landscape. It is your turn to
try it out with your group. As you complete each of the following, check it off your list. Make
sure each member solves some of these TO DOs.
Work together to come up with the best solution. Check in with your teacher once you are
done or if you are having trouble.
Go to Empty World.
Create a landmass using any material you like.
Create an island (Hint: Water cannot be added unless it has land to rest on.)
Create a plateau (a flat area of land); Now make this area of land bumpy using your
toolbar selections.
Extra Challenge
After you complete these tasks work together with your group to add objects to this world.
Can you program these objects?
Materials:
3 red apples (balls or some other colored object will do)
2 green apples
1 bag
1 or 2 blind folds
To help organize their commands inform them that the character only listens to you, so they
need to filter the commands and ask for clarification should something be vague or difficult to
enact. Depending on how energetic your students are, you may need to call on students. Keep
asking questions about how, when, and where. Feel free to unblindfold the student if they are
prompted to see (this is command in Kodu after all).
Consider during the exercise that Kodu can move forward, backward, north, south east and
west and that it can faster and slow. It can see, hear, and distinguish color. It can jump, turn and
bump up against things. It can be programmed to move toward and away from certain objects. It
can also express love, anger, sadness, and craziness.
Teacher: We want Kodu to do something that involves these apples. Lets try to just move
our Kodu to the apple and put it in his bag. What would be the first we would tell
it to do?
Student: Fast.
The main goal of Kodu is to expose students to computer programming in a fun environment,
while getting them excited about potential careers in computer science by allowing them to
create their own games. This makes them producers of their own media rather than just
consumers of it. More specifically, after using Kodu, students will:
Kodu Description
The user interface is the foundation of working with Kodu. The language is simple and entirely
icon-based. Programs are composed of pages, which are broken down into rules, which are
further divided into conditions and actions. The Kodu language is designed specifically for game
development and provides specialized primitives (the nouns, adjectives, and verbs of the
language) derived from gaming scenarios. Programs are expressed in physical terms, using
concepts like vision, hearing, and time to control character behavior. Kodu can express
advanced game design concepts in a simple, direct, and intuitive manner.
There are some routines and pedagogical practices we suggest to help facilitate the class and
enrich the learning experience of the students. First, while explicit instruction about the tools and
the criteria for final projects is important, you should also let students playfully experiment with
the tools. This means that they will make mistakes requiring active problem solving.
A Culture of Critique
Studio pedagogy allows a space for students to discuss their work and receive feedbackthis
process is integrated throughout the game creation process rather than sequestering the activity
at the end of a draft, as in the traditional writing process, or at the end of product creation. There
are several ways of establishing this culture the class. One method is to have students work in
small groups, taking turns to discuss each projects intentions, challenges, and successes while
others in the group give warm and constructive feedback. Often, this needs to be modeled.
Another implementation strategy might include regular whole class exhibitions during which
students peruse the games at various stages in development and ask questions of other
students projects. Again, this strategy would likely need to be modeled, perhaps through a
fishbowl methodology.
Reflective Practice
It is also suggested that you and your students keep a journal about their work with Kodu. It is
best if journaling becomes part of class ritual, perhaps at the end of each session. Guiding
questions help facilitate this process. These same journals might also house student planning of
games once they start working on their work game projects.
There are two primary methods to make an avatar or player-controlled characters move in the
keyboard version.
Method 1 uses more generalized direction through the arrow keys. In the code structure,
simply write in the code area WHEN: keyboard DO: Move. The up arrow represents forward
movement, and the left and right arrows represent left and right turning respectively. This
method does not rely then on the compass and north, south, east and west.
Method 2 is via the arrow keys being programmed to a particular
direction (North/Up, South/Down, East/Left and West/Right). Using this
method, however, can present challenges since North may not be Up (or
South may not be down, etc) depending upon how the landscape has
been created in relation to where the players or characters are placed.
This is can be confusing when playing a game, but again, the worlds and
characters can be reprogrammed and redesigned to accommodate a keyboard and mouse.
When using this method, the compass indicator is an essential tool when navigating worlds
using the arrow keys. Some worlds do not have the compass on the interface which
indicates direction; in order to display the compass, enter Edit mode within a game world by
pressing Escape and selecting the final icon in the list (represented as a wrench and
mountain landscape). Then, arrow down to Show Compass and make sure it is selected.
Session 3 Using Controller to Move Characters, Create Paths, and Set Behaviors
Materials:
3 red apples (balls or some other colored object will do)
2 green apples
1 bag
1 or 2 blind folds
Keep asking how, when, and where question. Feel free to remove the blindfold from the student
if he or she is prompted to see (this type of direction is referred to as a command in Kodu).
During the exercise consider the following options that Kodo can respond to:
Forward and
backward
North, South, East,
West
Fast and slow
Jump and turn
Bump up against
things
It can be
programmed to
move toward and
away from certain
objects
Kodu can see, hear,
and distinguish
colors
Kodu can express
love, anger,
sadness, and
craziness
Kodu can say things
through text as well
Kodu can even wait
at places
Kodo can move
between places
within a certain
amount of time
As the scenario transpires, it might be helpful to write the commands on the board so the class
can easily recall them. Once a coherent set of commands are established, put your Kodu in
motion.
1. Resume
Opens whatever game or level that was
edited last by the user. If the user opens
this window, the last game that was
programmed or opened will appear.
2. Load World
Opens a series of games or levels from
which the user can select. The levels
can be perused by using either the
arrow keys or clicking the on screen
arrows with the mouse.
To go back to the Main Menu, users
press Escape.
3. Options
Provides the user with the ability to change some broad level features of the game. To
navigate this list, users either use the arrow keys or hover the mouse cursor over the
green arrows on the screen. Escape will bring the user back to the Main Menu.
4. Help
Offers a quick explanation of Kodu. Users press Escape to exit this menu.
5. Quit
Allows users to leave the program.
Next, select the Kodu icon from the toolbar and hover the cursor over the object (Kodu or tree)
of which you want to read the code. The object will brighten. Clicking the right mouse while
holding it down will allow the user to move the object, while clicking the left mouse will bring up
a slew of options for the user to choose from.
Program will bring up the code menu. Read the code together and ask if they see these
behaviors in the code for both the Kodu and the tree. After reading the code, edit the world while
asking students how the code could change for the set of behaviors.
Add an apple. [This is produced by choosing Kodu from the tool bar with the mouse, and
then clicking on the landscape where you want the apple to go. The object selection ring
will appear, and select the apple tile.]
Make one apple in the sequence green; make sure Kodu doesnt eat it. [Click on or hover
the cursor over one of the apples in the circle of apples and the color palette at the top
will appear. Using the arrow keys, make one of the apples green.]
As a challenge, adjust Kodus behavior so it turns to look for more apples when he sees
none. [There are various levels to this command depending on how far you want to
program Kodu. The following sequence should allow Kodu to continuously search for
apples. Simply adding the code to turn at the bottom of the programming sequence will
not work. Follow this sequence to get Kodu to turn and look for more apples.
(Line 1) When: see none apples Do: move turn quickly.
(Line 2) When: see apple red Do: move toward.
(Line 3) When: bump, apple red Do: eat.
(Line 4) When: see none apple red Do: move turn quickly
(Line 5) When: see apple red, Do: move toward quickly.
This activity is very worthwhile for the students since it models the trial and error that is often
involved with programming. After modeling the strategies, searching for code, and assembly
process, have the students practice with Activity 1 Eating Apples.
Some students will even work with the landscape. Others will start playing games and not even
look at the To Do list. What you allow is up to you, but it is always good to regroup to share their
experiences and thoughts.
Also, if any students are working in tools that you will be covering in the coming lessons, then
consider having those that students teach other students how to use that feature.
Directions: We just went over some of these steps as a group in Activity 1 Eating Apples. It
is your turn to try it out. As you complete each of the following, CHECK IT OFF YOUR LIST.
Once you are done, check in with your advisor and have them look at what you have
completed. The underlined words are meant to be clues to finishing your code.
To Do Check List
If the apples are not piling up, make an apple behind the tree that the Kodu is attracted to
it. This should make the apples start piling up. When you have programmed it so the
apples are piling up, then code Kodu to turn around when he sees none and look for the
other apples.
Once you complete the to do list, try adding other objects, adjusting Kodus behaviors, and
changing the environments. Please save your work. Ask for help if you need it.
Challenge Activity
As a challenge activity, go to Tutorial 01 v2 and do what the Kodu asks. Also, see if you
can reprogram the castle to behave in a different way once it is bumped, and try to figure out
how the camera can follow Kodu on its trek to the castle. Another apple eating scenario is
presented to you in Technique: Eating only certain apples v07. Take a look at it and see
if you can reprogram according to the entry screen.
Add/delete land
Choose green paintbrush in the toolbar.
Select the appropriate landscape material
by clicking on the materials icon to the
upper left of the paint brush. Then, use
the arrows to make a selection. Once one
is found that seems appropriate, click it.
To apply land, press and hold down the
left mouse button while moving the mouse
to paint the landscape. By holding down
the right mouse button, and moving the
mouse, the user can erase land
formations.
Choosing an appropriate edgingChoose the green paintbrush in the toolbar and the
appropriate paintbrush by clicking on the geometric shapes icon to the upper right of the
icon. Arrow through the choices and select the desired edge. The square brush will give
Plateau
Create an island or a lakeThe water icon in the toolbar allows users to add lakes,
seas and oceans to their worlds. In order to add these environments, the designer of the
world must first create a landmass on which the water rests. Notice in the above
screenshots how the water did not fill the spaces in which land was not drawn. When the
water icon is clicked, users are given options for the color of the water. These can be
perused using the arrows and the mouse.
Adjusting settings for water and sky
The settings icon at the very end of the
toolbar provides some of the most powerful
features in Kodu and impact both the
movement in and look of the world. Thus,
there are some settings that influence tone
and mood a great deal. Here are a few
settings that have an impact on mood and
tone, as well as the general creation of the
world.
Glass Walls is the default setting for all
game worlds and acts to contain the game play to the drawn environment. Without the
walls, characters can careen into the abyss outside the game world.
Show compass allows the user to understand which direction they are moving. This is
particularly important when users start moving characters and using arrow keys to drive
movement.
Wave Height adjusts the size of the waves in the game world
What You Can Expect from the Student Activity Depending on the grade of the student,
you might ask them to illustrate different
The landscape tools are particularly riveting for the geographical terms: hills, valleys,
students. Some students will spend hours building and mountains, peninsula, cliff, island, bay,
revising their environments to create a specific affect. isthmus, volcano, plateau, channel, etc.
In fact some of the kids will become so engrossed in
Kodu can also illustrate changes to
their world, they will put their efforts in landscaping as
landscapes: consider for instance,
opposed to character development, game strategy, illustrating erosion, landmass changes
plots and usability. It is important to remember that due to earthquakes and volcanoes,
people tend to compose and create in different ways. glacier activity, etc.
Consider writing; sometimes the intent of the author is
An interesting exercise for students may
for personal satisfaction over audience interest. This
be to create a topographic map of a
may also hold true for the students while working in
mountain(s), river, state, province or
Kodu. If you find that this is the case, it would be country, perhaps even illustrating the
beneficial to discuss these approaches to composition same land mass pre and post a
and intent as a class once you have entered into geological event.
discussions of characterization and plot.
Objectives: Create land with texture, add water, trees, rocks, etc.
Directions: We just went over the different tools for creating a landscape. It is your turn to
try it out. As you complete each of the following, check it off your list.
To Do Checklist:
Go to Empty World.
Create a landmass with:
At least two types of materials
Create rolling hills, mountains (with a white peak), and valleys
Challenge Level
After you have created your world, see if you can find where to change the mood and tone
of the game. Specifically, try changing some of the settings. Investigate the following
settings and note how they change the meaning of your world:
Wave height
Water strength
Sky
Lighting
Breeze
How do adjustments to the setting change the feeling of your world? Come prepared to
share your world with your classmates.
If the student demonstrates one of the above methods, be sure to suggest an alternative
method to show that the problem can be solved in multiple ways. Also be sure to have the
students read the code that precedes the new line that is entered. It is good for the students to
practice reading the syntax of the code.
Next go to Idyll KB. This game has a number of components from the lesson. Instead of playing
the game right away, have the students read the code either in small groups or collectively. If
they work in small groups and report back to the larger group, be specific about the code you
want them to look at: Kodu, the castles, the blimp, and tree.
If working with the entire class, start with the Koduthe code is fairly straight forward. While you
can go to Page 2 and read the code, pages will be covered in the next lesson. Now, run the
game. Ask the students what is happening in the game that they didnt see in the code. They
will likely notice that the castles disappear and create wisps. They will also notice the blimp
moving. And, they may also notice that points are accumulatingthis is programmed through
the tree. Go back and take a look at the code for each of these components. Of most interest to
us for this lesson are the castle and the blimp. Scoring will be covered in Lesson 6. A wisp is
also coded into the game as a creatable, but this feature will be covered in Lesson 4. Read the
code for the castle. Again, it is straight forwardwhen Kodu bumps the castle it releases a wisp
and it blows up. Next, read the code of the blimpthere is only a DO statement, no WHEN. Ask
the students what this means.
Reflection
Toward the end of class, ask the students to save Subject Area Link Science
and shut off their screens for a few minutes to
The path feature and the coding tiles
discuss what they found during their lesson. See if
Move /Toward and Fast/Slow in Kodu
they had similar problems and if solutions were could be particularly useful in animating
found. Discuss how they solved problems biological and physical happenings.
sometimes this entails trial and error, other times this
includes looking at code in the other programs. The Consider, for instance, animating the
tribulations of fish or turtle during their
activity is meant for students to share strategies.
migratory paths from sea (dodging
debris and fishing vessels) to locks and
fish ladders to natural predators.
Concepts like over fishing might easily
be put into a game format, too.
Directions: We just went over the tools for making characters move. It is your turn to try it
out.
As you complete each of the following, check it off your list. Check in with your instructor
once you are done or if you are having trouble.
To Do Check List:
Go to the landscape you created during the last session or to an existing game in Kodu.
For simplicitys sake, choose a world that has land of some sort.
Challenge Activity
After you have finished your TO DO for Activity 3, try your hand at Tutorial 02. See if you
can figure out how to program the motorcycle to move and fire using the keyboard and
mouse according to the instructions.
Also take a look at 3D Flare Paths to see how to make 3D representation and interesting
graphic affect.
Check out the action game Rock Fight v09 for an example of elevated paths. If you want
to play the game, you will need to convert it to a keyboard version of the game. Be sure to
change the entry screen for the user, directing them on what keys to use when playing the
game. You can change this screen by going to the Wrench icon in the main toolbar and
changing the Start Game With World Description. Also, when playing and analyzing the
game, think about how the path/ramps are used and add to the intensity of the game.
Start by asking students about their favorite books while defining some literary terms. For
instance, depending on the age of your students review the meaning of:
After or while you are talking about each of the above terms, project Turtle and Fish on the
screen for students to identify the main character, the opposing character and peripheral
characters. This can be particularly fun for students if one of them is in charge of the controller.
Another approach to talk about the literary elements might be for student to play Turtle and
Fish in small groups with a discussion of its elements afterwards.
See if the students might be able to identify a plot and background story. These last two literary
features will be a little less tangible for the students since plot structures varygame plots are
often flat making the various plot components harder to identify.
Exposition Ask the students about the story before the gameHow is the story set
up? How and why are the characters in opposition to each other? What
motivates characters?
Rising Action What moves the story forward? What events move the game forward?
Resolution Does the game supply a resolution or conclusion? And if not, how might
it?
Conclusion There isnt a conclusion, but students may brainstorm about how the
game might end.
Reflection
During the last 20 minutes of class, have the students share their worlds again. This time
perhaps have them share as a whole class. If possible, project games up on the screen and see
if the students can collectively find the beginnings of the antagonist, protagonist, and peripheral
characters. Through these discussions, the beginnings of plot structure may begin emerging. A
big question that may be asked in this dialogue is how scoring might be used to push the story
forward and add strategy to the gamecurrently Melvin the Turtle is just feeding the rocks back
to the fish and staying clear of electric flying fish.
If they finish this activity early, tell the students to feel free to explore the other worlds that
already exist in Kodu.
Objectives: add characters and brainstorm and perhaps begin implementing a plot structure.
Directions: In previous lesson, you created a landscape. If you havent added characters
yet to your landscape, now is the time to do that. Before you start adding or revising your
characters, give some thought to the way in which the characters interact.
Complete the TO DO list and discuss with your classmates the ideas you have. (Feel free to
consult Kodu to review its bot tiles for character ideas.)
To Do Check List:
Character Brainstorming
Protagonist (Main Character)
Who or what is your main character?
What motivates the character?
What are its likes and dislikes?
Does it have emotions?
How does it communicate with others?
Supplementary Activity
If your students are finding it hard to come up with an idea for their game worlds, consider
providing them with creative prompts. Below are set of first lines (some adapted) from literature.
Seeds of Creation
Kodu, having lost his way in a gloomy forest, and being hindered by wild beasts while ascending
a mountain, is met by a bot, who promises to show him three worlds
1. Once upon a time. It was a dark and stormy night.
Kodu was beginning to get very tired of sitting by the river with his sister, so.
The Koduians, after a seven years voyage, set sail for home, but are overtaken by a dreadful
storm. The storm sinks all the ships, except one. Their leader demands the storm to stop, and
the waters calm. But the winds have driven them off course to a land of friends and foes.
Kodu, obsessed with traveling through time, builds himself a time machine and, much to his
surprise, travels over 800,000 years into the future. The world has been transformed with a
society living in apparent harmony and bliss. But as Kodu stays in this world of the future he
discovers a hidden evil.
At the last red sunset, a black line of low hills showed up in the distance. I saw a creature in the
distance with its two
The villagers of Little Leatonia still called it the Riddle House, even though it had been many
years since the Riddle family had lived there. It stood on a hill overlooking the village, but not
looking as grand as it once did. All Leatonians thought the house was creepy since half a
century ago something strange and horrible happened there.
During the whole of a dull, dark, and soundless day in the autumn, when the clouds hung low in
the heavens, I had been passing alone through a depressing part of the country. Suddenly, I
found myself within view of the strange House of Unsure.
Now, said the king, I have faith in this quest. Knights of the Blue Guard depart. I am sure I will
never see all of you together again. Off now to the meadows of Galahad to save our people
from doom. Rest tonight since a long journey filled with strange and wondrous creatures and
places is in your future.
Directions: Complete the following questions and then hand in your thoughts.
Mood (whimsical, dark/brooding, does the pace of the game go up and down?)
Objects (do the trees, buildings, rocks, etc. hold a special function?)
Why would someone want to play the game? What will make it unique?
Although the students have likely been implementing strategic designs in their games, as well
as enacting strategies as they play each others games, they should be made aware of this
element of play. Strategy is the approach the player takes to win the game, and programming
strategy is designed by the game author to allow for varying ways for the game to be won or
lost. In any game, there are likely to be several ways for the game to be won.
Explain to them that many of the strategies the game designer included were intended to make
the game challenging and interesting. There are usually many ways to play a game, and while
luck often plays a role in winning or losing, strategy requires thinking through the best method to
an end goal. The more a game designer can anticipate and build in the strategies and provide
adjustments to make the action more or less intense, the more successful his or her game is
likely to be When establishing a strategy in a game, the designer might take into account the
abilities of the players avatar, the environment, the task, and the protagonist and peripheral
characters. . Talk with your students about the various ways strategy might be built within a
game. Use their past projects and the other games that they have been exposed to during the
course to talk about strategy.
Directions: In class you have been creating your own game worlds. Strategy, intensity,
mood and tone can always be improved.
Given what you have talked about in class, think about how your game can
be improved and the tone and mood might be changed.
Things to Consider:
Do you think the player has a fair chance in the gameis it winnable by skill or luck? If it
is more by luck then you may want to revise the game.
What are the strategies a player can use to work through your game?
Does the action of the game bring you into the game world?
Are music or sound effects used in the game? Are they overly annoying or do they create
tone or mood that engages the player?
This lesson will take advantage of contrasts between copying and Creatables, and it will use
frustration as a key window into learning. Creating armies, groups, hoards, gaggles, swarms,
etc., is easy in Kodu. However, giving individuals within the groups the same set of qualities is
not readily intuitive and can be time consuming when using the cloning feature alone. Usually,
students start by cloning (copying characters) and then soon become tired of programming the
same character attributes multiple times should they want to edit the groups behavior.
Creatables allow the user to make the change once, rather than multiple times as one would
have to do if they simply made copies of the character.
The in-class lesson will make them use the clone feature for the blimps and then try to modify
the behavior of the groupthis is not easily done because for the five blimps that they make,
they will need to change five different lines of code. As a response to this frustration, you will
then walk them through how to use Creatables in which code can be changed just once. Have
the students run the controls as you talk about what to do. As a whole class or in groups, have
the students follow the steps below.
Go to Blimps and Jets. You will notice that there is one blimp on one side of the field
and a jet on the other. The task of the class or small groups is to make a battle in which
the player controls either the blimps or the jets.
First, program the blimp. You will notice two lines of code for the blimp. The dramatic
music is coded to the blimp when it sees the jet at a distance, and the blimp glows when
it gets close to the jet. Program the blimp so it moves using the keyboard.
After you have revised the code for the blimp, make up to five clones/copies of it using
the right click on the mouse and selecting Copy. Put the cursor in the position where you
want the copy of the blimp to go and then right click again and choose Paste (Blimp).
Make four more blimps, using the Copy and Paste method.
Ask the class if there is a way in which to make it so you can just enter code in one
location. The answer is Creatables.
Once the new blimp is created, right click and select Change Settings. Find Creatable in
the list, and turn the setting on. Settings and scroll down the list to Creatables. Select
this option. Then, return to the blimp and copy it. If you put the cursor over one of the
blimps, a perforated line will appear between the two blimps, indicating that the blimps
are part of a creatable chain.
Note to students that they should not add too Interestingly, Kodu can also be used to
create a more naturalistic look. For
many characters to their games since it can
instance, think about schools of fish with
put the program in danger of crashing.
each school being its own Creatable set
programmed to wonder. Then within
each set, you can program a set of
attributes unique to the school of fish.
Directions: Follow the To Do below and have your instructor check out your progress
before moving onto the extra activity. This is a fairly open-ended activity so feel free to be
creative in your use of Creatables.
To Do Check List:
In a world you have already crafted or in a new game all together, add two or three sets
of characters, like we did with the two sets of blimps and the set of jets. (Creatables do
not necessarily need to march in unison. Use Move, Wonder to code a more naturalistic
affect.)
Extra Activity
If you finish and you have time to spare, check out Technique: Launching Creatables v02.
Note how the apple has to be made into a creatable in order for Kodu to launch it. Take the
apple away, and Kodu can launch nothing. Can you reason through why this would be?
Heres a list:
Pages
The stick directing the turtle to Koduwan is the first use of pages. The code changes the state of
stick from closed (page 1), which is its constant state, to open (page 2). Page 2 then expresses
another set of behaviors which run and then return to the initial state of closed (page 1) after a
certain amount of time. The second use of pages comes with the turtles approach of Koduwan.
Page 1 supplies a resting state for the Kodu. Page 2 activates a behavior, specifically Koduwan
turning and greeting the turtle. After three seconds, Page 3 is enlisted. It supplies another set of
text to carry the story along. After eight seconds, a wisp is created and given to the turtle as
Koduwan disappears in a boom.
This is a demonstration of how Pages workthey allow for a change in character behavior.
Often the change is triggered by an event within game play. For instance, eating an apple may
allow a character who is typically chased by another character to suddenly be the aggressor.
This change in behavior can be temporary or permanent depending on how the program is
coded. Pages can be added by entering Program, and then toggling to a different page by either
clicking L or R at the top of the Kodu window.
Extra Activity
On Page 2 write:
On Page 3 write:
Objectives: shift camera perspective, use close-by and far away, implement shift in
behavior using pages.
Directions: You have just looked at code and techniques for creating dramatic effects and
for crafting changes in behavior within a character. Now its time to practice.
To Do Check List:
Consider the three things you talked about during todays lessonclose-by and far away,
camera angles, and pages.
Explore the various games you have in your Kodu deck and how you might implement
the three operations within a single game. For instance, look at Chaotic Orbitals v3 and
code in a camera shift to first person, maybe by holding down the Spacebar. The camera
shift might also be initiated by bumping, come close to, eating, or grabbing the coin.
Now, add characters that change behaviors based on their interactions with each other or
objects in the world. To create this system of interactions, you may need time to
brainstorm and play with the tiles to see what is available to you. If you need assistance,
consider adding character and objects in Chaotic Orbitals v3 that have a resting state
(Page 1) and then are spurred on to another behavior based on interactions with other
characters.
Extra Activity
If you finish the above activity and want another program challenge, go to Technique,
Change Behavior. First play the game and see if you can win the game. Next, program the
game so that you view game play from the perspective of the cycle.
OR
To start, discuss with the class the concept of power ups. In all likelihood they will have a fairly
good grasp of how they operate. Basically, a character eats, grabs, bumps, etc. something that
gives it a special skill or ability for game advantageoften this is temporary. There are also
power downs which have the opposite effect. Technique: Change Behavior is an example of a
very simple power upby eating the apple, the bot is able to jump. This might be demonstrated
on the projector. Some students may have experimented with this game already.
Now, have the students explore two games that utilize power ups, at the same time they are
also connecting to scoring and health. Tell the students you want them to play each of the game
and identify the power up (or down) and also identify the code associated with each. After they
have played the games, have the students take turns demonstrating and talking about how the
power up operates in the game.
It is also important for the kids to start thinking critically about the games. For instance,
encourage them to play a Siskel and Ebert type dialogue to help facilitate the discussion. It
would be fruitful for them to talk about how the power ups/downs might be better implemented
and lend themselves to strategic game play. If they dont enter into this discussion readily,
consider asking how types of land, timers, allies, thieves, etc might play a role. No special
powers are associated with the acquisition of the coins, apples and hearts in these games,
which begs the question of how power ups and downs might be better implemented.
Health monitors do play a role in the games. Ask them how these add a second strategic
element beyond simple scoring.
Pandemica KBthe player needs to eat apples to accumulate points and be healed
Timer
The Timer can be used in a
myriad of waysbeating the clock
game scenarios to establish how
long a character/player either
does or does not have ammo, a
power or a tool. The latter can be
facilitated by working between
Pages (previous lesson), in which
the code of behaviors for a
character/player is bound within a
time limit.
Health Monitor
The Health Monitor is an
effective way to communicate
information to the player about his
or her character, as well as the
other characters in the field of
play. They can also facilitate
changes in behavior. For
instance, when the health of a
character falls below or above a
point limit the code might switch to
another set of behaviors that push
the game narrative or play
forward. Health can also be set in
comparison to a set point total or
another characters health points.
Game Creation
Have the students continue to develop their game
worlds. As they begin to develop them, encourage to Subject Area Link:
think about how health, timers, and point systems Math experts know that everything is
might work in their world. The students do not have mathor at least can be turned into
to include all these elements, especially if their game math. Kodu offers a number of ways in
is more narrative based, but they should begin to which an instructor can stress applied
think about how one of the elements might be mathematics while students craft
incorporated into their game worlds. behaviors and engage in design.
Do you think the player has a fair chance in the gameis it winnable by skill or luck? If it
is more by luck then you may want to revise the game.
What are the strategies a player can use to work through your game?
Does the action of the game bring you into the game world?
Are music or sound effects used in the game? Are they overly annoying or do they create
tone or mood that engages the player?
Directions: You have just looked at how power ups operate. You have also identified how
health monitors are applied to characters to activate another level of strategy within game
play. Now, it is your turn to implement power ups.
To Do Check List:
Use either your own game world or an existing world to create a system of power ups and
downs.
As you are considering how to initiate your system, think about how land, objects, and
other characters might be involved.
To add a layer of challenge, try to make the power up or down temporarymeaning put it
on a timer.
Extra Activity
As you and your peers develop games, play and offer feedback to each other. Your
instructor will be asking you to reflect on either your or anothers game and how strategy is
developed within it.
Create a new level for this lesson. You can call this Scoring Lesson. Use a simple landscape.
Add a Kodu and at least 4 cycles. Program Kodu to shoot on command. Kodu should score 5
points every time he shoots a cycle. You can create this code in front of students. Ask them
how many cycles you will need to add before Kodu can win the game (answer is 4). Now add an
enemy for Kodu that can damage it in some way. Add wisps that move randomly and subtract
points from Kodus score. Ask a volunteer to add these wisps. They will have to change the
program for Kodu so that his score changes when he is hit by the wisp. Ask them to change the
program for the wisps so that they are attracted to Kodu once he reaches 15 points. This will
make the game more challenging.
Have students play Bonk Out v.18 with their groups. After playing this game discuss if the
game was fun. Have them look at the code and discuss how the timer and points are used in
the game. Ask how the action of the game compares with other games that also use points,
health meters and timers. The key to understanding scoring is to notice that is not just a method
to track who wins and who loses, but it can also be a method to adjust behaviors and to
communicate.
Game Creation
Students will spend the remainder of the session working on their games for their final projects.
During the last half hour of class, have students share their work offering feedback to one
another.
Journal reflection
End the class with a short journaling exercise. Did you create your game with an audience in
mind? What types of people do you think would like your game most? Is your system of points
or a timer involved in the construction of the game? How are they used? Based on watching
others play your game and the feedback you have gotten, is your game too challenging or
easy? What makes you think so?
Directions: You will now see how to add scoring to your game you can use different
colored scores to track different things. Then, have an action in your game be taken based
on the value of a score.
To Do
Choose any game environment you want to compete the tasks below
Create a simple game in which points are given for doing certain thingslike eating,
bumping, holding/dropping, etc.
Design a situation in which a competitor either subtracts points from your score or has its
own score tally comprised of a different color
Code a system in which an action is taken or not taken based on a set of scores
Extra Activity
Student Presentations
This entire session will be devoted to student presentations. Outsiders (parents, game
developers in the community, other students) will be invited to come play the games that
students have created. This is a great opportunity for students to showcase and share the
games that they worked to create.
Program Overview.................................................................................................................. 3
Goals ...................................................................................................................................... 3
Session 3: Using Controller to Move Characters, Create Paths, and Set Behaviors... 18
Extra Activity......................................................................................................................... 33
Program Overview
This program has two components:
A single in-class session to be held for all 4th graders.
An 8 week, optional after-school program led by a Microsoft researcher. This program
will meet once a week.
Goals
Our goal is to expose students to computer programming in a fun environment, get them excited
about potential careers in computer science and allow them to create their own games.
More specifically, a
Attitudes
Have more positive attitudes towards computer science.
Better understand the steps involved in creating a computer program.
Have a greater desire to pursue careers and future classes in computer science.
Behaviors
Improve problem solving skills, especially on word problems.
Create increasingly complex games showing a deeper understanding for complex coding
sequences.
Other
Show evidence of practice perspective taking and empathy in game play.
Work together to create innovate solutions.
Both girls and boys will be excited about pursuing jobs in computer science.
Math and reasoning: Kodu has many uses and this curriculum focuses on using Kodu
programming sequences to solve simple word problems.
Journaling: Students in this program will keep journals. They will record information about
games they would like to create, things they found difficult and what they liked. Each day,
students will be encouraged to write.
Xboxes: Most educational programs to date are designed for PCs. Here we use Xboxes and
encourage students to make multiplayer games. This will also encourage group work.
Grades: 4-6
The goal of the after school program is to track long term attitude and behavioral change with a
smaller group of students. There will be 8 total sessions and students will be given a survey at
the beginning and end of the program. The curriculum below describes sessions in depth.
Sessions include studio pedagogy with mini-lessons interspersed to move the students along in
their discovery of the tools while enacting collaborative, problem solving practices. Towards the
end of the session, students will work in teams on a longer-term project to create a game. The
end of the unit will culminate with student presentations of these games to peers, parents and
Microsoft employees.
In Class Session
Teaching programming concepts in a single session can be challenging but goals of a single
session program should be modest. We suggest that single sessions aim to pique students
interest in Kodu and programming concepts. This curriculum is divided into two parts. First, we
provide a tutorial and student activity in which objects and simple programming concepts are
introduced. Next, time permitting, educators can use the second half of this curriculum Editing
Your World where landscape creation and editing are discussed. Both aspects of game
creation are typically quite interesting to students and we suggest that both concepts be
introduced time permitting.
Students will use a survey and solve a programming task in groups. This session will be led by
a Microsoft Researcher and a classroom instructor. Two classes of fourth graders at Benjamin
Franklin Elementary School will take part in the in class session. Students will be offered the
opportunity to take part in the more extensive after school session.
Kodu Description
The core of the Kodu project is the programming user interface. The language is simple and
entirely icon-based. Programs are composed of pages, which are broken down into rules, which
are further divided into conditions and actions. The Kodu language is designed specifically for
game development and provides specialized primitives (the nouns, adjectives, and verbs of the
language) derived from gaming scenarios. Programs are expressed in physical terms, using
concepts like vision, hearing, and time to control character behavior. Kodu can express
advanced game design concepts in a simple, direct, and intuitive manner.
Lastly, studio pedagogy allows a space for students to discuss their work and receive
feedbackthis process is integrated throughout the game creation process rather than
sequestering the activity at the end of a draft (as in the traditional writing process) or at the end
of product creation. There are several ways of establishing this in the class. One way is to have
students work in small groups in which each takes a turn discussing his or her projects
intentions, challenges, and successes while others give warm and constructive feedback.
(Often, this needs to be modeled.) Another implementation strategy might include, regular whole
class exhibitions during which students peruse the games at various stages in development and
ask questions of other students projects (Again, this strategy would likely need to be modeled.)
(What do you think about the heading: Basic Navigation and Kodo Principles)
Session 3 Using the controller to move characters, creating paths, setting behaviors
Navigate the Kodu macro environment and use the Xbox Controller
Understand the foundational principles of programming
Access the programming mode of Kodu, potentially adjusting simple code for a specific
purpose
Basic Navigation
Before having the students log on to Kodu, it is useful to quickly walk them through the game
creation environment. Here are some of the main navigation concepts in the game:
Main Menu: This is the first screen you will see after loading Kodu. If you have played games
before, the top menu item will be Resume. Selecting this will reload the last world you had
open and start playing (PlayMode). If you want to select a new game, you can Load World.
Load Level Menu: Across the center of screen is a list of saved worlds. You can scroll through
the list using the left and right shoulder on the controller. Select the world you are interested by
pressing the button. Although it is possible to create worlds from scratch, Kodu comes with a
number of pre-built worlds. These worlds come with land and may also include pre-programmed
characters. In this lesson we will start by modifying a pre-built world.
Play Mode: Each world starts in the Play Mode. You can toggle between Play and Edit mode
using the back button on your Xbox Controller.
Edit Mode: To enter into EditMode, you must press the back button. EditMode is where you will
probably be spending most of your time. You know you are in EditMode because you can see
Mini Hub: You can get here by pressing Play. The Mini Hub will let you go back to the world
youre currently working with, save your current world and any changes you made, load another
existing world, start with a completely blank work or go back to the Main Menu.
Class Play
At this point, let your students explore Kodu Games themselves and allow them to do some
game playing so they understand the controller. Observe what they are playing and take note of
any navigation issues they are having. Regroup at the end of the session asking the students to
Exit the game and turn off their screens in order for them discuss what they found in Kodu and
tricks of navigation. Maybe create a list of favorites and list of tricks on the board to track the
dialogue.
Materials:
3 red apples (balls or some other colored object will do)
2 green apples
1 bag
1 or 2 blind folds
To help organize their commands inform them that the character only listens to you, so they
need to filter the commands and ask for clarification should something be vague or difficult to
Student: Fast.
As the scenario transpires, it might be helpful to write the commands on the board, so the class
can easily recall. Once a coherent set of commands are established, put your Kodu in motion.
Begin the class by opening the world you just created; Demo1. Ask the students to observe the
cycles behavior. Have volunteers explain what the cycle is doing.
Now, show the students the program that is running this set of behaviors for the cycle. Ask the
students to describe what the code is telling the cycle to do (it should be the same set of actions
as above). After students successfully explain the code, ask volunteers to modify the code for
the following set of behaviors. When appropriate, have the student who made the suggestion
come modify the code in front of the class and explain why their solution did or didnt work.
Journal Reflection
After the students work through Activity 1, tell the kids to save their projects, and turn off their
monitors. Explain that students keep a record of their progress in their journals. Students may
not write about the suggested topics, but this is an important time for them to practice writing.
Journal entry: What makes a computer game fun? Discuss journal entries. Also:
Game Creation
In the first hour of each session, students will learn programming techniques. In the last half-
hour they will work on their long-term projects. There will be a short portion of the curriculum
each week devoted to these projects. The game creation portion of the curriculum also devotes
some time to less structured activity in class.
Start this game creation session by discussing the long-term project. Students should get
familiar with their group. This is a good time to discuss the idea video games, like books
sometimes tell stories. Ask students to describe some of the stories in their favorite video
games. Tell them that when they create their game, it will also tell a story and they can decide
what that story will be.
Protagonist Cycle 1
Antagonist Cycle2
Side Characters Saucer, Sputnik1, 2, 3 & 4 (note: These might not be considered characters
because they dont move. You can discuss this together.)
Plot
Exposition Ask the students about the story before the gamehow is the story set up?
How and why are the characters in opposition to each other? What motivates
characters? (Cycle 2 is trying to throw rocks at Cycle1. Cycle 1 should bump
into the Sputniks because they create hearts which give him life. The mine
also takes away health. The saucer creates hearts and mines.)
Rising Action What moves the story forward? What events move the game forward?
(Collecting hearts from the sputniks, the mine)
Climax What seems to be the climax in this game? (Interaction with the mine)
Resolution Does the game supply a resolution or conclusion? And if not, how might it? (If
you score above 150 green points you win the game)
Objectives
Add object, change color, select object, create sequential program for object
Directions
We just went over some of these steps. Now work with your groups to complete each of the
following, check it off your list. Make sure each member solves at least one TO DO. Check
in with your teacher once you are done or if you are having trouble.
To Do Check List
Open the world Small with water.
Add an apple. Make this apple blue.
Add Kodu to your level.
Make Kodu find the apple that you just added.
Make Kodu eat the apple once he finds it. (Hint: You may also need to tell Kodu to avoid
the water.)
Then, you are free to play. Try to add other objects to this level adjust Kodus behavior and
change the environment. Remember to work with your team. Ask for help if you need it.
Challenge Activity
As a challenge activity, go to Tutorial 01 v3 and do what the Kodu asks. Also, see if you
can reprogram the castle to behave in a different way once it is bumped, and try to figure
out how the camera can follow Kodu on its trek to the castle.
Journal Reflection
In the second half of the course, students will be working with teams of 3-4 to create games.
They should describe in their journals the mood that they want to create when they make their
game. What mood do they want to make? Do they play any games right now that have
interesting moods? Discuss entries as a group.
Game Creation
Students will have already written about the games they would like to create in their journals.
Now, ask them to create sketches of these landscapes using pen and paper. They should
create sketches in their journals. Ask them to select one team members sketch that they want
to actually use as their final game. They can always modify this. Motivated teams can start to
create their landscapes in Kodu.
Making Landscape
Directions: We just went over the different tools for creating a landscape. It is your turn to
try it out. As you complete each of the following, check it off your list. Check in with a teacher
once you are done or if you are having trouble.
To Do
Go to Demo1.
Create a landmass with:
At least two types of materials
Create rolling hills, mountains (with a white peak), and valleys
Make an island or two off the coast of your land
Add water as either a river, lake, ocean or all of the above
Create a magical forest somewhere in your landscape (You can define magical in any way
you want. There are number of objects to choose from: trees, rocks, stars, coins, etc.)
Challenge Level
After you have created your world, see if you can find where to change the mood and tone of
the game. Specifically, try changing some of the settings. Investigate the following settings and
note how they change the meaning of your world:
Wave height
Water strength
Sky
Lighting
Breeze
How do adjustments to the setting change the feeling of your world? Come prepared to share
your world with your classmates.
One way to move Kodu is using sensors. In this case movement is automated. To use sensors,
the code would be
When: see, castle (or building) far away Do: move toward quickly
To control the movements of Kodu (or drive Kodu), the programming sequence would be
If the student demonstrates one of the above methods, be sure to suggest an alternative
method to show that the problem can be solved in multiple ways.
Also be sure to have the students read the code that precedes the new line that is entered. It is
good for the students to practice reading the syntax of the code.
Next go to Idyll v6. This game has a number of components from the lesson. Instead of playing
the game right away, have the students read the code collectively. Start with the Koduthe
code is fairly straight forward. (Note: In the PC version of Kodu, you may need to make several
edits to clean up the code. The game changes over time but these tutorials are not necessarily
updated.) While you can go to Page 2 and read the code, pages will be covered in the next
lesson.
Now, run the game. Ask the students what is happening in the game that they didnt see in the
code. They will likely notice that the castles disappear and create wisps. They also notice the
blimp moving. And they may also notice that points are accumulatedthis is programmed
through the tree. Go back and take a look at the code for each of these components. Of most
interest to us for this lesson are the castle and the blimp. Scoring will be covered in Lesson 6. A
wisp is also coded into the game as a creatable, but this feature will be covered in Lesson 4.
Journal Reflection
After the student activities, discuss as a class how students solved the TO DOs in their
activities. See if they had similar problems and if solutions were found. Discuss how they solved
problemssometimes this entails trial and error, other times this includes looking at code in the
other programs. This is also a good time to check whether they are working in groups.
Afterwards, ask students to take time to write about what they learned during the lesson in their
journals.
Game Creation
Students may have already begun to work on their landscapes for the game that they are
creating as a team. Now it is time to think about characters and the narrative. Have them
complete the following brainstorming task. They should brainstorm with their groups and they
may want to write in their journals. They can start to add a program objects in their game once
they have developed their plan but they must come up with the plan first.
Task: After you have answered the above questions, start putting the objects in game you
started creating earlier. If the setting that you made doesnt seem to fit your characters, revise it
or chose a new landscape to alter or build.
To Do
Go to the landscape you created during the last session or to an existing game in Kodu.
For simplicity sake, choose a world that has land of some sort.
Extra Activity
After you have finished your TO DO for Activity 3, try your hand at 3D Flare Paths to see
how to make 3D representation and interesting graphic effect.
Check out the action game Rock Fight v09 for an example of elevated paths. When playing
and analyzing the game, think about how the path/ramps are used and add to the intensity
of the game.
The in-class lesson will make them use the clone feature for the blimps and then try to modify
the behavior of the groupthis is not easily done because for the five blimps that they make,
they will need to change five different lines of code. As a response to this frustration, you will
then walk them through how to use creatables in which code can be changed just once. Have
the students run the controls as you talk about what to do. Follow the steps below.
You will need to create a new level Blimps and Jets. To do so, create an empty world with a
blimp on one side of the landscape and a jet on the other. Name this level Blimps and Jets.
Go to your new level, Blimps and Jets. The task of the class is to make a battle in which
one player controls the blimp and a second player controls the jets. The two can either
work together to defeat a common enemy or they can be in opposition. It is up to you.
First, program the blimp. Ask a volunteer to put the ring under the blimp and look at the
code. Program the blimp so it moves forward quickly by using the left stick.
After you have created the blimp, make up to five clones of it using the right trigger when
the blimp is glowing blue.
Demonstrate this by making a second set of blimps that operate automatically without
user input. Have the student put the new set of blimps somewhere else. Make the blimp
green or another color to distinguish it from the first set.
Next, press X Settings and scroll down the list to Creatables. Select this option.
Now, go back to the main programming state and clone this blimp. Point out that lines
appear between blimps.
Journal Reflection
Consider the game that you will be creating for your final project. Describe the following
characteristics:
Directions: Follow the To Do below and have your instructor check out our progress before
moving onto the extra activity. This is a fairly open-ended activity so feel free to be creative
in your use of creatables. Make sure you create an activity that everyone can play.
To Do
In a world you have already crafted or in a new game all together, add two or three sets
of characterslike we did with the two sets of blimps and the set of jets. (Creatables do
not necessarily need to march in unison.
Make sure that your program uses the move/wander code to craft a more naturalistic
effect.)
Establish a character or group of characters that are controlled by a second player. You
will need a second controller to test the game out. Another person on your team should
be able to test out the second player.
Now make your game 3 or 4 players depending on how many people are in your group.
You should have a game that everyone can play.
Extra Activity
If you finish and you have time to spare, check out Technique: Launching Creatables v02.
Note how the apple has to be made into a creatable in order for Kodu to launch it. Take the
apple away, and Kodu can launch nothing. Can you reason through why this would be?
Heres a list:
Turtlewe control, acquires wisp shooting ability by interaction with Kodu
Stickinforms the turtle (the user) that Koduwan has been waiting
Koduinstills power and disappears
Wispsgiven to turtle as a power
Castlesunleash mines that shoot
Heartscreatable that act as food
Minesmove randomly and shoot at Kodu
Factoryacts as the object that triggers the end
Pushpadinforms the turtle what to do
In order to get groups to cooperate, assign each student at least one object or character to
evaluate. They should be tasked to reporting back to the group how the object or character is
coded. Using the projector, have them present each of their findings. Pay particular attention to
pages, and to how nearby, far away, and camera shifting are used.
To help guide the discussion, consider how in Vendura, objects and characters provide the
player with an understanding of whats going on. They act as directions for what to do next.
However to create the effect of shifting action, pages are necessary. Pages help shift behaviors
either based on time or in reaction to some occurrence.
Pages
The stick directing the turtle to Koduwan is the first use of pages. Its use changes the state of
stick from closed (page 1) which is its constant state to open (page 2) to express another set of
behaviors which run and then return to the initial state of closed (page 1) after a certain amount
of time.
Camera Shift
Also, point out how the camera perspective shifts Camera Modes
when the turtle hovers on the red land square. When
playing, this shift in perspective seems to be caused Fixed position: This option keeps the
by the turtles approach to Koduwan. This is an camera from moving at all while you are
playing. This is good for arcade style
effective use of land and camera to jar the user into a
games that require an overhead view.
suspended like state. Camera positioning is an
The view will be different on widescreen
effective tool for the creation of a particular effect. display.
Third person- Players exist within the game world- which is less immersive. Feels like you
are right behind the character or looking over their shoulder.
Game Creation
Have students work with their groups to set the camera mode in their game. They will use their
journal responses to determine what camera angle would be most appropriate. First, they
should set the default camera mode. Next they should set the camera mode for your characters
(if they have not done this already). Ask students to think about how this affects story line.
Make sure they discuss this in their groups.
Directions: You have just looked at code and techniques for creating dramatic effects and
for crafting changes in behavior within a character. Now is your time to practice.
To Do
Consider the three things you talked about during todays lessonclose by and far away,
camera angles, and pages.
Then explore the various games you have in your Kodu deck and how you might
implement the three operations within a single game. For instance, look at Chaotic
Orbitals v3 and code in a camera shift to first personmaybe by holding down the A
button. The camera shift might also be initiated by bumping, come close to, eating, or
grabbing the coin.
Now add characters that change behaviors based on their interactions with each other or
objects in the world. To create this system of interactions, you may need time to
brainstorm and play with the tiles to see what is available to you. If you need assistance,
consider adding character and objects in Chaotic Orbitals v3 that have a resting state
(Page 1) and then are spurred on to another behavior based on interactions with other
characters.
Extra Activity
If you finish the above activity and want to another program challenge, go to Technique,
Change Behavior. First play the game and see if you can win the game. Next, program the
game, so that you view game play from the perspective of the cycle.
Now have the students explore three games that utilize power ups with their groups. Tell the
students you want them to play each of the game and identify the power up (or down) and also
identify the code associated with each. After they have played the games, have the students
take turns demonstrating and talking about how the power up operates in the game.
It is also important for the kids to start thinking critically about the games. For instance,
encourage them to play a Siskel and Ebert routine perhaps to facilitate the discussion. It would
be fruitful for them to talk about how the power ups/downs might be better implemented and
lend themselves to strategic game play. If they dont enter into this discussion readily, consider
inquiring how types of land, timers, allies, thieves, etc might play a role. No special powers are
associated with the acquisition of the coins, apples and hearts in these gameswhich begs the
question of how power ups and downs might be better implemented. Health monitors do play a
role in the games. Ask them how these add a second strategic element beyond simple scoring.
Rock Fight the player needs to grab hearts for ammo and looses points for shooting;
the health monitor goes up has hearts are grabbed and down as ammo is released.
Shadow Hunterthe player needs to eat coins and as it does so, the health of the player
goes up.
Game Creation
Today the game creation activity should come before the journal reflection. Students will play
and critique the games others are working on. Its OK if teams are not completely finished but
they should feel OK about presenting their games.
Do you think the player has a fair chance in the gameis it winnable by skill or luck? If it is
more by luck then you may want to revise the game.
What are the strategies a player can use to work through your game?
Does the action of the game bring you into the game world?
Is music or sound effects used in the game? Are they overly annoying or do they create
tone or mood that engages the player?
Directions
You have just looked at how power ups operate and can potentially do so. You have also
identified how health monitors are applied to characters to activate another level of strategy
within game play. Now, it is your turn to implement power ups.
To Do
Use an existing world to create a system of power ups and downs.
As you are considering how to initiate your system, think about how land, objects, and
other characters might be involved.
To add a layer of challenge, try to make the power up or down temporarymeaning put it
on a timer.
Extra Activity
Look at how the timer is used in Tutorial 3 v.1. To do this you will have to view the program
for the saucer. How is this use of the timer different from using the timer for a power up or
down? Although there is no health meter being used in the game and although it is not the
usual power up and down structure, there is a system of penalty? How is it enacted? What
might be the strengths of using this type of penalty system?
Create a new level for this lesson. You can call this Keep Score. Use a simple landscape. Add
a Kodu and at least 4 cycles. Program Kodu to shoot on command. Kodu should score 5 points
every time he shoots a cycle.
It is a useful exercise to add this code in front of students. Ask them how many need to be
added before Kodu can win the game (the answer is 4). Now add saucers that move randomly
and subtract points from Kodus score. A volunteer can add these saucers. The volunteer will
have to change the program for Kodu so that his score changes when he is hit (bumped) by the
saucer (When bump saucer do subtract 5 points). This will make the game more challenging.
Have students play Bonk Out v.18 with their groups. After playing this game discuss if the game
was fun. Have them look at the program for each character and discuss the scoring in the
game. The group should answer this question in class: How do you win the game?
Journal Reflection
Did you create your game with an audience in mind? What types of people do you think would
like your game most? After the journal reflection, have a discussion about the importance of the
user in game design.
Game Creation
Students will use the feedback that they received from their peers to make edits to their games.
Directions: Each member of your group should solve one of the TO DOs. Check off each
TO DO as you complete the task.
To Do
Choose any game environment you want to compete the tasks below
Create a simple game in which points are given for doing certain thingslike eating,
bumping, holding/dropping, etc.
Design a situation in which a competitor either subtracts points from your score or has its
own score tally comprised of a different color
Code a system in which an action is taken or not taken based on a set of scores
Extra Activity
Work with your group to add a Pushpad to the level you are working on. Your pushpad
should create a saucer every 0.5 seconds. How do fractions work in Kodu? What happens
when you add the tile random?
Student Presentations
This entire session will be devoted to student presentations. Outsiders (parents, game
developers in the community, other students) will be invited to come play the games that
students have created. This is a great opportunity for students to showcase and share the
games that they worked to create.
Note to Teachers
The goal of this curriculum is to reinforce math concepts and introduce programming concepts
through the use of an interactive game development environment. While this curriculum is
intended for students who have had a previous exposure to the topics listed above, it can also
be adapted to provide a first experience with those concepts.
These lessons are ideally paced and not all the material in a lesson may be covered in the
allotted time. This curriculum acknowledges that teachers are professionals and will use these
lessons as a guide, adapting and prioritizing the pace and content when needed.
There are extension opportunities throughout the curriculum which serve as additional
experiences to explore math or Kodu programming concepts.
Please use the video tutorials to review the Kodu programming experience for yourself and feel
free to make them available to your students as a resource.
Duration: 10 lessons
Overview
In this module students will examine how to use the Kodu programming environment to create
simulations and games to explore mathematical problems and examine relationships among data.
The Kodu environment provides an accessible and age-appropriate user interface to allow students
to create and interact with objects within a three-dimensional world to study algebraic and geometric
concepts. In addition, students will learn some of the core concepts in programming and game
design, such as conditional execution of statements and object-oriented programming. The
objectives in this curriculum module are geared towards 4th and 5th grade math courses and are
correlated to the National Council of Teachers of Mathematics (NCTM) Principles and Standards for
School Mathematics
Enduring Understandings
Computer simulations provide an interactive method for examining functional relationships
within a problem.
Algebraic equations can be used to describe functional relationships among different variables
Two-dimensional and three-dimensional shapes have geometric properties (such as length,
width, area, and perimeter) that are related to one another and are measured using different
units.
Coordinates are used as a system to describe the location, direction, and distance between
points or objects.
Data is collected and analyzed using calculations (such as mean, median) and tables in order
to derive conclusions about the data.
Collaboration within a team and communication to the intended audience is a vital aspect of the
mathematical process.
Essential Question(s)
How are problem situations modeled, represented, and analyzed to draw conclusions?
What are the different ways to compare and measure the properties of objects and their
relationships?
How is data collected, organized, and communicated?
What are effective techniques for teamwork?
Lesson 1
When given incremental changes in Describe, extend, and make
the area of a square, students will generalizations about geometric
describe and analyze the pattern using and numeric patterns.
math sentences and relationships. (NCTM - Algebra, Gr. 3-5)
When given a condition and Represent and analyze patterns
consequence, students will represent it and functions, using words, tables,
as a When...Do... statement in Kodu. and graphs.
When given a control scheme, (NCTM - Algebra, Gr. 3-5)
students will program their Kodu Model problem situations with
character to respond according to the objects and use representations
specifications. such as graphs, tables, and
equations to draw conclusions.
(NCTM - Algebra, Gr. 3-5)
Represent, analyze, and generalize
a variety of patterns with tables,
graphs, words, and, when possible,
symbolic rules.
(NCTM - Algebra, Gr. 6-8)
Lesson 2
When given the length, width, and Identify such properties as Perimeter
height measurements for commutativity, associativity, and
quadrilaterals, students will create a distributivity and use them to
three-dimensional object from two- compute with whole numbers.
dimensional representations. (NCTM - Algebra, Gr. 3-5)
When given a three-dimensional Identify, compare, and analyze
quadrilateral, students will measure its attributes of two- and three-
length, width, and height using unit dimensional shapes and develop
blocks. vocabulary to describe the
When given a multiplication problem, attributes.
students will describe the effect of (NCTM - Geometry, Gr. 3-5)
multiplying whole numbers and define Build and draw geometric objects.
multiplication in their (NCTM - Geometry, Gr. 3-5)
Develop, understand, and use
formulas to find the area of
rectangles and related triangles
and parallelograms.
(NCTM - Measurement, Gr. 3-5)
Lesson 4
When given a change to a shape, Develop understanding of fractions Creating
students will describe the change as a as parts of unit wholes, as parts of Shapes
fraction of the original shape. a collection, as locations on According to
When given a three-dimensional number lines, and as divisions of
Specifications
quadrilateral, students will measure its whole numbers.
length, width, and heightusing a (NCTM Numbers and Operations,
coordinate plane. Gr. 3-5)
Use models, benchmarks, and
When calculating the surface area of a
equivalent forms to judge the size
three-dimensional quadrilateral,
of fractions.
students will generalize and extend the
(NCTM Numbers and Operations,
pattern by using mental math
Lesson 5
When given a scenario, students will Identify, compare, and analyze Obstacle
design a computer simulation to attributes of two- and three- Course
represent the situation, analyze the dimensional shapes and develop Construction
resulting data, and display the data in a vocabulary to describe the
table or graph. attributes.
When given an objects properties such (NCTM Geometry, Gr. 3-5)
as length, width, height, surface area, Identify and build a three-
volume, and location, students will dimensional object from two-
represent that object as a three- dimensional representations of that
dimensional shape in a coordinate object.
plane. (NCTM Geometry, Gr. 3-5)
Develop strategies to determine the
surface areas and volumes of
rectangular solids.
(NCTM Measurement, Gr. 3-5)
Understand such attributes as
length, area, weight, volume, and
Lesson 6
When given an objects properties such Identify, compare, and analyze Placing Items
as length, width, height, surface area, attributes of two- and three-
volume, and location, students will dimensional shapes and develop
represent that object as a three- vocabulary to describe the
dimensional shape in a coordinate attributes.
plane. (NCTM Geometry, Gr. 3-5)
When given an object, students will Identify and build a three-
place that object at pre-designated and dimensional object from two-
student-determined locations in a dimensional representations of that
coordinate plane. object.
When given a condition and (NCTM Geometry, Gr. 3-5)
Develop strategies to determine the
consequence, students will represent it
as a When...Do... statement in Kodu. surface areas and volumes of
rectangular solids.
(NCTM Measurement, Gr. 3-5)
Understand such attributes as
length, area, weight, volume, and
size of angle and select the
appropriate type of unit for
measuring each attribute.
(NCTM Measurement, Gr. 3-5)
Describe location and movement
using common language and
geometric vocabulary.
(NCTM Geometry, Gr. 3-5)
Make and use coordinate systems
to specify locations and to describe
paths.
(NCTM Geometry, Gr. 3-5)
Lesson 8
When given an increase in target Describe location and movement Student
items, students will design an using common language and Activity -
investigation to determine the effect on geometric vocabulary. Double the
the time it takes to complete the (NCTM Geometry, Gr. 3-5)
Items
retrieval of the items. Make and use coordinate systems
When given code templates, students to specify locations and to describe
will code their own specific actions by paths.
using the template as an example. (NCTM Geometry, Gr. 3-5)
Create and describe mental images
of objects, patterns, and paths.
(NCTM Geometry, Gr. 3-5)
Design investigations to address a
question and consider how data-
collection methods affect the nature
of the data set.
(NCTM Data Analysis and
Probability, Gr. 3-5)
Collect data using observations,
surveys, and experiments.
(NCTM Data Analysis and
Probability, Gr. 3-5)
Lesson 10
When given a complete product, Organize and consolidate their
students will showcase their work and mathematical thinking through
reflect on their learning. communication.
(NCTM Communication, Gr. 3-5)
Communicate their mathematical
thinking coherently and clearly to
peers, teachers, and others.
(NCTM Communication, Gr. 3-5)
Recognize and apply mathematics
in contexts outside of mathematics.
(NCTM Connections, Gr. 3-5)
Standards
Describe, extend, and make generalizations about geometric and numeric patterns.
(NCTM - Algebra, Gr. 3-5)
Represent and analyze patterns and functions, using words, tables, and graphs.
(NCTM - Algebra, Gr. 3-5)
Model problem situations with objects and use representations such as graphs, tables,
and equations to draw conclusions.
(NCTM - Algebra, Gr. 3-5)
Represent, analyze, and generalize a variety of patterns with tables, graphs, words, and,
when possible, symbolic rules.
(NCTM - Algebra, Gr. 6-8)
Mastery Objectives/Results
When given incremental changes in the area of a square, students will describe and
analyze the pattern using math sentences and relationships.
When given a condition and consequence, students will represent it as a When...Do...
statement in Kodu.
When given a control scheme, students will program their Kodu character to respond
according to the specifications.
Student Resources
Clock Buddies (pdf)
Teacher Resources
Camera View Tutorial (video)
* This foundational tutorial demonstrates how to change the camera perspective.
Vocabulary
area
pattern
1. Tell students to fill out their clock buddies sheets in order to have a ready set of partners to
work with. In clock buddies, students set up partnerships with a number of students.
Student A will go to student B and ask them if they have a 12 o'clock spot open. If student B
does, then they will exchange names on their sheets.
The teacher will call out what clock buddy to work with when assigning a task involving
pairs.
1 1 12 1
10 2
9 3
8 4
7 5
6
2. Show students the Main Page of Kodu, how to navigate the menu, and what each option
represents:
Resume: opens the game that was edited last Pair Programming
by the user. If the user opens this window, the This curriculum utilizes a collaborative
last game that was programmed or opened work method called pair programming.
will appear. To back out of this window, click
Pair programming is an industry-based
the House icon and then select Exit to Main
technique in which two people work at
Menu. one computer together.
Load World: opens a series of games from Each person has a different role. One
which the user can select. The games can be person (called the driver), types in code,
perused by using either the arrow keys or while the other person (the observer),
clicking the on screen arrows with the mouse. reviews the code as it is entered.
To go back to the Main Menu, users press
In the case of Kodu, one student will be
Escape.
using the controller or keyboard to
Options: provides the user with the ability to create/edit land and program objects,
while the other student reviews the work
change some broad level features of the
and makes comments.
game. To navigate this list, users either press
the arrow keys or hover the mouse cursor over The roles switch after a teacher-
the green arrows on the screen. Escape will designated time.
bring the user back to the Main Menu.
Pair programming has been shown to
Help: offers a quick explanation of Kodu. increase student enjoyment,
Users press Escape to exit this menu. engagement, and quality of work.
7. Tell students that you will now create a square that has two blocks on each side.
Demonstrate the creation of a 2 x 2 square by changing the brush size.
9. Explain to students that the space available for placing objects is called area.
10. Ask students to calculate the area of the 2 x 2 square. Have them record the area in a table
like the one below:
11. Tell the students that you want to add more Kodu characters and objects, therefore you will
need to add more area to the world.
12. Change the brush size to 3 x 3. Before creating this next square, pause and allow the brush
to overlap the previous square for a while. Ask students to use this display to predict what
the size of the next square will be. Some students may notice that the area increases by the
next odd number with each new square. Allow students to come up with various ways to
predict the new area without judgment.
13. Make an area that is 3 x 3 and ask students to record the new area (9).
14. Create a growing squares pattern up to 10 x 10 by continuing to create larger and larger
squares and have students record the area of each square by counting the blocks that make
up the square. They should end up with a table like this:
17. The growing squares pattern allows students to 2. Click the When section and click
articulate a generalization such as "How does this keyboard. Note to the students that a
pattern work for squares of other sizes?" Students Kodu can also be programmed to
in grade 3 or 4 should be able to predict the next move using the Xbox 360 controller.
element in a sequence by looking at a specific set 3. Click the Do area and click move.
of examples. By grade 5 or 6, students should be
able to generalize by reasoning about the structure 4. Now exit the current view and go
of a pattern, such as "the area of a square with side back to the world by pressing Esc.
N is N x N".
18. Reflection
a. Ask students to describe the patterns below and determine the next number in the
sequence:
- 1 3 5 7 ___
- 0 20 40 60 ____
- 1 1 2 3 5 8 _____
Standards
Identify such properties as commutativity, associativity, and distributivity and use them to
compute with whole numbers.
(NCTM - Algebra, Gr. 3-5)
Identify, compare, and analyze attributes of two- and three-dimensional shapes and
develop vocabulary to describe the attributes. (NCTM - Geometry, Gr. 3-5)
Build and draw geometric objects.
(NCTM - Geometry, Gr. 3-5)
Develop, understand, and use formulas to find the area of rectangles and related triangles
and parallelograms.
(NCTM - Measurement, Gr. 3-5)
Mastery Objectives/Results
When given the length, width, and height measurements for quadrilaterals, students will
create a three-dimensional object from two-dimensional representations.
When given a three-dimensional quadrilateral, students will measure its length, width, and
height using unit blocks.
When given a multiplication problem, students will describe the effect of multiplying whole
numbers and define multiplication in their own words.
Student Resources
Lesson 2 - Student Activity - Perimeter (doc)
Teacher Resources
Lesson 2 - Student Activity Key - Perimeter (doc)
Vocabulary
commutative
length
perimeter
quadrilateral
width
Activator (5 minutes)
Directions
2. Use the length and width to calculate the perimeter of each shape.
Length 4m Length 6m
Width 3m Width 3m
Perimeter 14 m Perimeter 18 m
Length 6m
Width 4m
Perimeter 20 m
Length 6m
Width 6m
Perimeter 24 m
Width N/A
Perimeter 22 m
Directions
2. Use the length and width to calculate the perimeter of each shape.
Length Length
Width Width
Perimeter Perimeter
Length
Width
Perimeter
Length
Width
Perimeter
Standards
Identify such properties as commutativity, associativity, and distributivity and use them to
compute with whole numbers.
(NCTM - Algebra, Gr. 3-5)
Develop strategies for estimating the perimeters, areas, and volumes of irregular shapes.
(NCTM - Measurement, Gr. 3-5)
Develop, understand, and use formulas to find the area of rectangles and related triangles
and parallelograms.
(NCTM - Measurement, Gr. 3-5)
Understand such attributes as length, area, weight, volume, and size of angle and select
the appropriate type of unit for measuring each attribute.
(NCTM Measurement, Gr. 3-5)
Understand the need for measuring with standard units and become familiar with standard
units in the customary and metric systems.
(NCTM Measurement, Gr. 3-5)
Mastery Objectives/Results
When given a measure of length, width, height, surface area, perimeter, and volume,
students will describe the property with the appropriate standard units.
When calculating the volume of a three-dimensional quadrilateral, students will
demonstrate computational fluency, by using the associative property of multiplication.
When given an irregular shape, students will determine the shape's area and volume.
Student Resources
Lesson 3 - Student Activity - Area and Perimeter (doc)
Teacher Resources
Lesson 3 - Student Activity Key - Area and Perimeter (doc)
Vocabulary
cube
volume
Activator (5 minutes)
1. Display the following shape properties and have students write the unit used to measure each
property. They will choose from m, m2, and m3.
area
length
volume
width
height
perimeter
2. Display a 3D quadrilateral in Kodu. The term for a 3D square is cube, while the proper term
for a 3D rectangle is rectangular cuboid. Students should not need to know the latter term.
3. Explain that length, width, height, and perimeter can be measured in meters, where one unit is
one meter (m). Feet can be a substitute for meters if it is the unit of measure the class is
studying.
4. Explain that area is measured in m2 because there are two numbers used to calculate it
(length and width).
5. Explain that volume is measured in m3 because there are three numbers used to calculate it
(length, width, and height).
6. Create and display a shape such as a 4 x 6 x 2 island in Kodu. Point to different parts of the
shape and ask students to calculate the length, width, height, area, surface area, perimeter,
and volume of the object.
7. When students calculate the volume, ask them if (4 x 6) x 2 is the same as 4 x (6 x 2), where
the last operation is done first.
8. Describe this phenomena as the associative property of multiplication.
9. Create a 2 x 2 square in Kodu. Ask students for the area and the perimeter.
10. Have students complete the Area and Perimeter student activity.
Conclusion (5 minutes)
12. Discuss how measurements are affected when one attribute to be measured is held constant
and another is changed.
a. Ask students, "What was the area for each shape?"
b. Ask students, "What was the perimeter for each shape?"
c. Ask students, "Why did the area stay the same but not the perimeter?"
Directions
1. You will work with a teacher-designated clock buddy for this assignment and use pair
programming rules to cooperate with one another. Your teacher will tell you when it is time
to switch roles.
4. After creating a shape, calculate its area and perimeter. Record these next to each shape
using the proper units.
5. When you are done with the shapes, answer the brief constructed response.
Area 16 m
Perimeter 16 m
Area 16 m
Area 16 m
Perimeter 18 m
Perimeter 20 m
Area 16 m
Perimeter 24 m
Directions
1. You will work with a teacher-designated clock buddy for this assignment and use pair
programming rules to cooperate with one another. Your teacher will tell you when it is time
to switch roles.
4. After creating a shape, calculate its area and perimeter. Record these next to each shape
using the proper units.
5. When you are done with the shapes, answer the brief constructed response.
Area
Perimeter
Area
Area
Perimeter
Perimeter
Area
Perimeter
Can shapes with the same area have different perimeters? Support your answer with data from
the table. Use the back of the sheet if you need more space.
Standards
Develop understanding of fractions as parts of unit wholes, as parts of a collection, as
locations on number lines, and as divisions of whole numbers. (NCTM Numbers and
Operations, Gr. 3-5)
Use models, benchmarks, and equivalent forms to judge the size of fractions. (NCTM
Numbers and Operations, Gr. 3-5)
Recognize and generate equivalent forms of commonly used fractions, decimals, and
percents. (NCTM Numbers and Operations, Gr. 3-5)
Develop fluency with basic number combinations for multiplication and division and use these
combinations to mentally compute related problems, such as 30 50. (NCTM Numbers and
Operations, Gr. 3-5)
Describe, extend, and make generalizations about geometric and numeric patterns. (NCTM
Algebra, Gr. 3-5)
Identify, compare, and analyze attributes of two- and three-dimensional shapes and develop
vocabulary to describe the attributes. (NCTM Geometry, Gr. 3-5)
Identify and build a three-dimensional object from two-dimensional representations of that
object. (NCTM Geometry, Gr. 3-5)
Develop strategies to determine the surface areas and volumes of rectangular solids. (NCTM
Measurement, Gr. 3-5)
Mastery Objectives/Results
When given a change to a shape, students will describe the change as a fraction of the
original shape.
When given a three-dimensional quadrilateral, students will measure its length, width, and
height using a coordinate plane.
When calculating the surface area of a three-dimensional quadrilateral, students will
generalize and extend the pattern by using mental math techniques involving multiples of ten.
When given changes to the length and width of a quadrilateral, students will describe and
calculate the effect the changes have on surface area, perimeter, and volume.
Student Resources
Lesson 4 - Student Activity - Creating Shapes According to Specifications (doc)
Teacher Resources
Lesson 4 - Flying Blimp (Kodu file)
Vocabulary
face
surface area
volume
Lesson Sequence
Activator (5 minutes)
2. Explain that the area of all of the surfaces combined is called surface area.
3. Explain that todays goal is to examine surface area and how it is affected when a shape is
divided.
9. Do the first question together and show students Right-click on the blimp and select
how to program a flying character to move and drop Program.
objects. Statement 1:
10. This task will serve as a pre-requisite for creating
Click the When section and click
the layout of the final project: a game in which a
Kodu must navigate through an obstacle course of keyboard.
various shapes in order to find items in a certain Click the Do area and click move.
amount of time.
Statement 2:
Click the When section and click
keyboard.
Click the plus sign after the keyboard
tile and select misc, and then select
Space.
Click the Do area and click actions, and
then create.
Click the plus sign after the create tile
and select apple.
Directions
1. You will work with a teacher-designated clock buddy for this assignment and use pair
programming rules to cooperate with one another. Your teacher will tell you when it is time
to switch role s.
4. You might also be asked to calculate some of the shape's properties. Remember to use
proper units.
6. If you are done early, experiment with your world by adding trees, clouds, and other objects
or programming the object to perform actions.
Extension: Create a flying character that will visit the different areas you created and drop an
object such as an apple or coin when the space button is pressed. Use the following code:
Prerequisite skills
Locate points on an x,y coordinate plane
Standards
Identify, compare, and analyze attributes of two- and three-dimensional shapes and develop
vocabulary to describe the attributes.
(NCTM Geometry, Gr. 3-5)
Identify and build a three-dimensional object from two-dimensional representations of that
object.
(NCTM Geometry, Gr. 3-5)
Develop strategies to determine the surface areas and volumes of rectangular solids.
(NCTM Measurement, Gr. 3-5)
Understand such attributes as length, area, weight, volume, and size of angle and select the
appropriate type of unit for measuring each attribute. (NCTM Measurement, Gr. 3-5)
Describe location and movement using common language and geometric vocabulary.
(NCTM Geometry, Gr. 3-5)
Make and use coordinate systems to specify locations and to describe paths.
(NCTM Geometry, Gr. 3-5)
Mastery Objectives/Results
When given a scenario, students will design a computer simulation to represent the situation,
analyze the resulting data, and display the data in a table or graph.
When given an objects properties such as length, width, height, surface area, volume, and
location, students will represent that object as a three-dimensional shape in a coordinate plane.
Student Resources
Obstacle Course Mini-Game (doc)
Lesson 5 - Student Activity - Obstacle Course Construction (doc)
Teacher Resources
Obstacle Course Complete (Kodu file)
Video Tutorial Placing and Sizing an Obstacle
Vocabulary
coordinate
simulation
Activator (5 minutes)
a. Students will use their pencil to draw paths to navigate an obstacle course.
b. They are to draw lines from the starting point to each target and then come back to the
starting point.
2. Explain to students that the game they just played represents a common problem people have in
deciding which paths are the most efficient between different locations. This might be similar to
the way students travel the hallways to and from classes or how someone decides the order of
errands to perform. Explain that they will be simulating this situation as a video game in Kodu.
3. Explain that todays goal is to create an obstacle course composed of the 3D quadrilaterals that
they have been studying recently. The shapes will be designed according to detailed
specifications.
4. Show students the game demo and focus on the following aspects:
- Kodu
- tree
- apples
- timer
e. the extra decorations and objects that compose the world
5. Tell students to load a new world. They should immediately save the world and give it a title.
They may name their game whatever they wish, but it should reflect the nature of the game.
6. Tell them that their world will start as a 20 x 20 grid located at (0,0) similar to a coordinate
plane. It is important that they place their grid at (0,0) so that they can accurately place the rest
of the obstacles. They should change the brush size to 20 x 20 and place the grid such that
the bottom left corner of the grid is at (0,0).
7. Tell the students that all of the obstacles will be placed in the same manner, by the bottom left
corner.
8. Give students time to create their initial grid and walk around to help them. It is important that
they keep an overhead camera view throughout the grid placement process.
9. Students will be able to alter the grid dimensions later. Most students will want to add more
land to their world. In addition, the land does not need to be a square. An initial 20 x 20 grid
size allows for enough space to place the specified obstacles.
10. The rest of the class should be spent creating the required obstacles as detailed in the
specification sheet.
11. Do the first obstacle with the students. Review how to:
f. calculate the perimeter, surface area, and volume of the resulting shape. In this case, the
bottom does not count in
the total surface area
because it is not
exposed.
The students should finish calculating the perimeter, surface area, and volume of their obstacles if
they did not finish in class.
Directions: Use a pencil to draw paths to navigate the obstacle course. You are to draw lines
from the starting point through each target and then come back to the starting point.
Directions
1. You will work with a teacher-designated clock buddy for this assignment and use pair
programming rules to cooperate with one another. Your teacher will tell you when it is time
to switch roles.
2. Start a new world and create a grid that is at least 20 x 20 and is placed so that the bottom
left corner is at (0,0).
4. Place a small tree in the bottom right corner of the grid. This will mark the origin (0,0).
6. You will be asked to calculate some of the shape's properties. Remember to use proper
units.
7. You will have the option of choosing the location and dimensions of some of your obstacles.
8. If you are done early, decorate your game by adding trees, clouds, other objects, and
additional obstacles. If you do choose to add more obstacles, you must record their data in
the table below by adding more rows.
Specifications
Obstacle Location Length Width Height Perimeter Surface Area Volume
A (5,5) 1 1 4
B (10,15) 2 2 5
C (11,0) 3 3 6
D ( , )
E ( , )
F ( , )
Additional
Additional
Standards
Identify, compare, and analyze attributes of two- and three-dimensional shapes and develop
vocabulary to describe the attributes.
(NCTM Geometry, Gr. 3-5)
Identify and build a three-dimensional object from two-dimensional representations of that object.
(NCTM Geometry, Gr. 3-5)
Develop strategies to determine the surface areas and volumes of rectangular solids.
(NCTM Measurement, Gr. 3-5)
Understand such attributes as length, area, weight, volume, and size of angle and select the
appropriate type of unit for measuring each attribute. (NCTM Measurement, Gr. 3-5)
Describe location and movement using common language and geometric vocabulary.
(NCTM Geometry, Gr. 3-5)
Make and use coordinate systems to specify locations and to describe paths.
(NCTM Geometry, Gr. 3-5)
Mastery Objectives/Results
When given an objects properties such as length, width, height, surface area, volume, and
location, students will represent that object as a three-dimensional shape in a coordinate
plane.
When given an object, students will place that object at pre-designated and student-
determined locations in a coordinate plane.
When given a condition and consequence, students will represent it as a When...Do...
statement in Kodu.
Student Resources
Lesson 6 - Student Activity - Placing Items (doc)
Teacher Resources
Obstacle Course - Stage 1 (Kodu file)
*This world contains a Kodu, obstacles, and a tree.
Vocabulary
conditional
Activator (5 minutes)
1. Tell students to write 2-3 pieces of advice they would give to other students who are creating
the Kodu obstacle course made of shapes.
3. Tell students that they have finished creating their obstacles and will now place their apples,
and then program the apples to score a point and disappear when touched.
4. Placing an apple
a. Open up Obstacle Course - Stage 1. This world contains the obstacles, but not the apples.
b. Show students how to select an apple and place it at an example location (3,3).
b. Tell students that since they want the apple to do two different actions when it is touched by
a Kodu, they will need two WHEN-DO statements.
c. Ask students to describe the WHEN-DO statements required to tell the apple to score a
point and disappear when touched by the Kodu.
10. Tell students that they will have to repeat the same procedure above for at least 5 apples total.
(Wait for groans)
11. Now tell students that there is a way to copy the object along with its code.
14. The apple will appear and contain the same code as the initial apple.
Directions
1. You will work with a teacher-designated clock buddy for this assignment and use pair
programming rules to cooperate with one another. Your teacher will tell you when it is time
to switch roles.
2. In your game, your character will navigate through the obstacle course and find items. You
may choose what type of item (apple, coin, etc.) that your character will pick up.
4. You may choose the location of some of the items yourself, but you must record the location
in the table below.
5. If you are done early, decorate your game by adding trees, clouds, and other objects.
Specifications
Item Location
A (0,5)
B (10,5)
C (15,15)
D ( , )
E ( , )
F ( , )
Additional
Additional
Standards
Describe location and movement using common language and geometric vocabulary.
(NCTM Geometry, Gr. 3-5)
Make and use coordinate systems to specify locations and to describe paths.
(NCTM Geometry, Gr. 3-5)
Mastery Objectives/Results
When given multiple target locations and obstacles, students will plot and model the shortest
paths between the locations using a computer simulation.
When given a set of locations, students will determine different routes to visit all of the
locations and determine the efficiency of each route by measuring the duration of travel.
When given a game goal, students will time how long it takes to achieve the goal and display
the time as a countdown.
Teacher Resources
Obstacle Course - Stage 2 (Kodu file)
*This world contains a Kodu, obstacles, a tree, and items.
Vocabulary
path
Lesson Sequence
Activator (5 minutes)
1. Create an obstacle course in your room consisting of desks, chairs, tables, or just tape.
2. Place an item in the obstacle course and mark out a starting point.
a. Students may answer that the path with the shortest distance is best. Ask them how they
would measure the shortest distance.
5. Tell students that the goal of todays lesson is to model this scenario using our Kodu worlds.
They will create a timer to record how long it takes people to travel to the target items.
6. Select the Kodu tool and right-click on the tree. Select Program.
7. Program the tree to act as a timer. (Note: The tree doesnt have to contain the code for the
timer, any object in the world can)
a. Add a tile to the WHEN section by clicking on the plus sign. Select the timer tile.
b. Add a tile after the timer tile by clicking on the plus sign. Select the 1 second tile.
c. Add a tile to the accompanying DO section by clicking on the plus sign. Select the score
tile.
d. Add a tile after the score tile by clicking on the plus sign. Select the 1 point tile. (Here
the score represents seconds that have passed since the start of the game)
e. Multiple scores can be shown at one time. Currently, the apples increase the score when
they are touched and are displayed as a red score by default. The tree code should display
the timer in a different color.
f. Add a tile after the 1 point tile by clicking on the plus sign. Select the scores tile and
then the blue tile.
8. Program the game to stop the timer (and the game) when the Kodu has reached all of the
items.
a. Select the Kodu tool, right-click on the tree, and select Program.
b. Add a tile to the WHEN section by clicking on the plus sign. Select the scored tile.
c. Add a tile after the scored tile by clicking on the plus sign. Select the points tile and then
the number of points corresponding to the number of items in your world.
e. When the Kodu scores the required number of points, the timer will stop, and Winner will
be displayed. At this point the time can be recorded.
Standards
Describe location and movement using common language and geometric vocabulary.
(NCTM Geometry, Gr. 3-5)
Make and use coordinate systems to specify locations and to describe paths.
(NCTM Geometry, Gr. 3-5)
Design investigations to address a question and consider how data-collection methods affect
the nature of the data set.
(NCTM Data Analysis and Probability, Gr. 3-5)
Mastery Objectives/Results
When given an increase in target items, students will design an investigation to determine the
effect on the time it takes to complete the retrieval of the items.
When given code templates, students will code their own specific actions by using the
template as an example.
Student Resources
Lesson 8 Student Activity Double the Items (doc)
Obstacle Course Cannon and Rock (Kodu file)
*This world contains a Kodu, obstacles, a tree, items, a timer, a cannon, and a rock.
Teacher Resources
Obstacle Course - Stage 3 (Kodu file)
*This world contains a Kodu, obstacles, a tree, items, and a timer.
Lesson Sequence
Activator (5 minutes)
2. Ask: How does the game change if there are even more items to pick up?
3. We want to investigate a new scenario in which there are more errands to run represented by
more apples placed in more locations.
5. Students will also get some free time to express themselves creatively in their worlds before
showing their games to their friends.
7. Tell them to save their world, but give it a different name signifying the different version. There
is also a version chooser in the top right corner of the Save menu.
8. Select the Kodu tool and right-click on one of the apples. Select Copy.
11. Students should record the new items in their student activity sheet.
a. When the Kodu bumps into a rock, the Kodu gets stunned
b. A cannon wanders around the world. When the Kodu bumps into the cannon, the Kodu will
explode and the game will end.
14. Give students time to edit their worlds by using the examples learned in the demonstration.
The demonstration code is contained in an example Kodu world named Obstacle Course
Cannon and Rock.
Specifications
Item Location
G ( , )
H ( , )
I ( , )
J ( , )
K ( , )
L ( , )
Additional ( , )
Additional ( , )
77
Standards
Design investigations to address a question and consider how data-collection methods affect
the nature of the data set.
(NCTM Data Analysis and Probability, Gr. 3-5)
Represent data using tables and graphs such as line plots, bar graphs, and line graphs.
(NCTM Data Analysis and Probability, Gr. 3-5)
Use measures of center, focusing on the median, and understand what each does and does
not indicate about the data set.
(NCTM Data Analysis and Probability, Gr. 3-5)
Propose and justify conclusions and predictions that are based on data and design studies to
further investigate the conclusions or predictions.
(NCTM Data Analysis and Probability, Gr. 3-5)
Mastery Objectives/Results
When given a task, students will sample a population to collect performance data on the task.
When given a set of data, students will use measures of center such as the mean and
median, to describe the data set.
Student Resources
Kodu Obstacle Course Demo World (Kodu File)
Lesson Sequence
Activator (5 minutes)
1. Have students review how to calculate the average of the following number sets:
a. 5, 7, 2, 3, 3 (average = 4)
b. 6, 4 (average = 5)
c. 12, 13, 10, 13 (average = 12)
2. Tell students that they will be collecting data on how quickly people complete their obstacle
courses when the number of apples to pick up increases.
3. Students will recruit at least 4 students from outside their group to play their game. The
students will play two versions of the game. One version will have x items to pick up, while the
other version will have 2x items. In this lesson we will use 5 and 10 items.
4. Tell the students to hypothesize how long it will take students to collect 5 items and then 10
items. Have them calculate the difference between the two hypothesized times.
5. Ask: Do you think it will take it will take double the time to collect double the items? Why or
why not? . They will later include their hypotheses and answers in an analysis of the project.
6. They will collect the completion times for each version of the game in a table similar to the one
below:
7. They will then perform calculations on the data and create a table like the one below:
8. The students will answer the following questions in their student activity sheet to report the
results of their data collection. It is up to the teachers discretion whether to assign the data
analysis as group or individual work. They may have to finish this for homework.
a. What was your hypothesis for how long it would take to collect 5 and 10 items?
c. Did you think it would take double the time to collect double the items? Why or why not?
d. What was the actual average difference in times between picking up 5 or 10 items? Was
this what you expected? Why or why not?
e. Explain why you think the difference in times was what it was.
f. What other experiment(s) would you perform to further investigate your conclusions?
Directions: Pick four students to play two different versions of your game. In one version there
will be x items to pick up, and the other version will have 2x items. Complete the headings in
the tables below by filling in the number of items you have in each version. Hypothesize the
average time it will take your peers to complete each version of your game. Collect the data
and calculate the averages. Analyze the data to see if it turned out the way you expected it.
Name Time to collect ___ items (s) Time to collect ___ items (s) Difference in times (s)
1. What was your hypothesis for how long it would take to collect 5 and 10 items?
3. Did you think it would take double the time to collect double the items? Why or why not?
4. What was the actual average difference in times between picking up 5 or 10 items? Was
this what you expected? Why or why not?
5. Explain why you think the difference in times was what it was.
Lesson Sequence
Activator (5 minutes)
1. List 5 things you have learned from the Kodu Math Module
3. Have each student group read their data analysis to the class.
4. Also have each group describe any unique aspects of their game.
6. Students should display their work at their computers and place a piece of paper next to
their computer to allow for comments.
7. Students will walk around trying out each others games and make positive comments on
the comment sheets.
Day 1: 4 hours
Day 2: 4 hours
Day 3: 4 hours
Standards References
MTLSS Maryland Technology Literacy Standards for Students (MTLSS Grade level. Standard.
Topic. Objective. Sub-Objective)
CSTA Computer Science Teachers Association Level III National Standards Draft - October
2006 (CSTA Level. Topic. Objective)
Essential Question(s)
What is a computer program?
What are the roles of objects in an object-oriented game?
How can you learn how to do things by editing already created work?
Enduring Understandings
A computer program is a sequence of instructions written in a programming language
designed to perform a task.
Objects in a game are like actors in a play; they are both programmed to act based on input.
(When Do)
Analyzing and editing a pre-existing product can teach you how the product was created.
2. Learners will work in pairs. One will be the robot, the other
will be the programmer. The programmer will be given three
30 min different situations. Their partners playing the robot will
play/act out the part of the Robot. These program
commands are based on When Do statement will be the
only thing robot understands
Part 1: Each student given a sign that has a word like when,
do, see, hear, bump, Kodu.. etc. They get into groups of 10
and have to program a behavior using each person. They
arrange themselves in order.
2 hours 6. When given a description of a scenario, the student will Given a problem statement,
design an accurate, graphical storyboard that visually write a natural language
represents the sequence of scenes in the scenario. procedure for solving the
problem. (CSTA 3.1.1)
Activity: Create a multi-panel storyboard depicting a tennis
video game. The different panels should show different
The use of symbols,
screenshots from the entire game from beginning (title
measurements, and drawings
screen) to end (victory screen).
promotes a clear
Situation: The Washington Kastles want to introduce the communication by providing a
game of tennis to elementary school kids in the DC area. common language to express
They have hired you to design a game based loosely on the ideas. (ITEA STL-17.K)
rules of tennis to excite kids about tennis and promote the
Kastles team. They have provided you with information and Use design tools (such as
a tour of their facility to inspire you. They have a few flowcharts or UML diagrams)
requirements though: to express a solution to a
problem. (CSTA 3.1.2)
Two player
Colorful
Must have some object bouncing and the two
players must hit the ball back and forth
Go over judgment criteria
Essential Question(s)
How do you write a program so that it can make decisions?
How do you repeat instructions efficiently?
7. When given a task requiring a decision with alternative Write programs that use simple
results, the student will implement a conditional control and complex logic statements
structure to decide what action will be executed. (Kodu: (relational operators and Boolean
Switch to a different page of code)
operators). (CSTA 3.3.1)
Essential Question(s)
How can a program interact with a user?
How can a game teach a concept?
8. When given the description of an interactive video game, the Technological systems
student will pick appropriate user input events (controller include input, processes,
buttons) to represent and trigger tasks to be performed in the output, at times, feedback.
video game.
(ITEA STL-2.M)
9. (Done as demo) When given an existing project, the student Invention is a process of
will be able to innovate it with interaction by adding at least turning ideas and imagination
two user input events. into devices and systems.
Innovation is the process of
Activity: The students are given a pre-made Kodu project
that does not contain user input event-handling. They must modifying an existing product
identify two behaviors in the code that can be initiated by or system to improve it. (ITEA
10. When given the program requirements for an interactive Solve a problem by applying
tennis game, the student will build a game that uses various a problem-solving process
control structures, methods, and user input events. and translate the solution into
a program that uses
Situation: The Washington Kastles want to introduce the
appropriate data types and
game of tennis to elementary school kids in the DC area.
control structures. (CSTA
They have hired you to build a game based loosely on the
3.1.3)
rules of tennis to excite kids about tennis and promote the
Kastles team. They have provided you with information and The development of
a tour of their facility to inspire you. They have a few technology is a human
requirements though: activity and is the result of
individual and collective
Two player needs and the ability to be
Colorful creative. (ITEA STL-1.G)
Must have some object bouncing and the two Requirements are the
players must hit the ball back and forth parameters placed on the
development of a product or
Go over judgment criteria system. (ITEA STL-2.R)
Brainstorming is a group
problem-solving design
process in which each person
in the group presents his or
her ideas in an open forum.
(ITEA STL-9.G)
Assessing Usage
We suggest that these surveys are administered at two time points:
Unique Identifiers
We cannot collect personally identifying information about the children taking part in the study,
however, we would like to link childrens responses. Please give each child a unique identifier
(e.g., an 8 digit number or a text alias) that they can use for each survey. It is important that
they use the same identifier on each survey.
Contact Us
If you need help with assessment you can send this survey along with anonymous student
surveys to:
Kodu Team
Redwest-C/ 1225
One Microsoft Way
Redmond WA 98052
4. How many hours each day do you spend playing video games (on your computer or on
your game console)? (check one)
None, I dont play video games.
Less than one hour
1-2 hours
3-4 hours
More than 5 hours
5. Have you ever taken a computer programming class before? (check one)
Yes
No
The next questions use scales. For each question rate how much you agree by circling a
number from 1-7.
1 2 3 4 5 6 7
Strongly Strongly
Neutral
disagree agree
Do you think computer programming is: (For each question rate how much you agree by
circling a number from 1-7.)
Strongly Strongly
Neutral
disagree agree
9. Creative 1 2 3 4 5 6 7
10. Difficult 1 2 3 4 5 6 7
11. Easy 1 2 3 4 5 6 7
12. Fun 1 2 3 4 5 6 7
13. Interesting 1 2 3 4 5 6 7
14. Nerdy 1 2 3 4 5 6 7
15. Boring 1 2 3 4 5 6 7
16. Frustrating 1 2 3 4 5 6 7
17. Cool 1 2 3 4 5 6 7
Something
18. 1 2 3 4 5 6 7
Id be good at
20. Would you be interested in having a job in computer science one day? (circle a number)
1 2 3 4 5 6 7
Never Unsure Definitely
21. Video games are built by a lot of different people who have a lot of different jobs. What
do you think the role of the computer programmer is in making the video game?
22. What steps do you think are involved in creating a video game?
Instructions: You are about to complete the follow-up survey. We will ask you about your
use of Kodu and again about your attitudes towards computer programming. You may see
some questions that you already answered in Survey I. Again, if you are not sure about a
response, just do your best to answer with what you are thinking right now. There are no
correct responses. Keep in mind that it is OK to skip any questions that you do not feel
comfortable answering. Thank you for using Kodu.
2. How much of your time was spent creating versus playing games in Kodu? (check one)
All of my time was spent creating games; I didnt play games at all.
Most of my time was spent creating games rather than playing games.
I spent equal amounts of time creating and playing games.
Most of my time was spent playing games rather than creating games.
All of my time was spent playing games; I didnt create games at all.
3. How did you learn to create games in Kodu? (check all that apply)
I taught myself.
I learned from my group.
I learned from the student teachers.
My parents taught me at home.
I learned from the instructor.
Other_____________________________.
Strongly Strongly
Neutral
disagree agree
Strongly Strongly
Neutral
disagree agree
Strongly Strongly
Neutral
disagree agree
Not
Some A lot
much
10. I know a lot about History. (circle a number)
1 2 3 4 5 6 7
Not
Some A lot
much
Strongly Strongly
Neutral
disagree agree
12. Creative 1 2 3 4 5 6 7
13. Difficult 1 2 3 4 5 6 7
14. Easy 1 2 3 4 5 6 7
15. Fun 1 2 3 4 5 6 7
16. Interesting 1 2 3 4 5 6 7
17. Nerdy 1 2 3 4 5 6 7
18. Boring 1 2 3 4 5 6 7
19. Frustrating 1 2 3 4 5 6 7
20. Cool 1 2 3 4 5 6 7
Something Id
21. 1 2 3 4 5 6 7
be good at
22. If your school offered a computer science class next year, do you think you would take it?
(circle a number)
1 2 3 4 5 6 7
23. Would you be interested in having a job in computer science one day? (circle a number)
1 2 3 4 5 6 7
24. Video games are built by a lot of different people who have a lot of different jobs. What do
you think the role of the computer programmer is in making the video game?
25. What steps do you think are involved in creating a video game?
Before usage: This survey is intended to be taken before you start the Kodu program.
We are interested in your expectations.
After usage: This survey is meant to be taken three months after the Kodu program.
These questions are focused on your experience with Kodu and its educational impact in
your classroom.
Instructions: This survey is designed to assess your past use of technology and your goals
for the Kodu program. We will use your responses to improve the Kodu program in the
future. Select the best possible response.
5. Have you introduced computer programming concepts to students before? (check one)
Yes
No
No, but other educators have
No, I am unsure if the students primary educators have
6. Which of the following do you anticipate will be most difficult for you: (check as many as apply)
Learning programming concepts
Pacing the program appropriately
Reaching students of all ability levels
Using the Xbox controller
Assessing student learning
Keeping students engaged
Other_________________.
The next questions use scales. For each question rate how much you agree by circling a
number from 1-
1 2 3 4 5 6 7
Strongly Strongly
Neutral
disagree agree
11. On average, the students in this program have access to technology. (circle a number)
1 2 3 4 5 6 7
Strongly Strongly
Neutral
disagree agree
12. There was more interest in the Kodu program than in other similar programs at this school. (circle a
number)
1 2 3 4 5 6 7
Strongly Strongly
Neutral
disagree agree
Do you anticipate Kodu will help your students improve the following skills: (For each question rate how
much you agree by circling a number from 1-7. If unsure, circle the question mark.)
Strongly Strongly
Neutral Unsure
disagree agree
Computer
13. 1 2 3 4 5 6 7 ?
Programming
14. Math 1 2 3 4 5 6 7 ?
Problem
15. 1 2 3 4 5 6 7 ?
Solving
Computer
16. 1 2 3 4 5 6 7 ?
Skills (general)
17. Writing 1 2 3 4 5 6 7 ?
18. Art 1 2 3 4 5 6 7 ?
19. Empathy 1 2 3 4 5 6 7 ?
Modeling
21. 1 2 3 4 5 6 7 ?
simulations
24. What was the most difficult part about setting up the Kodu program?
Instructions: You are about to complete the follow-up survey. We will ask you about your
students use of Kodu and your overall impressions. If you are not sure about a response
just select the option that is the best match.
4. On average how much time did students spend playing versus creating games on Kodu? (circle a
number)
1 2 3 4 5 6 7
All time
All time playing Half/half
creating
5. On average how much time did students spend working in groups? (circle a number)
1 2 3 4 5 6 7
6. On average how much of the program was spent giving formalized instructions versus in unstructured
exploration? (circle a number)
1 2 3 4 5 6 7
Strongly Strongly
Neutral Unsure
disagree agree
7. Top of academic
1 2 3 4 5 6 7 ?
performers.
Middle half of
8. 1 2 3 4 5 6 7 ?
academic performers.
Bottom of academic
9. 1 2 3 4 5 6 7 ?
performers
14. Other___________. 1 2 3 4 5 6 7 ?
Did Kodu help your students improve the following skills: (For each question rate how much you agree by
circling a number from 1-7. If unsure, circle the question mark.)
Strongly Strongly
Neutral Unsure
disagree agree
Computer
15. 1 2 3 4 5 6 7 ?
Programming
16. Math 1 2 3 4 5 6 7 ?
Problem
17. 1 2 3 4 5 6 7 ?
Solving
Computer
18. 1 2 3 4 5 6 7 ?
Skills (general)
19. Writing 1 2 3 4 5 6 7 ?
20. Art 1 2 3 4 5 6 7 ?
21. Empathy 1 2 3 4 5 6 7 ?
22. Group work 1 2 3 4 5 6 7 ?
Modeling
23. 1 2 3 4 5 6 7 ?
simulations
25. If you were to offer this program again, what would you do similarly?