Population Simulator with Causal Loop Diagram
To run this on your class website, just copy the following line into the HTML on your website.
<iframe src="http://dmccreary.github.io/systems-thinking/sims/population-simulator/main.html" height="505px" scrolling="no"></iframe>
Run the Population Simulator MicroSim Edit the Population Simulator MicroSim on the P5.js Editor Site
Original Full Main
This one was generated by Claude Sonnet 4 in Aug of 2025.
Sample Lesson Plan for College Freshmen
Population Growth MicroSim: Lesson Plan for Systems Thinking
Lesson Overview
Target Audience: College Freshmen
Course: Introduction to Systems Thinking
Duration: 75 minutes (50 min instruction + 25 min lab)
Learning Mode: Interactive simulation with guided discovery
Learning Objectives
By the end of this lesson, students will be able to:
- Identify the key components of a reinforcing feedback loop
- Explain how small changes in birth rate create exponential population growth
- Predict system behavior based on causal loop diagram structure
- Analyze the relationship between feedback loops and exponential growth patterns
- Apply systems thinking vocabulary to describe population dynamics
Pre-Lesson Preparation
Required Materials: - Computer lab with web browsers - Population Growth MicroSim (population-simulator.js) - Student worksheet (provided below) - Whiteboard/projector for class discussion
Prerequisites: - Basic understanding of cause and effect relationships - Familiarity with reading simple graphs
Lesson Structure
Phase 1: Hook and Context Setting (10 minutes)
Opening Question: "If a city has 100,000 people and grows by 2% per year, how many people will it have after 10 years?"
Allow students to guess - most will calculate linear growth (120,000) rather than exponential (122,019)
Transition: "Today we'll explore why our intuition about growth is often wrong, and how systems thinking helps us understand exponential patterns."
Phase 2: Introduction to Causal Loop Diagrams (15 minutes)
Mini-Lecture Topics:
- What is a system? (interconnected parts working toward a purpose)
- Feedback loops: reinforcing vs. balancing
- Causal loop diagram notation:
- Nodes (system variables)
- Arrows (causal relationships)
- Polarity (+ or -)
- Loop markers (R or B)
Visual Aid: Draw simple thermostat example on board as balancing loop
Phase 3: Guided Simulator Exploration (25 minutes)
Step 1: System Structure Analysis (5 minutes) Have students open the simulator and examine the left panel:
Guided Questions: - What are the two variables in this system? - What type of loop is shown? How do you know? - Trace the arrows: How does population affect birth rate? How does birth rate affect population?
Step 2: Baseline Simulation (10 minutes) Students run simulation with default settings (birth rate = 0.02):
Observation Tasks: - Watch population node pulse during simulation - Note the shape of the growth curve - Record key data points (population at t=10, t=20, t=30)
Step 3: Parameter Experimentation (10 minutes) Students test different birth rates and observe results:
Birth Rate | Prediction | Actual Result (t=30) |
---|---|---|
0.01 | ||
0.02 | ||
0.05 | ||
0.10 |
Phase 4: Pattern Recognition and Analysis (15 minutes)
Class Discussion Questions:
-
Pattern Identification: What happens to the growth curve as birth rate increases?
-
System Structure Connection: Why does this particular loop structure create exponential growth?
-
Real-World Applications: Where else do we see this same pattern?
- Compound interest
- Viral spread
- Social media followers
- Economic inflation
Key Insight: Reinforcing loops with positive feedback create exponential behavior, not linear behavior.
Phase 5: Deeper Systems Analysis (10 minutes)
Critical Thinking Prompts:
-
Limitations: What's missing from this simple model? What factors might limit population growth in reality?
-
System Boundaries: What would happen if we added carrying capacity? Resource constraints?
-
Delays: How might delays in the system change the behavior?
Introduce Concept: This leads to next lesson on "Limits to Growth" archetype
Student Worksheet
Part A: System Structure Analysis
- Draw the causal loop diagram from the simulator below:
[Space for diagram]
-
Label each arrow with its polarity (+ or -)
-
What type of loop is this? ______
-
In your own words, explain how this loop works:
Part B: Experimental Data
Complete the table by running simulations with different birth rates:
Birth Rate | Population at t=10 | Population at t=20 | Population at t=30 | Growth Pattern |
---|---|---|---|---|
0.01 | ||||
0.02 | ||||
0.05 | ||||
0.10 |
Part C: Analysis Questions
- Describe the relationship between birth rate and population growth:
- Why is the growth curve shaped the way it is?
- Give three real-world examples of similar reinforcing loops:
a. ____________
b. ____________
c. ____________
Self-Assessment Quiz
Question 1
A reinforcing feedback loop always creates:
a) Linear growth
b) Oscillating behavior
c) Exponential growth or decline
d) Steady-state balance
Show Answer
c) Exponential growth or decline
Reinforcing loops amplify change, creating accelerating growth (if positive feedback) or accelerating decline (if negative feedback). The key characteristic is that change feeds back to create more change in the same direction.
Question 2
In the population simulator, if you double the birth rate, what happens to the population after 30 time units?
a) It doubles
b) It more than doubles
c) It increases by exactly 30 units
d) It stays the same
Show Answer
b) It more than doubles
Because this is exponential growth, doubling the growth rate results in much more than double the final population. The compounding effect means small changes in the rate have dramatic effects on the outcome.
Question 3
Which of the following best describes the relationship between Population and Birth Rate in the simulator?
a) Population → Birth Rate (negative), Birth Rate → Population (positive)
b) Population → Birth Rate (positive), Birth Rate → Population (negative)
c) Population → Birth Rate (positive), Birth Rate → Population (positive)
d) Population → Birth Rate (negative), Birth Rate → Population (negative)
Show Answer
c) Population → Birth Rate (positive), Birth Rate → Population (positive)
More population leads to more births (positive relationship), and higher birth rate leads to larger population (positive relationship). Both arrows in the loop have positive polarity, creating a reinforcing loop.
Question 4
Based on systems thinking principles, what would most likely happen if we added "Death Rate" to this model?
a) The system would stop growing entirely b) We would create a balancing loop that could limit growth c) The growth would become linear instead of exponential d) The reinforcing loop would become stronger
Show Answer
b) We would create a balancing loop that could limit growth
Death rate would create a balancing effect: as population increases, deaths increase, which decreases population. This balancing loop would compete with the reinforcing growth loop, potentially creating limits to growth or steady-state behavior.
Question 5
If you wanted to slow down population growth in this system, which leverage point would be most effective?
a) Increase the initial population
b) Decrease the birth rate
c) Run the simulation for less time
d) Change the graph scale
Show Answer
b) Decrease the birth rate
The birth rate is a key parameter in the reinforcing loop. Small decreases in birth rate have large effects on long-term population due to the compounding nature of exponential growth. This demonstrates an important systems principle: parameters in feedback loops are often high-leverage intervention points.
Extension Activities
For Advanced Students
- Mathematical Modeling: Calculate the exact population formula P(t) = P₀ × e^(r×t) and compare with simulation results
- System Redesign: Sketch how you would modify the diagram to include carrying capacity
- Research Project: Find real population data and identify when growth follows this pattern vs. when it doesn't
For Struggling Students
- Vocabulary Practice: Create a glossary of systems terms with examples
- Pattern Recognition: Use physical manipulatives to model the feedback loop
- Real-World Connections: Interview family members about compound interest or savings growth
Assessment Rubric
Criteria | Excellent (4) | Proficient (3) | Developing (2) | Beginning (1) |
---|---|---|---|---|
System Structure | Accurately identifies all loop components and relationships | Identifies most components with minor errors | Identifies some components but misses key relationships | Shows little understanding of system structure |
Pattern Analysis | Clearly explains exponential growth and its causes | Explains growth pattern with some systems reasoning | Describes pattern but limited connection to system structure | Minimal understanding of growth patterns |
Real-World Application | Provides multiple relevant examples with clear connections | Provides good examples with some explanation | Provides examples but limited explanation | Few or irrelevant examples |
Systems Vocabulary | Uses terminology accurately and appropriately | Uses most terms correctly | Some correct use of terminology | Minimal use of systems vocabulary |
Wrap-Up and Next Steps
Key Takeaways:
- Reinforcing loops create exponential behavior, not linear
- Small changes in feedback loops can have dramatic long-term effects
- Systems thinking helps us recognize patterns across different domains
Preview Next Lesson: "But populations can't grow forever... next time we'll explore what happens when reinforcing loops hit limits."
Homework: Find one example of exponential growth in the news and identify the underlying reinforcing loop structure.