The Concord Consortium logo
Newsletter header
Winter 1999 | Table of Contents | Library Index | CC Home

Monday's Lesson
Technology-Enhanced Exercises for the Classroom
"Using AgentSheets"

by Robert Tinker
any issues in public policy depend on mathematical models. Will there be a population explosion? How much will the earth warm? How many students will enroll in your school next year?

The answers to these questions depend on models and the assumptions that go into models. Increasingly, the political debate is about the fine points of modeling. The statement "Global warming is expected to increase the average earth temperature five degrees next century" is based on models whose assumptions are hotly debated. There is little question that effective citizenship requires increasingly sophisticated knowledge of models.

Students need to know what makes a good model, what constitutes "proof" of a model's accuracy, and how to judge a model's predictive value. Can you trust a model that makes simple assumptions that are clearly inaccurate? Can you believe the results of a model if you don't understand the mathematics it uses? These and other questions are best addressed by giving students increased exposure to thoughtful modeling activities.

How do we do this?

Students should progress through at least three major stages in learning to use models: running models that others have made, modifying models, and making original models. To reach this level of generality, students need to explore models in the context of many different situations and using different modeling tools.

One relatively recent kind of model that has fascinated mathematicians and scientists is based on elements, called cellular automata. They obey very simple rules that depend mostly on themselves or their local environment. In spite of using simple rules, complex group behavior can result. Fire, population, and many other systems can be analyzed in these terms. The game Life was the first well-known computer-based system to use cellular automata. In this system, amazingly simple rules result in interesting and complex behavior.

Until recently, students could use models such as Life, but they didn't have access to systems they could modify or program themselves. StarLogo and AgentSheets have corrected that problem.

AgentSheets is simple because it uses an intuitive visual programming language. StarLogo is a more serious and complete language that will be the subject of a later article. Currently both are free on the Web.

Using Models

Figure 1 shows a simple Population Model built from AgentSheets. To begin the simulation, click Start. The dots move around at random and die off 1% of the time, while giving birth to new dots 2% of the time. As you might predict, the dot population explodes.

Although not very sophisticated, this simulation can teach students a lot about exponential growth.To start over:

  1. Click Stop.
  2. From the Gallery select the background button.
  3. Select the Hammer tool and click inside the rectangle to clear the dots.
  4. From the Gallery select the dot button.
  5. Select the Pencil tool and click inside the rectangle to create another dot.
  6. Click Start.

The new dot sometimes makes another dot or, less frequently, dies. Although death is less frequent than birth, sometimes a population of 1-3 dots will die out. This shows that exponential growth is not a good approximation for small populations.

Modifying Models

You can modify the model to simulate different circumstances, such as the first Asians migrating to the Americas (Figure 2).

  1. Click Stop and then Clear to remove the background and dots.
  2. From the Gallery select the background button.
  3. Select the Rectangle tool and draw two "continents" with a bridge between them.
  4. From the Gallery select the dot button.
  5. Select the Pencil tool and click inside one of the backgrounds to create a dot.
  6. Click Start to see the migration of dots across the "land bridge."

Now you're ready to look at how the simulation is built. Download AgentSheets and then open Pop1. Take a look at the guts of this simulation program. Note how it reads through a list of commands until it finds an "If" condition that is true and executes its "Then" condition. This is what happens when the simulation starts:

  1. 2% of the time the dot makes a new dot above itself.
  2. If it doesn't make a new dot, 1% of the time it dies.
  3. If it doesn't take option 1 or 2, the dot moves randomly to an adjacent background square.

You can easily change the population growth by changing the percentages. Explore what happens when the two percentages are equal or when the birth rate is smaller than death rate.

Some things about this model need improvement, such as a factor to control overcrowding. At this point, you're about to cross the line between modifying an old program and creating a new one.

Making Models

You can create a population model that stops growing when it gets too crowded or resources are depleted. But for this you'll have to change how the model is programmed. Go to our Population Model web site and follow the instructions for adding a clause to the AgentSheets program in order to create dots 2% of the time, but only if there is space for the offspring.

Models like these raise important issues about population growth while giving learners valuable experience in modeling.

A great way to start Monday morning!

Robert Tinker is President of The Concord Consortium. For more information on modeling, see his paper "Teaching Theory Building." Bob@concord.org

Winter 1999 | Table of Contents | Library Index | CC Home

Copyright © 1999 The Concord Consortium, All rights reserved. Last updated: 26-Feb-99
Questions and comments regarding this site can be sent to webmaster@concord.org