Welcome to keyboard version of the Curriculum for Kodu (keyboard version)! What follows is a resource for using Kodu as part of a class, after school program, or summer camp. This provides a basic scope and sequence intended to introduce instructors and students to the Kodu application, and basic computer programming concepts, and it suggests ways that Kodu might be used to complement traditional curriculum.
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:
Better understand the steps involved in creating a computer program
Show evidence of perspective taking and empathy in game play
Collaboratively work to create innovative solutions
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.
We suggest that the best way to teach Kodu is through studio pedagogy with mini-lessons interspersed throughout as a means to move the students along in their discovery of the tools while enacting collaborative, problem solving practices. Note, however, the environment in which Kodu is presented, along with the pedagogical inclinations of the facilitators, might require a looser or tighter structure. In short, the instructor should take what track she or he feels best suits the class and his or her teaching style. Our goal is to help address the many ways that students respond to technology—some like to be directed in their advancement and others tend to forge ahead, experimenting through trial and error. There is room for both types of student in this curriculum.
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.
Problem Solving Culture
To help facilitate deliberate mistake-making, students should be continually reminded that they, as a collective, hold the keys to problem solving. “Three-before-me” is a technique used to assist students in collaborative problem solving conversations –simply put, if students can’t figure out an issue they ask three other students before coming to the instructor. Another method is writing problems on a “Post It” and posting them to a collective space where students share and answer each other, much like a digital discussion board. As students answer questions with another electronic “Post-It,” the questions move to solved side of the board.
A Culture of Critique
Studio pedagogy allows a space for students to discuss their work and receive feedback—this 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 project’s 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.
We suggest that you use the studio format at least once a week if you meet daily. We also suggest that the class close with a discussion that outlines the successes and challenges from that day’s session—this can be directly related to Kodu issues or to more general in-class processes and classroom climate issues.
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.
Exhibition of Student Work
We advise that you end your Kodu unit with an exhibition of student work. Students can introduce their games to an audience of peers, parents and other adults. For added interest, consider coming up with the components of a successful game with the students. This can be used as the criteria for evaluating the games.
Working with the Keyboard and Mouse
Kodu was originally designed with the user playing and editing worlds using an Xbox controller. Being aware that controllers may be cost prohibitive for many schools, community centers and households, Kodu developers created the keyboard version of the software. However, most of the game worlds within Kodu still require the controller to play them since they have not yet been converted. This can pose some issues when users start working with the program. At the same time, it also forces users to make the game worlds work for them by editing the code.
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.
Kodu Curriculum Scope and Sequence
Session 1 Navigating, Intro to Programming Concepts, Adding Objects