Lesson 1. Intro to learning with Computational Models

Sugat Dabholkar, Teresa Granito, Kevin Hall
Environmental Science
40-50 min
High School Advanced Biology (AP)
v3

Overview

This is an introductory lesson for using certain types of computational models designed using a software called NetLogo.

In this lesson, students will learn -

  • how to computationally study the spread of wildfire
  • how to engage in the scientific inquiry practices of constructing knowledge in the context of an Emergent Systems Microworld (ESM)
  • how to engage computational thinking practices in context of an ESM. We will focus on four computational thinking practices: data practices, modeling and simulation practices, computational problem solving practices, and systems thinking practices.

Standards

Next Generation Science Standards
  • Life Science
    • [HS-LS2] Ecosystems: Interactions, Energy, and Dynamics
    • [HS-LS4] Biological Evolution: Unity and Diversity
  • NGSS Crosscutting Concept
    • Patterns
    • Systems
    • Stability and Change
  • NGSS Practice
    • Analyzing Data
    • Using Models
    • Conducting Investigations
Computational Thinking in STEM
  • Data Practices
    • Analyzing Data
    • Manipulating Data
    • Visualizing Data
  • Modeling and Simulation Practices
    • Using Computational Models to Find and Test Solutions
    • Using Computational Models to Understand a Concept
  • Computational Problem Solving Practices
    • Troubleshooting and Debugging
  • Systems Thinking Practices
    • Investigating a Complex System as a Whole
    • Thinking in Levels
    • Understanding the Relationships within a System

Credits

Unit co-designed by Sugat Dabholkar in consultation with Teresa Granito of Evanston Township High School

Acknowledgement

CODAP is a computational tool for data analysis and representation developed and built by The Concord Consortium at https://codap.concord.org/  

