Using Computer Models to Teach Complex Systems
Why Use Computer Models to Teach Systems Thinking
Teaching systems thinking presents a number of pedagogical challenges. The behavior of complex systems is different, in unexpected ways, from the linear causal relationships most students are accustomed to working with. Computer models allow students to explore non-linear relationships, feedback loops, and other characteristics of complex systems, by illustrating the results of such complex relationships in the form of model output. In addition, many complex systems operate on spatial and temporal scales that are impossible to observe directly. Computer models offer the opportunity to explore such systems: to investigate the relationships between variables, to measure the sensitivity of the system to changes in one or more variables, to consider the long-term impacts of changes in system inputs. Thus, computer modeling offers some solutions to the challenges of teaching and learning about complex systems.
How to Use Computer Models to Teach Systems Thinking
Articulate Your Learning Goals
Your choice of learning goals for your students will determine what use of computer modeling will be most effective. For example, which is most important to you: that your students understand the Earth's climate system, or that they understand why scientists use computer models to make predictions about climate change? Both are valid learning goals, but your use of computer models may differ depending on which is your primary goal.
Start Simple and Scaffold Learning
Students don't know how to construct a model. They don't think about the world in terms of 'reservoirs' and 'fluxes' and thus often don't know where to begin when presented with a problem that involves modeling. One way to help students develop this way of thinking is to start with a simple, physical model, ideally with only one or two variables (see the bathtub and radiation balance examples). Use a step-by-step process to work from physical reality to model development:
- Describe the situation to be modeled in words. This could include a discussion of initial conditions, boundary conditions, etc.
- Create a logic diagram to develop the conceptual framework for the model.
- If applicable, discuss equations that describe the model. Introduce dependent and independent variables and their relationship to one another.
- Use box-modeling software (see resources for using specific software packages below) to develop a model of the situation.
- Hypothesize about the outcomes of different scenarios. For example, what would happen if an inflow or outflow were to increase or decrease?
- Run the model and ask students to compare the results to their hypothesized outcomes.
Begin by demonstrating this process for a couple of simple examples, then move on to having students develop their own models, if that is one of your goals for them.
You can scaffold learning by using models first as an analytical tool for understanding specific concepts. When students have a firm grasp of those concepts, use this as a foundation for understanding the process of modeling (see discussion points below). Using this process iteratively, you can ultimately develop your students' understanding of complex systems, as well as their abilities to evaluate the relationship between models and reality and to evaluate the quality of models.
Discuss the Use of Models
Why use them? What are the limitations? What are their strengths? As scientists, we may take the use of computer models for granted. Our students, however, simply may not understand why we use computer models, or may believe that the output from a model is 100% accurate. When they discover that computer models do not mimic reality completely, some students may be tempted to discount them completely. Some guidance in understanding both the benefits and the limitations of computer modeling may be in order. These discussions can lead to more sophisticated analyses of the use of computer models. For example, discussions might include questions such as these:
- It is impossible to actually validate models. Why is that so?
- Does this mean we can't use models for prediction?
- Be explicit about how each model you use relates to the real world
- What does it incorporate?
- What does it leave out?
- Why doesn't it include everything?
- What are the differences between the output from your model and real data?
- Why do those differences occur? Are they due to:
- Errors in the model?
- Errors or uncertainty in the real-world data?
- Assumptions in the model?
- Is this model too simple? If so, what other processes or reservoirs should it include?
- Would this system be better modeled using a different technique?
Assess Student Understanding
Find ways to assess your students' understanding, whether of the process of modeling or of the complex system(s) they are modeling. Focus on assessing students' progress toward your stated learning goals.
Choosing a Modeling Software Package
Your choice of software package will depend on what aspects of complex behavior are most important to you.
Aggregate models such as STELLA help students recognize a fundamental distinction between a system's elements that characterize the state of the system at a particular time ("stocks") and those that control conditions of change ("flows"). Such models utilize concepts of negative and positive feedback, where the reinforcing/weakening of the stocks and flows relation is described as a closed loop of causality. On the other hand, they do not model dynamic systems at the level of the individual components of the system. So, for example, a flock of birds can be treated as a fluid (describable also by the Navier-Stokes equations), while ignoring the individual birds and their short-range interactions. The mutual interactions of components and emergent properties are not recognized as such but are instead translated into positive or negative feedback at the system macro-level. If feedback loops are more important to you than emergent properties, STELLA is an excellent choice.
In contrast, agent based modeling programs such as NetLogo do not describe the system by feedback loops, but explicitly allow for modeling of the emergence of phenomena by transition from lower to higher system levels. This helps students to develop the ability to distinguish between micro and macro levels of analysis and recognize the macro system properties and their functions. If emergent behavior is more important to you than feedback loops, NetLogo is an excellent choice.
If you are modeling the Earth's climate system, consider using the modeling package EdGCM, which runs the NASA/GISS Model II global climate model.
Examples of Using Computer Models to Teach About Complex Systems
- The Overflowing Bathtub Model
- Radiation Balance in the Atmosphere
- Additional examples using STELLA, NetLogo, Mathematica, and EdGCM are linked from the pages below.
Resources for Using Specific Modeling Software Packages
The following pages contain links to product websites and teaching activities using each of these modeling software packages: