NCSI Talks

   

Population Growth Learning Scenario (Web)


Shodor > NCSI Talks > Excel > Population Growth Learning Scenario (Web)

Lesson Plan - Population Growth Model (Excel)

Basic Model:

Description

This is a simple system model of exponential population growth. The population starts at a certain level, then after each time tick, it increases by a set proportion of its current value. The result of which is an exponentially increasing population. Users can set the initial population, the amount of time for which the simulation is run, the length of a time tick, and the proportion of individuals who reproduce after each tick.

Background Information

When modeling natural processes, one of the most common relationships is the exponential curve. The basic principle behind this result is that each individual contributes to the overall growth in individuals, so as the number of individuals increases, so too does the rate of increase. This is particularly true for populations, as the growth is determined by the number of individuals able to reproduce. Absent any sort of constraints, most species have evolved to be able to increase their populations rapidly and exponentially. More generally, any time the average member of a population contributes to the creation of more than one new member before dying, the population will grow exponentially. If the average member contributes to less than one new member, the population will shrink exponentially

Science/Math

The fundamental principle behind this model is HAVE = HAD + CHANGE. Each time tick, the new population is equal to the old population plus some growth factor. In this case, because the CHANGE is proportional to the HAD, we can expect exponential growth.

The relevant equations can be derived using derivatives:

  • The change in population dR over each time dt is equal to some proportion b times the previous population R, so dR/dt = b*R
  • Multiplying across, we get that dR = b*R*dt
  • Another way of writing dR is R n - R 0 , so R n - R 0 = b*R 0 *dt
  • Finally, we solve for the new population R n to get R n = R 0 + b*R 0 *dt

Teaching Strategies

An effective way of introducing this model is to use the M&M activity. For this activity, each student or group of students is given a bag of M&Ms. They start by putting two on a plate to represent the initial population. Then, in each round students will toss their M&Ms on the plate and count up the number than land "M-side" up. The population will grow by that number, so next round they will have more M&Ms to toss. This is a great way to give a hands-on example of a simple model with Initial_R = 2, b = 0.5, and dt = 1.

With this lesson, it is important to make the distinction between an agent model - the M&M tossing - and a system model - the Excel spreadsheet. An easy way to show this is to have each student/group write their results on the board, and then list the theoretical results from the model beside the experimental results. All of the students' models should be relatively close to the true model, but they will not be an exact replica of it. Next, average the results from all of the students and compare that to the "real" model. These numbers should be even closer to the theoretical values. Ask students to think about what would happen if the number of trials was extremely large - the results should begin to approach the systems model more and more closely.

Implementation:

How to use the Model

This is a simple recursive model, but there are a number of different parameters and settings that can be changed in order to make the model yield different results. There are three parameters in the model:

  • Initial_R determines the starting population. Its default value is 2
  • b determines the proportion of the population that reproduces each iteration. Its default value is 0.5
  • dt determines the length of each time step. Longer values change the results of the model slightly in the same way that annually compounded interest is worth slightly less than continually compounded interest. Its default value is 1

Initial_R and dt can be manipulated simply by typing a new value into their cell; b can also be changed by clicking and dragging a slider below it. The slider goes from 0 to 1 in units of 0.01, and is a great way to instantly see the effects of changing the rate of growth.

On the right-hand side, the raw data for the simulation is displayed. The results are calculated recursively, so the data in each row is directly related to the data in the previous row (with the exception of the first row, which is set by Initial_R). The equations have already been set up, so the results can be seen immediately. R n is the population at time n, while R 0 is the population at time n - 1 and is just included for the sake of clarity. When the applet is first loaded, the time will only go to 1, b ut it can be extended by clicking on the last row, and then dragging from the bottom-right hand corner of the cells to propagate the formulas to additional time periods.

As you make changes to the raw data on the right, you will notice that the graph in the bottom left immediately updates to reflect this new data. The graph is preset to monitor and record the values of R n for all time periods up to and including 25. The graph can be used to instantly and clearly visualize the effects of any changes to parameters on the overall results. If you wish to only focus on the first few values, it is helpful to change the scaling on the graph so that the first points are more visible and more distinct. For more information on Excel, reference the Excel tutorial at: http://shodor.org/tutorials/excel/IntroToExcel

Learning Objectives:

  1. Understand the relationship between recursion and exponential growth
  2. Understand the effect of each parameter on the population growth curve
  3. Differentiate between agent and systems models

Objective 1

To accomplish this objective, have students set Initial_R = 1, b = 1, and dt = 1. Propagate the time and R n to at least time = 10, and ask students if they can see any relationship between the values of R n over time. Suggest trying different types of conventional equations to see if any of them fit the curve available (good choices might be quadratic, cubic, and exponential). When students try exponential equations, they should find that "y = 2n" is a perfect match for the function present

In order to understand why this is, ask students to try to figure out the equation for R2 in terms of R 0 . It may help to rearrange the existing equation to read R n = R 0 (1 + b*dt). Students should get that R2 = R 0 (1 + b*dt)(1 + b*dt) = R 0 (1 + b*dt)^2. Continue to extend this example until students begin to see a pattern - for any value n, R n = R 0 (1 + b*dt)^n. This is, of course, an exponential equation.

Objective 2