The first four lessons are based on a Howard Hughes Medical Institute (HHMI) Biointeractive (https://www.hhmi.org/biointeractive/pocket-mouse-evolution)

Lesson 5 is based on the lesson Evolution in Action: The Galápagos Finches Authored by Paul Strode for Howard Hughes Medical Institute based on data collected by Peter and Rosemary Grant, Princeton University.

This work is supported by the National Science Foundation (grants CNS-1138461, CNS-1441041 and DRL-1020101) and the Spencer Foundation (grant 201600069). Any opinions, findings, conclusions, and/or recommendations are those of the investigators and do not necessarily reflect the views of the funding organizations.

Activities

  • 1. Using models to learn science
  • 2. A not-so-sneak peek into the code behind the model
  • 3. Systematically investigating the spread of a forest fire
  • 4. Constructing knowledge by engaging in scientific inquiry practices

Student Directions and Resources


Several lessons in this curriculum use computational models designed using a piece of software called NetLogo. In this lesson, we will try to understand what these models are and how to use them.

This lesson specifically focuses on learning science with computational models of emergent natural phenomena. Emergent phenomena are ones in which simple interactions between agents and their environment result in complex patterns. Ffor example, a flock of birds (see below). 

                    

In a flock of birds, most people assume that the "head" bird is a leader of the flock. However, flocks actually emerge from each bird following a simple set of rules regarding alignment, coherence and separation with neighboring birds. This means that the shape of a flock is emergent and not directed by any particular leader bird.

Learning Goals - 

  • In this lesson, we will use a NetLogo model about Forest Fires to learn about how to computationally study a scientific phenomenon.
  • We will learn how to engage in the scientific inquiry practices of constructing knowledge.
  • We will learn how to engage computational thinking practices. We will focus on four computational thinking practices: data practices, modeling and simulation practices, computational problem solving practices, and systems thinking practices.

Let's get started!

1. Using models to learn science


Scientists use scientific modeling approaches to construct knowledge about the world. In this section, we explore the ideas behind scientific models.

 


Question 1.1

It only became widely accepted knowledge that all matter in the world is made up of tiny elementary particles in the early 19th century.

Let's look at the the picture below. What do you think this image is a model of?



Question 1.2

Some of you probably said it's a model of an atom. Others might say it's a model of a 'Neon atom', because it has 10 electrons. In fact, since we don't know the number of protons, it could be an ion of a different element!

The point is that these representations in a model allow us to think about natural phenomena (like atoms containing electrons) that are associated with the model in certain way. Can you think of what this particular model could be useful for?



Question 1.3

Now, let's look at a computational model of a forest. Imagine that you a drone with a camera that is hovering above a forest. In other words, this model shows a top-down view of a forest. Each green patch you see represents a tree. A red patch represents a burning tree. 

Play with the model and make some observations.

What do you think a researcher or scientist could use this model for?



Question 1.4

Make sure to change the density of trees in the model and observe the spread of the fire.

In this model, trees are called agents because their behaviors are programed into the model using a set of rules. 

An example of one such rule is a tree cannot move. Another is when a tree is on fire it turns red.

How might you write a rule that a tree could follow that describes how they catch on fire?



Question 1.5

Based on your exploration of the model, can you guess how the density of trees affects the spread of the fire in the forest?



Question 1.6

This 'fire model' is an example of an emergent systems microworld. It is modeled in terms of interactions between the agents (trees) and it allows us to observe emergent patterns like the spread of fire in the forest. Because it is a computational model, we can easily change parameters such as the density of trees and then study how that change affects the spread of fire in the forest. Although this is just a model, we can use that knowledge to make predictions regarding the spread of fire in a real forest.

However, this model does not include all the factors that affect the spread of fire in a real forest. Can you suggest some other factors that might affect the spread of a real forest fire that could be added in this model?

 



2. A not-so-sneak peek into the code behind the model


Here's a version of a fire model that a team of researchers tried to modify, but it does not run as they expected. In fact, it's totally broken and does not run at all.

Can we help them fix it?


Question 2.1

Setup the model. What is the mistake (or what you might hear people call a 'bug') in the researcher's model?



Question 2.2

You probably noticed that after you press 'setup', you see blue colored trees. Maybe the bug in the code has something to do with the color of the trees. Maybe the color of the tree is set to 'blue' instead of 'green' by mistake.

Click on the bar that says 'NetLogo Code'. You can find it below the big square in the model.

Where does it say 'blue' in the code? And there does it say 'green' in the code?



Question 2.3

You can fix that bug! Go to a line that say 'blue' where it should have been 'green'. Change the code.

Click on "Recompile code" and run the model again. Does it work now?

Can you explain why it did not work before?



Question 2.4

These computational models, written in NetLogo, allow users to change the code and observe the effect of those changes. That is a very important feature of these Emergent Systems Microworlds: you can play with them and manipulate them by changing the parameters such as 'density' or by changing the code to see how the "microworld" you see is affected.

Now go back to the code and try to read some of it. The NetLogo language is designed to be easy to understand for humans. Pick a line in the code and paste it below. Try to explain how it affects the way the model would behave. 

For example, 

set initial-trees count patches with [pcolor = green]

This line sets a value for a variable 'initial-tree' by counting the patches that have pcolor (patch-color). This line is written in the NetLogo language that the NetLogo compiler understands.



3. Systematically investigating the spread of a forest fire


Let's investigate how the density of the trees affects the spread of a forest fire. 

We will first generate some data using the model and then visualize it using another computational tool called CODAP.

Let's follow an experimental design that is described below:

Research Question: How does density of trees in a forest affect spread of a forest fire?

Hypothesis: As the density of trees in the forest increases, the percentage of forest burned will increase linearly. (That means, if density of trees doubles, the percentage of forest burned will also double)

Let's test our hypothesis using the model.

Change the values of density systematically. Record the value of 'percentage forest burned' in the data table. Make sure that you press 'setup' button every time you do a trial. Make sure to run each different value of density twice and finally, make sure you record values for each experimental trial. 

CODAP will automatically plot the average of the two values that you will record. 

  


Question 3.1

Write some observations about the graph of 'density' vs 'percentage burned'.



Question 3.2

Do you think that the evidence that we gathered with our experiment supports our hypothesis?



Question 3.3

Explain your answer to the previous question.



Question 3.4

Spread of a forest fire is an emergent phenomenon. Below a certain density, the fire does not spread much, however when the density crosses a 'tipping point' or threshold, the fire engulfs almost all the forest. 

The tipping point in this model falls within which of the following density ranges?

  Between 30 and 40
  Between 40 and 50
  Between 50 and 60
  Between 60 and 70


Question 3.5

Can you give an example of another such phenomenon with a tipping point? 



4. Constructing knowledge by engaging in scientific inquiry practices



Question 4.1

Explore a more detailed version of the fire model above.

Explain what "probability-of-spread" might mean in the model and how it would affect the behavior of the model.



Question 4.2

Write a question that is of an interest to you which can be answered using this model.

An example of such a question would be: how does wind speed affect spread of fire?



Question 4.3

Based on your exploration of the model, make a guess and state it in the form of a testable statement (a hypothesis)–one that you can test using the model.



Question 4.4

Design an experiment to test your hypothesis. Explain your design.



Question 4.5

Perform the experiment. Describe your observations and explain whether those support your hypothesis or not.