Natural ecosystems are often incredibly sensitive to change, such as the introduction or removal of a species. A healthy ecosystem is said to be in equilibrium, which is a relatively stable state that keeps population sizes within a sustainable range (not too many of a certain species alive or dead). Consider the case of bears (who only eat fish) and salmon (who are only hunted by bears):
Bears eating Salmon
In a perfectly stable ecosystem, this cycle can continue indefinitely. Of course, natural ecosystems are far more complex than this simple example, but the relationship between species applies to complex ecosystems as well.

Because of all of the interdependence between various species, it can be very difficult to understand the implications of small changes to an ecosystem in the real world because (a) the relationships between species can be incredibly complex and (b) actual experimentation in real-world ecosystems can be catastrophic -- by the time observable changes have taken place, it's often too late to stop their effects.

Simulations allow scientists and others to determine whether a particular action (such as introducing a non-native species into a habitat) will have unseen effects on a system. Today you will use a simple simulator in Scratch to observe some virtual ecosystems.

BYOB Simulator

The project we start with today will perform a very simple simulation of a bay (or whatever your favorite shark-infested body of water is) containing sharks and fish. The simulator breaks the ecosystem down into a set of regions in a grid, with each region containing either sharks, fish, or open water. As time goes by, each species behaves by the rules of their population model, which define things like reproduction rates, natural predators, and so on. Sharks have a different set of rules than fish, and each one is adapted for surviving in a different way.

The goals for today's lab include:

You can download the simulator here.

Step 1: Population Models

A population model is just a fancy term for a list of rules that determines how a particular population behaves. The current simulation has two different populations present in it: sharks and fish.

  1. Open the simulator project in BYOB.
  2. Notice the two sprites named Sharks and Fish. Each one of these sprites represents a different population type, and defines the model for the populations behavior on the stage.
  3. Click on the Sharks sprite and look at the block attached to the Prepare Species Hat block. This set of rules defines how the shark population changes over time -- we'll try changing these later. Check out the Fish sprite and you'll see that the same block appears there.
  4. Run the simulator by clicking on the green flag and wait until the number of steps is 10 (note: it may take a long time for the simulator to run). Can you tell that the populations are behaving differently? Make observations but don't worry about recording anything -- you will be asked to make similar modifications later.

Step 2: Manipulating the Models

Now that you've seen the models, let's change them all around! We'll change some of the rules in the model so that the populations behave differently.

  1. Click on the Sharks sprite and change the chance of reproduction to 90% and eliminate the possibility of death by overcrowding.
  2. Run the simulator again and observe how the simulation proceeds. Do you notice any differences? Did both species survive for 10 time steps? Again, make observations but don't worry about recording anything.
  3. After you've seen the effects of this change, close the project and reopen the original version to restore the original rules.

Step 3: Speciation

This simulator was built to be customized, and that is your job today! Your objective is to add a new species to the simulator that will be able to coexist with its neighbor for 25 time steps. Do not change any of the pre-existing population models, but feel free to do whatever you want with yours. There are three steps to creating a new species:
  1. Duplicate one of the pre-existing sprites (Sharks or Fish) by right-clicking (option+click on Macs) and clicking duplicate. Change the name and icon to represent whatever species you'd like to create.
  2. Edit the Initialize simulator block and add an extra replace line to the end of the block with your species name as the final argument.
  3. Click on your species sprite and change the species name to the same name you used in Step 2. Then change the model as you see fit -- be creative and don't be afraid to experiment! The guidelines provided below may prove useful.
When you finish customizing your own species, run the simulator through 25 time steps and save the project. Remember: all three species should survive to the 25th time step.

Simulator Guidelines

Some things that might be helpful to know:
  1. The chance of reproduction for each species can be adjusted by changing the value of the chance of reproduction variable in each sprite. A different rate can be specified for each species type, but every member of the species has the same chance of reproduction (unless you change that in a rule, such as giving a shark who is near fish a higher chance of reproduction).
  2. The simulator takes a long time to start up because it is organizing the data in a way that allows the actual time steps to be completed more quickly. You'll have to be patient while it loads.
  3. You can create a totally new species by duplicating one of the preexisting species, changing the species name, and adding its new name to the population types list in the World sprite. Remember to add some members of that species to the initial grid! Look in the initialize simulator block to do that.
  4. The population model (rules) can be assigned by adding new blocks to each species' rules list. You can add as many rules as you like. Try reading through the rules -- it should be fairly straightforward what each rule is doing, and comments have been provided as well.