Tangible Programming and Role Play Program Execution for Kids

The data analyzed is based on an activity where a group of eight ten-year-old children, with only minor previous experience of computer programming, collaboratively performed the execution of a game. The computational rules were represented as robots that the children enacted. The setting allowed two kinds of activities to be conducted, both of which had interesting consequences with respect to learning about dynamic systems. Firstly, collaborative execution of the game, and secondly collaborative programming and reprogramming of the game. With respect to collaborative game execution, the most important finding includes the collaborative setting requiring the children to negotiate and coordinate the execution of the rules with each other. Since the children conducted the actual execution of the game a number of aspects became visible in ways that seldom occur when a game is executed on the computer. One aspect involved what is actually meant by a programming rule? Throughout the activity, children were often required to negotiate and discuss how a particular rule should be interpreted. For instance, when we removed a behavior that moved one of the objects from the bottom to the top of screen a question regarding what should happen to the behavior that moved it down the screen came up. Should it also be removed since it did not play any role in the game anymore or should the object continue to move down as long as the game was executed? What decides the boundaries within which an object is allowed to execute? These are questions that are important to consider when building computational systems and leads us to the second aspect that concerns how one specifies a behavior of a phenomenon from the real world in a computer representation? When building dynamic systems a central skill is to decide what aspects of a phenomenon that should actually be represented in the system, and also how it should be represented. For instance, when building a simulation of a food web, how should phenomena like starvation or hunger be represented in the individual objects in order for the simulation to effectively visualize the important aspects? In another role-playing activity that we performed the kids proposed to use modeling clay that could be added and removed to an object as a way to represent growing and shrinking. Learning to make such decisions regarding representation is important in all modeling and programming activities. However, perhaps the most interesting events occurred when we reprogrammed the game. Reprogramming of the game could be achieved in several ways. One was to change the object that a rule was assigned to so that the person responsible for it would carry out the same actions, but for a different object. For instance, by moving the behavior that removed something it collided with from one object to another, the game was changed from being about avoiding the falling objects to instead being about trying to catch them. The following excerpt is taken from the first attempt at changing the rules of the game. The change was initiated by one of the researchers suggesting that one rule should be removed in order to see what effects that would have to the game.