heredity--pumpkin contest

heredity--pumpkin contest preview image

1 collaborator

Screen_shot_2018-02-02_at_12.53.50_pm lin xiang (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by the author
Model was written in NetLogo 6.0.2 • Viewed 359 times • Downloaded 10 times • Run 0 times
Download the 'heredity--pumpkin contest' modelDownload this modelEmbed this model

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 simulation is create 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

  1. Click on "Find a pumpkin patch!" to setup the simulation. You will get a patch in which pumpkins vary in size and weight.

  2. To choose a pumpkin, click on "Press and then pick a pumpkin" button, then you should be able to choose a pumpkin using the mouse. The pumpkin weight is labelled by the number next to it.

  3. Once choosing your pumpkin, click on "Plant the pumpkin" to plant the pumpkin.

  4. Use 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 ;).

  5. Adjust the "water" and " Fertilizer" slides to water and fertilize pumpkins at a certain level.

  6. Click on "Plant pumppkins 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

  1. In this simulation pumpkins always very in size and weight, which reveals the concept of variation.

  2. The pumpkin size is inheritable. Namely, bigger pumpkins produce big pumpkins on average, so do the smaller pumpkins.

  3. 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.

  4. 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 !!!

  5. 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.

  6. You may observe the changes in pumpkin size when no selection acts on the population.

CREDITS AND REFERENCES

This module 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.

Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

breed [pumpkins pumpkin]
breed [leaves a-leaf]
breed [persons person]

globals [x y   ;mouse position
         z  zs zl    ;parent pumpkin size    smallest size     largest size
         x1 y1
         ]
pumpkins-own [weight lineage]

to setup
ca
  setup-patches

  create-leaves 15 + random 10
   [set color green + random-float 1
     set size 0.4 + 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 (195.68627451 * (size) ^ 2 - 0.95686275)                          ;set weight based on size
         set label round weight                                                 ;round weight
         set heading -45 + random 90
         set color 25
         set shape "pumpkin-4"
        place-pumpkins]

  output-print "Welcome!"
  output-print " "
  output-print "The pumpkin contest begins now!"
  output-print " "
  output-print "Your goal is to grow a pumpkin that weighs"
  output-print "at least 500 pounds."
  output-print " "
  output-print "First pick a pumpkin from patch,and then"
  output-print "plant it. You may also adjust the water"
  output-print "and fertilizer applied to 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 ]]]

  let N count pumpkins-on patches with [pxcor = max-pxcor and pycor = max-pycor ]
  if N > 0 [
    ask pumpkins with [xcor < max-pxcor] [die]
    ask pumpkins with [ycor < max-pycor] [die]
    if count persons > 0 [ask persons [die]]
    ask leaves [die]

   create-leaves 20
   [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
  [set shape "farmer"
    set size 0.6
    setxy 4.5 5.5]


  output-print "Yay!"
  output-print " "
  output-print (word "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 it.")

  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 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 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 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 weight (195.68627451 * (size) ^ 2 - 0.95686275)
      set label round weight
  set heading -45 + random 90]


    if min [size] of pumpkins < 0.10001    ;detect the small end
    [ let mini-pumpkin one-of pumpkins with-min [size]
      create-persons 1
  [set shape "farmer"
    set size 0.8
    setxy [xcor] of mini-pumpkin + 0.3 [ycor] of mini-pumpkin - 0.3

  output-print "WOW!!!"
  output-print " "
  output-print (word "You get the tiny pumpkins weighing only ")
  output-print (word round (min [weight] of pumpkins) " pound.")
  output-print " "

  stop
    ]]

     if max [size] of pumpkins > 1.6     ;  detect the large end
    [ let giant-pumpkin one-of pumpkins with-max [size]
      create-persons 1
  [set shape "farmer"
    set size 0.8
    setxy [xcor] of giant-pumpkin + 0.3 [ycor] of giant-pumpkin - 0.3

  output-print (word "WOW!!! " "Look at the giant pumpkins.")
  output-print " "
  output-print (word "The largest one weighs " round (max [weight] of pumpkins) " pounds!")
  output-print " "

      stop

    ]]

      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 ("The LARGEST pumpkin in this patch weighs ")
   output-print (word round (max [weight] of pumpkins) " pounds.")
   output-print " "
   output-print ("The SMALLEST pumpkin in this patch weighs ")
    output-print (word 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
 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 ("The LARGEST pumpkin in this patch weighs ")
   output-print (word round (max [weight] of pumpkins) " pounds.")
   output-print " "
   output-print ("The SMALLEST pumpkin in this patch weighs ")
    output-print (word round (min [weight] of pumpkins) " pounds.")]
end 

There are 3 versions of this model.

Uploaded by When Description Download
lin xiang 5 months ago REFINE Download this version
lin xiang 10 months ago allow plant pumpkins without selection Download this version
lin xiang 10 months ago Initial upload Download this version

Attached files

File Type Description Last updated
heredity--pumpkin contest.png preview Preview for 'heredity--pumpkin contest' 10 months ago, by lin xiang Download

This model does not have any ancestors.

This model does not have any descendants.