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.2.2 • Viewed 2786 times • Downloaded 93 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 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

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

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

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

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

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

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

  1. In this simulation, pumpkins always vary 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 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.

CC BY-NC-SA 4.0

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

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

Click to Run Model

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.

Uploaded by When Description Download
lin xiang about 2 years ago adjust the interface Download this version
lin xiang over 3 years ago update license Download this version
lin xiang over 4 years ago Fit in NetLogo Web window Download this version
lin xiang over 6 years ago REFINE Download this version
lin xiang almost 7 years ago allow plant pumpkins without selection Download this version
lin xiang almost 7 years ago Initial upload Download this version

Attached files

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

This model does not have any ancestors.

This model does not have any descendants.