Teachers as Simulation Programmers:

Minimalist Learning and Reuse

Mary Beth Rosson and Cheryl Seals

Department of Computer Science
Virginia Tech
Blacksburg, VA 24060 USA
+1 540 231 6470
{rosson, cseals}@cs.vt.edu

ABSTRACT

Five public school teachers were observed during two self-study sessions where they learned to use Visual AgenTalk (VAT). The first session emphasized the basic visual programming skills, while the second introduced ways to reuse existing simulations. Two versions of the reuse tutorial were developed, one offering a concrete example world for reuse, and the second an abstract world. During their learning and reuse sessions, the teachers thought out loud as they worked, enabling a detailed analysis of their goals, reactions, problems, and successes. After each session, the teachers also completed user reaction questionnaires. Although all teachers succeeded in learning the basics of VAT, they varied considerably in their reuse of the example simulations. It appears that the simplified components of the abstract world supported reuse to a greater degree than those of the concrete example world.

Keywords

simulations, visual programming, teacher education

INTRODUCTION

Visual simulation environments provide many opportunities for learning. Even quite young students can create worlds to test hypotheses, or to visualize ideas for sharing with others [5,16]. Older students can analyze, build, and debug sophisticated models that recruit basic laws of science or math [18]. A recent study indicates that students using simulations in math classes achieve more than those using a computer for drill and practice [25].

An assumption hiding behind the enthusiasm for simulation as a learning technology is that educators are able and willing to integrate simulation tools into their pedagogy. However, this assumption is rarely even discussed, much less examined; typically training and support for students doing the simulation programming is provided directly by the research team [9]. In fact, studies of technology adoption in education offer a rather pessimistic prediction; software developers have a long history of providing technology to educators that is never adopted or applied [22,23]. The research reported here examines some prerequisites for adoption of simulation as an educational technology, by investigating teachers’ ability and willingness to learn a modern visual simulation environment.

This research is part of a larger participatory design project developing and evaluating computer support for science education [3]. Our interactions with teachers in this project have made two things very clear: they have little time to spend on learning new technology, and they are unlikely to develop computer-based materials from scratch, preferring instead to adapt content built by others or by themselves in previous efforts. We took this as a strong requirement to provide minimalist self-study instruction [1], and to explore the possibilities for reuse within the simulation environment [8].

AGENTSHEETS AND VISUAL AGENTALK

Our study investigated the learning and reuse of Visual AgenTalk (VAT), the visual language provided by the Agentsheets programming environment [11, 13, 17]. In this environment, users build simulations by creating a set of interacting agents, where each agent has a visual depiction and a set of production rules guiding its behavior. Depictions are created with a simple bit editor, or filled by arbitrary bitmaps obtained from other sources.

VAT agent rules are an enhanced variant of graphical rewrite rules [12]. They are created by dragging in and editing conditions and actions stored in tool palettes. When the simulation is running, a rule fires if its condition is true (e.g., if an agent “sees” a specified agent in a particular position). A rule’s actions may include visible behavior by the agent, modification of internal variables, as well as a few operations on other agents (e.g., construction or destruction). Agents usually have an ordered list of rules; on any tick of the clock, the first rule whose condition is met will fire.

We chose to study VAT for several reasons. It is part of a longstanding research program, and has been shown to have promise in many different educational settings [4]. It supports programming by direct manipulation, which should make it more accessible to novices [13, 21]. It also includes a compiler that can convert VAT simulations to Java applets, enabling convenient sharing over the Web [14, 15]. All of these features make it very appealing as part of a vision in which teachers build and share their own visual simulations.

EXAMPLE-BASED LEARNING AND REUSE

The minimalist model of instruction has been used to guide development of self-paced training materials aimed at rapid progress on meaningful tasks [1]. Textual instructions and explanations are kept at a minimum, forcing learners to make inferences, which helps to connect the learning experience with prior knowledge. Instead of introducing component skills bit by bit, learners are exposed to realistic tasks from the start, but in the context of supportive tools and instruction that guide action, and support error recognition and recovery [7].


For complex learning situations such as programming, example-based materials can be used as the basis of effective minimalist training [20]. The examples are selected to be realistic instances of the concepts and skills being learned. Because of their realism the examples are relatively complex, so learners interact with them in a “spiral” fashion, first analyzing pieces of them, then returning to make modifications of increasing complexity, and finally working by analogy on a related problem. Our earlier work used this example-based approach for teaching Smalltalk; in this work we adapted the approach to build two example-based VAT tutorials, one teaching basic skills, and a second focusing on reuse.

Figure 1: The water cycle model used for learning.

Learning Materials

The learning tutorial is 12 pages long, including a one-page overview of Agentsheets that also reassures learners that programming skills are not required. The tutorial is based on a water cycle simulation (Figure 1), which includes sky as an inert background agent, along with ten other agents. White clouds move across the sky, and absorb water vapor. Water vapor is produced by lakes or puddles when they are hit by sunrays, produced at intervals by the sun. When the moisture level of a white cloud gets to a certain level, it transforms into a black cloud, which creates raindrops, loses moisture, and turns back into a white cloud. Grass loses moisture when hit by a sunray, but adds moisture when hit by raindrops. If it gets dry, grass will turn itself into desert (and vice versa). The transformation from lake to puddle and back is also a function of moisture content.

The learners first simply run the simulation, guided in analyzing what the agents are and what they do. They then examine individual agents. They make several water cycle modifications, first a simple one to change the sun’s depiction, then changing cloud movement. In the course of doing this, they investigate the rather complex behavior of clouds. They create a new agent (a bird), first making its depiction, then making it fly. Finally, they close the water cycle simulation and make their own project, a volcano, first by drawing and identifying component agents, then programming it. In keeping with the minimalist style, this final project is carried out with no explicit instruction, though learners can review material from their earlier work at any time.