Have students play around with each of the manipulable parameters to see the effect on the graph. Ask the following questions to guide their exploration:

  1. What happens to the graph if you increase or decrease Initial_R?
  2. Does the Initial_R value have any effect on values on the graph after the initial one? If so, what is the effect?
  3. What is the value at time 25 if Initial_R is 1, b is 0.5, and dt is 1? What happens to the value at time 25 if we change dt to 0.5? 0.25? What do you think would happen if we made dt extremely small?
  4. Why do you think changing the time to a smaller step causes the value of Rn to increase?
  5. What happens to the shape of the graph if you increase or decrease b?

Objective 3

Have students open up the AgentSheets population growth model ( www.shodor.org/refdesk/BioPortal/model/ASpopGrowthDecay?level=introductory ) and run a simulation with similar parameters to those used in the Excel model. Ask the following questions:

  1. Is the growth rate in the AgentSheets model exactly exponential? How do you know?
  2. Is the growth rate in the Excel model exactly exponential? How do you know?

Introduce the concept of agent and systems models. An agent model simulates at the individual level, assigning each person a certain probability of reproducing at each time step. A systems model simulates at the population level, allowing the population to increase by a certain percentage each time step. Ask the following questions:

  1. Do you think the AgentSheets model is an agent or a systems model? How do you know?
  2. Do you think the Excel model is an agent or a systems model? How do you know?
  3. Which type of model do you think is more realistic? Why?
  4. Which type of model do you think is easier to calculate? Why?

Extensions:

  1. Model the effects of a negative value for b (i.e. population decline)
  2. Connect population growth to other exponential processes, such as compound interest
  3. Understand why exponential population growth over long periods of time can't happen in the real world

Extension 1

Ask students to speculate about what would happen if b were negative. Try small (but still positive) values for b to get a better intuition about what happens as b goes to zero and beyond. Once students have had a chance to develop hypotheses for the shape of an exponential curve with a base of less than 1, try it out (it helps to change Initial_R to at least 1000 first). Be sure that the negative values of b are between -1 and 0, so as not to create an exponent with a negative base. Discuss what exponential decay means, asking the following questions:

  1. What is the difference between this and positive values of b?
  2. Does the population ever go to zero or below?
  3. Can you think of a real-world situation where population might be declining like this?
  4. What effect does changing dt have on the values now?

Extension 2

Ask students to brainstorm other real-world phenomena that might be exponential. Good examples would be compound interest, inflation/GDP, experience rates in video games, or the spread of an epidemic. For any or all of the examples presented, have students attempt to model their process with the simple population model. Think specifically about which parts of the process would correspond to each of the three parameters of the model, and how you could interpret the data derived from it. Ask the following questions:

  1. What part of your exponential process would be the initial value for our model? The growth factor? The change in time?
  2. How can you interpret the results of your calculation? Are the results what you expected? Why or why not?
  3. What do all of these exponential processes have in common?
  4. Extension 3

    Walk students through a real-world example of the population of a pair of rabbits, where the population increases by 50% every month. The parameters should be Initial_R = 2, b = 0.5, dt = 1. Extend the time for which the calculations are done to at least 60 months (5 years). Ask the following questions:

    1. Since we are looking at months instead of years, do we need to change dt? Why or why not? (Answer: No. The base of the exponent b is already denominated in months, so there's no need to change dt as well. If b was yearly population growth, then we would need to change dt)
    2. How many rabbits are there after 1 year? After 2? After 5?
    3. Is it realistic to expect there to be 36 billion rabbits after 5 years of exponential growth?
    4. What are some reasons that the population of rabbits might not grow at the same rate forever?
    5. What does that say about the completeness of our model?

Related Models/Functionality


Population Growth (AgentSheets)

http://www.shodor.org/refdesk/BioPortal/model/ASpopGrowthDecay?level=introductory

This is useful as a comparison to show the differences between agent and systems models. Given the same initial parameters, the AgentSheets model has the same expected outcome as the Excel model, but because it is calculating results probabilistically for individual M&Ms instead of simply taking a proportion, there will be some deviation. Students should be encouraged to investigate why there are differences in the results, and any systematic patterns in those deviations (for instance, deviations tend to get larger over time).

Support Materials:

  • Tutorial (XML File)

Salt Diffusion

http://www.shodor.org/talks/ncsi/excel

This model is an excellent real-world example of exponential decay. The concentration of salt in each cell depends on that of its neighbors, so over time we expect the concentration of salt in all cells to approach zero. However, the amount of salt in a given cell is always multiplied by a number between 0 and 1, so the total amount of salt will never quite reach zero. Students can investigate how the "population" of salt changes in a way similar to that of the population model, except that the growth factor changes from time period to time period.

Nutria & Bunny Comparison

http://www.shodor.org/talks/ncsi/vensim These two models are closely related, so they ought to be used in tandem to explain Extension 3 in more depth. According to the simple population model, the population will simply grow without bound forever because there are no constraints taken into account. However, the Nutria and Bunny Comparison models both introduce the idea of environmental constraints due to limited resources. In these cases, rather than a simple exponential model students will get a Cumulative Distribution Function. In contrast to an exponential function, a CDF eventually slows down in its rate of growth and asymptotically approaches the maximum carrying capacity of the environment.
One particularly interesting topic to cover here is the degree to which human population is, or may be, following this CDF. Although the number of humans has been increasing more or less exponentially since the 1800s, in many industrialized countries today the population is stable or even declining. As more and more nations around the world develop, the expectation is that the world population will slow its rate of increase, eventually reaching something close to stability at around 9-10 billion people.

Support Materials: