heredity--pumpkin contest
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
Have fun with planting pumpkins!!!! This model is created for k-5 students to understand the following core ideas in NGSS and conduct 3D learning.
3-LS3-1. Analyze and interpret data to provide evidence that plants and animals have traits inherited from parents and that variation of these traits exists in a group of similar organisms.
3-LS3-2. Use evidence to support the explanation that traits can be influenced by the environment.
NGSS standards: https://www.nextgenscience.org/dci-arrangement/3-ls3-heredity-inheritance-and-variation-traits
HOW TO USE THE SIMULATION
Click on "Find a pumpkin patch!" to set up the simulation. You will get a patch in which pumpkins vary in size and weight.
To choose a pumpkin, click on the "Press and then pick a pumpkin" button, then you should be able to choose a pumpkin using the mouse. The pumpkin weight is labeled by the number next to it.
Once choosing your pumpkin, click on "Plant the pumpkin" to plant the pumpkin.
Use the button "The BIGGEST pumpkin" or "The SMALLEST pumpkin" to help you find the biggest or smallest pumpkin in the patch. It will smile at you ;).
Adjust the "water" and " Fertilizer" slides to water and fertilize pumpkins at a certain level.
Click on "Plant pumpkins without selection" to plant pumpkin based on the average size from the parent generation with a 5% chance of increasing or decreasing the size.
KEEP IN MIND
In this simulation, pumpkins always vary in size and weight, which reveals the concept of variation.
The pumpkin size is inheritable. Namely, bigger pumpkins produce big pumpkins on average, so do the smaller pumpkins.
The smallest pumpkin weight is defined as 1 pound so that you don't get a pumpkin that is smaller than 1. This is to avoid getting a negative size over time.
The large end of the pumpkin weight is defined as 500 pounds, but you can keep going up. The world record is over 2000 pounds !!!
Insufficient water or fertilizer will limit pumpkin growth, so it will take much longer to get large pumpkins. But too much water and fertilizer will kill the pumpkins.
You may observe the changes in pumpkin size when no selection acts on the population.
CREDITS AND REFERENCES
This model is made by Dr. Lin Xiang at Weber State University. If you mention this model in a publication, we ask that you include the citations below.
Xiang, L. (2018). Pumpkin Contest. Zoology Department, Weber State University, Ogden, UT.
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 License. To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/.
Comments and Questions
breed [leaves a-leaf] breed [pumpkins pumpkin] breed [persons person] globals [x y ;mouse position z zs zl ;parent pumpkin size smallest size largest size x1 y1 ] pumpkins-own [weight] to setup ca setup-patches create-leaves 15 + random 10 [set color green + random-float 1 set size 0.3 + random-float 0.4 set shape "leaf-2" set-leaves] create-pumpkins 25 + random 7 [set size (0.3 + random-float 0.3) ;set initial pumpkin size based on water and fertilizer set weight (200 * (size) ^ 2) ;set weight based on size set label round weight ;round the weight set heading -45 + random 90 set color 25 set shape "pumpkin-4" place-pumpkins] output-print "Welcome! The pumpkin contest begins now! Your goal is to" output-print "grow a pumpkin that weighs at least 500 pounds." output-print " " output-print "First pick a pumpkin from the patch below,and then plant it. You may" output-print "also adjust the amount of water and fertilizer for the pumpkins." reset-ticks end to setup-patches ask patches [set pcolor 51.5 + random-float 1] end to set-leaves setxy random-xcor random-ycor end to place-pumpkins setxy random 6 random 7 if any? other pumpkins-here [place-pumpkins] if xcor = max-pxcor and ycor = max-pycor [place-pumpkins] ; leave this patch blank if xcor = max-pxcor and ycor = max-pycor - 1 [place-pumpkins] ; leave this patch blank if xcor = max-pxcor and ycor = max-pycor - 2 [place-pumpkins] ; leave this patch blank end to pick-pumpkin clear-output ifelse any? pumpkins-on patches with [pxcor = max-pxcor and pycor = max-pycor] [user-message ("You may plant the pumpkin now") stop] [if mouse-inside? [ if mouse-down? [ set x round mouse-xcor set y round mouse-ycor ask pumpkins with [xcor = x and ycor = y] [setxy max-pxcor max-pycor set heading -30 + random 60 ]]] ;use mouse to pick a pumpkin and put it to the top-right corner let N count pumpkins-on patches with [pxcor = max-pxcor and pycor = max-pycor ] ; if a pumpkin is picked if N > 0 [ ask pumpkins with [xcor < max-pxcor] [die] ;remove the rest of the pumpkins ask pumpkins with [ycor < max-pycor] [die] if count persons > 0 [ask persons [die]] ;double check to ensure no person ask leaves [die] create-leaves 20 ; recreate leaves [set color green + random-float 1 set size 0.2 + random-float 0.4 set shape "leaf-1" setxy (random-float max-pxcor) (random-float max-pycor)] create-persons 1 ; recreate a person(for fun) [set shape "farmer" set size 0.6 setxy 4.5 5.5] output-print (word "Good!" "You just pick a " round (min [weight] of pumpkins with [pxcor = max-pxcor and pycor = max-pycor ]) " pound pumpkin.") output-print " " output-print ("Now you may plant its seeds.") stop ]] end to plant clear-output ; clear previous results ifelse count pumpkins > 1 ;check if pumpkin has been picked [user-message ("Please pick your pumpkin.") stop] ; if not, ask user to pick a pumpkin [ask leaves [die] ask persons [die] ; if yes, clear leaves and person agents ask pumpkins with [xcor = max-pxcor and ycor = max-pycor] [set z size die] ;obtain the parent pumpkin size create-pumpkins 22 + random 9 ;plan seeds [ set color 29 set shape "p-seed" set size 0.15 set heading -45 + random 90 place-pumpkins ] wait 0.3 ask pumpkins [ ; germination set shape "p-sprouts" set color green set size 0.6 set heading 0] wait 0.3 if water > 3 or fertilizer > 3 [ask pumpkins [set color 37 wait 0.1 die] ;if too much water or fertilier, sprouts die. output-print "Oh no! All pumpkins die." output-print " " output-print "Did you give too much water or fertilizer?" output-print " " output-print "Let's start over."] create-leaves 15 + random 10 ;grow leaves [set color green + random-float 1 set size 0.4 + random-float 0.4 set shape "leaf-2" set-leaves] if count pumpkins > 0 ;if sprouts survive [ask pumpkins [ ;grow pumpkin set shape "pumpkin-4" set color 25 ifelse random 2 = 0 [set size z + random-float (0.01 * fertilizer) + water * 0.005][set size z - random-float 0.04] ;determine the size range if size < 0.1 [set size 0.1] set weight (200 * (size) ^ 2) set label round weight set heading -45 + random 90] do-plot]] ;re-plot the pumpkin weight variation tick if count pumpkins > 0 [output-print (word "You have grown the pumpkins for " ticks " years.") output-print " " output-print (word "The LARGEST pumpkin in this patch weighs " round (max [weight] of pumpkins) " pounds.") output-print (word "The SMALLEST pumpkin in this patch weighs " round (min [weight] of pumpkins) " pounds.")] end to big-pumpkin ask one-of pumpkins with-max [size] [set shape "pumpkin-face" ] end to small-pumpkin ask one-of pumpkins with-min [size] [set shape "pumpkin-face" ] end to do-plot if count pumpkins > 0 [ set-current-plot "Variation in Pumpkin Weight" set-plot-x-range (round (min [weight] of pumpkins) - 1) (round (max [weight] of pumpkins) + 1) set-plot-y-range 0 (count pumpkins / 2) histogram [weight] of pumpkins] end ;------------- to plant-without-selection if leaves != nobody [ask leaves [die]] if persons != nobody [ask persons [die]] clear-output ; clear previous results ask one-of pumpkins with-min [size] [set zs size] ;find the smallest size ask one-of pumpkins with-max [size] [set zl size] ;find the largest size ask pumpkins [die] create-pumpkins 22 + random 9 ;plan seeds [ set color 29 set shape "p-seed" set size 0.15 set heading -45 + random 90 place-pumpkins ] wait 0.3 ask pumpkins [ ; germination set shape "p-sprouts" set color green set size 0.6 set heading 0] wait 0.3 if water > 3 or fertilizer > 3 [ask pumpkins [set color 37 wait 0.1 die] ;if too much water or fertilier, sprouts die. output-print "Oh no! All pumpkins die." output-print " " output-print "Did you give too much water or fertilizer?" output-print " " output-print "Let's start over."] create-leaves 20 + random 10 ;grow leaves [set color green + random-float 1 set size 0.4 + random-float 0.4 set shape "leaf-2" set-leaves] if count pumpkins > 0 ;if sprouts survive [ask pumpkins [ ;grow pumpkin set shape "pumpkin-4" set color 25 ifelse random 100 < 5 [ifelse random 2 = 0 [set size zs - random-float 0.04] [set size zl + random-float 0.04]] ; With a 5% chance, punmpkins are smaller or larger than the parent generation. [set size zs + random-float (zl - zs)] ;With a 95% chance, , punmpkin size fall within the range of parent size if size < 0.1 [set size 0.1] set weight (200 * (size) ^ 2) set label round weight set heading -45 + random 90]] do-plot ;re-plot the pumpkin weight variation tick if count pumpkins > 0 [output-print (word "You have grown the pumpkins for " ticks " years.") output-print " " output-print (word "The LARGEST pumpkin in this patch weighs " round (max [weight] of pumpkins) " pounds.") output-print (word "The SMALLEST pumpkin in this patch weighs " round (min [weight] of pumpkins) " pounds.")] end
There are 6 versions of this model.
This model does not have any ancestors.
This model does not have any descendants.