The tutorial and the example are aimed directly at the programming concepts the learners must understand. But in any environment there are also interaction issues, for example the procedure for creating an agent, adding it to a worksheet, accessing the rule components, etc. These user interface features are a distraction from the conceptual content, so we moved instruction on these techniques to a two-sided Interaction Guide. This quick reference guide explains the meaning of the icons on the different windows, how to create and test rules, and summarizes the meaning of some of the most common condition and action components.

Reuse Materials

The reuse tutorial is 10 pages long. Learners review the water cycle model, although the nature and extent of this review is left open. It then introduces the concept of reusing material from one simulation to build another, first by asking the learner to think about analogies between a water cycle and a food chain, then asking them to build a food chain (as for the volcano, first by drawing and identifying agents, then building them). More specifically, the tutorial suggests that they create a lion that turns into a big lion after eating a sufficient number of rabbits.

During this task, learners are guided to study how a white cloud transforms into a black cloud in the water cycle, with the hint that the lion might work in the same way. In the water cycle, a white cloud increments its moisture variable each time it absorbs water vapor. After each increment, it does a “moisture check”, and if it has enough moisture, it erases itself and creates a new black cloud agent. Learners were given the additional hint that the lion should use a different variable (we suggested “full”).

Following this guided example of reuse, learners build an ocean world. This world is to have an ocean that produces waves; the waves should roll onto a beach, at which point they should become ripples. As part of this task, they are introduced to another example simulation, and are asked to try to reuse its agents when they work on the ocean world.

Two different versions of the reuse example were created, resulting in two slightly different reuse tutorials. One version offered an ozone simulation (Figure 2): factories produce chemicals which are transformed by sunrays into BrCl. When ozone is hit by BrCl, it loses density, eventually turning itself into a hole.


Figure 2: The concrete ozone world example.

The second example (starter world, see Figure 3) was isomorphic to the ozone world, with the same sorts of agents and functionality. The key difference was that the agents were generic components in an abstract world, and had images and names that evoked their abstract behavior: emitters create movers, which simply move to the right. A transformer converts a mover into a random mover. An eraser deletes a mover. When a mover encounters a changer, it converts itself into an eraser.

Figure 3: The abstract starter world example.

These two reuse examples were developed to explore the relative comprehensibility and usefulness of concrete, contextualized examples versus abstract examples. The former have the advantage of being connected to the real world, illustrating familiar phenomena, and including details of the sort expected in the target model. The latter have the advantage of simplicity, in that the “real world” usage context has been removed; the agents are also named directly for the behavior they exemplify. The developers of Agentsheets have argued that users will not want to work with abstract agents [8], but our prior work on example-based reuse in Smalltalk indicated that the concrete details of realistic usage examples often get in the way [19].

Learning and Reuse Sessions

Middle and high school teachers were participants. They were recruited for two sessions, and paid $25 for each session. We attempted to schedule the two sessions approximately two weeks apart, but in one case by request scheduled a single double period (with rest break).

Participants

Five teachers participated in the studies (henceforth P1-P5). Four had taught for 5-13 years; P3 was a new teacher. P1-P4 were science teachers, P5 taught math. All had some experience with Macintoshes; most also had PC Windows experience. Several had some exposure to programming (e.g., one course in Fortran) but had not programmed in years. Two had used Hypercard as part of their teaching activities. All expressed positive expectations about visual simulation as a teaching aid.

For the reuse sessions, we assigned the two different examples in an alternating order: P1 and P4 were given the ozone model to reuse, P3 and P5 the starter world (P2 was unable to return for a second session).

Procedures


Prior to the first learning session, each teacher completed a background questionnaire asking about teaching and computer experience, as well as expectations about visual simulations. The participant was then seated at a Macintosh computer in an observation room, where the tutorial and Interaction Guide were available. One experimenter sat several feet behind the learner, while another controlled the video equipment and observed through a one-way mirror.

The teachers were asked to think aloud as they worked. We described this as saying out loud what they were thinking, their goals and plans, and their reactions to what happened. We emphasized that the experimenter in the room was taking notes only, and that they should work on their own. The experimenters did intervene at times if a teacher became very confused: we first directed her back to the materials in general; if the problem persisted, we pointed to a specific element of the tutorial or screen that would be of help; finally if she was still confused, we simply told her what action to take.

We captured the Macintosh screen, a video of the teacher working, and think-aloud comments. We also made notes about the teachers’ behavior as they worked. These data and their work products are the sources of the qualitative analysis we present below.

After completing the learning tutorial, the teachers filled out a questionnaire. They described what was difficult or easy to do in VAT, whether and how they might use it in their classes, and how to develop a VAT model. After the reuse session, a similar set of questions were completed, but we also asked about their reuse of material, and what sorts of material they would like to reuse in VAT work.

LEARNING OBSERVATIONS

The participants spent from 55-88 minutes in their first session. All succeeded in making the changes to the water cycle; all of them also produced a volcano model, although volcano functionality varied from user to user (see Table 1). A sample volcano model (from P3) is shown in Figure 4: the lava makes new lava, and moves along the lava tube. If it sees the up tube, it moves into it. If the smoke sees lava, it moves up. The trees and fresh rock are inert.

Table 1: Summary of Learning Sessions

ID / Time (min) / Volcano Agents Developed
P1 / 88 / mountain, eruption, volcano
P2 / 75 / mountain (inert), pressure, smoke, lava, sparks
P3 / 65 / lava, lava-tube, uptube, fresh-rock (inert), smoke, volcano, tree (inert)
P4 / 80 / volcano, lava (2), smoke, rising-heat, ground-level, plates-under-ground
P5 / 55 / mountain, sparks, pressure, lava