Grade 3 Life Systems
Lesson Summary: Students will create an animated simulation to represent the life cycle of plants.
Curriculum Expectations: These expectations are intended to highlight the many ways in which this lesson could support
the curriculum. It is neither expected nor necessary for teachers to address all of these expectations at once. Teachers
are encouraged to select the most relevant expectations based on their unique context and intentions for the lesson.
Science & Technology
Mathematics
Language - Writing
Overall Expectations
A2. use coding in investigations and
to model concepts, and assess the
impact of coding and of emerging
technologies on everyday life
A3. demonstrate an understanding of
the practical applications of science
and technology, and of contributions
to science and technology from
people with diverse lived experiences
B2. demonstrate an understanding of
characteristics and uses of plants and
of plants’ responses to the natural
environment
Specific Expectations
A2.1 write and execute code in
investigations and when modelling
concepts, with a focus on testing,
debugging, and refining programs
A2.2 identify and describe impacts of
coding and of emerging technologies
on everyday life
A3.3 analyse contributions to science
and technology from various
communities
B2.3 describe changes that different
plants undergo in their life cycles
B2.4 describe ways in which a variety
of plants adapt and/or react to their
environment and to changes in their
environment
Overall Expectations
C3. solve problems and create
computational representations of
mathematical situations using coding
concepts and skills
Specific Expectations
C3.1 solve problems and
create computational
representations of mathematical
situations by writing and executing
code, including code that
involves sequential, concurrent,
and repeating events
C3.2 read and alter existing code,
including code that involves
sequential, concurrent, and repeating
events, and describe how changes to
the code affect the outcomes
Overall Expectations
1. Generate, gather, and organize
ideas and information to write for an
intended purpose and audience
2. draft and revise their writing, using
a variety of informational, literary,
and graphic forms and stylistic
elements appropriate for the purpose
and audience;
Specific Expectations
1.1 identify the topic, purpose,
audience, and form for writing
1.2 generate ideas about a potential
topic, using a variety of strategies and
resources
1.3 gather information to support
ideas for writing in a variety of ways
and/or from a variety of sources
1.4 sort ideas and information for
their writing in a variety of ways
2.1 write short texts using a variety of
forms
2.3 use words and phrases that will
help convey their meaning as
specifically as possible
2.4 vary sentence structures and
maintain continuity by using joining
words (e.g., and, or) to combine
simple sen- tences and using words
that indicate time and sequence to
link sentences
3.4 use punctuation to help
communicate their intended
meaning, with a focus on the use of:
quotation marks to indicate direct
speech; commas to mark
grammatical boundaries within
sentences; capital letters and final
punctuation to mark the beginning
and end of sentences
3.8 produce pieces of published work
to meet identified criteria based on
the expectations related to content,
organization, style, use of
conventions, and use of presentation
strategies
Breaking Down the Coding Expectations In Science & Technology:
In the Grade 3 Science & Technology curriculum, there are 2 coding related expectations:
A2.1 write and execute code in investigations and when modelling concepts, with a focus on testing,
debugging, and refining programs
A2.2 identify and describe impacts of coding and of emerging technologies on everyday life
To paraphrase these expectations and express them in plainer language, students are being asked to:
write code to demonstrate a science-related concept, focusing on testing their code to identify issues, correct
those issues, and further improve their code
show how coding impacts our lives
Both expectations will be addressed through the project.
Learning Goals: We are learning to write code to create an animated simulation to represent the life cycle of plants.
Success Criteria:
1. I can use a variety of backgrounds to create “captions” for my simulation
2. I can use loops to make my code more efficient
3. I can use sprite costumes to create animation effects
4. I can explain the testing and debugging process in my own words
5. I can explain and illustrate the life cycle of plants
STEM Profile:
Robin Wall Kimmerer is a biologist who focuses on botany (the study
of plants).
She is the author of the New York Times bestselling book Braiding
Sweetgrass: Indigenous Wisdom, Scientific Knowledge and the
Teachings of Plants.
Kimmerer is an enrolled member of the Citizen Potawatomi Nation, a
federally recognized indigenous tribe located in what is now known as
Oklahoma, USA. She combines her indigenous heritage with her
scientific and environmental passions to explore how traditional
Indigenous knowledge and worldviews can help us better understand
plants and the environment.
Like Robin, we will be using our knowledge of the life cycle of plants to help others understand the beauty of nature.
Minds On:
1. Students will have different experience levels when it comes to coding.
a. If students have never experienced coding before, please watch the “What is Coding?” video.
b. If students have experienced coding before, have a quick discussion in which students share their definition
of coding. Some responses to look for include:
i. Coding is the language that computers speak
ii. Coding is how we talk to computers or get computers to do what we want
iii. Coding is the instructions that we give to a computer
2. Introduce the idea of a loop, which is a repeating section of code used to make the code more efficient; for example,
both of the following stacks of code do the same thing (i.e., have a sprite draw a square). Which is more efficient?
3. As code is created, the testing, debugging, and refining processes are used to make sure the project works and is
the best version of itself. There are 3 stages in this process:
a. Testing - Don’t wait until ALL of your code has been written to start testing it. Test it along the way to catch
errors before they compound. Similarly, make sure to test ALL of your project in all possible combinations.
b. Debugging. Mistakes are made and thinks don’t always work out as expected when writing code. After
code has been tested and issues discovered, debugging is the process of identifying the location of and
correcting issues.
c. Refining. There may not be a problem with the code, but it could be made simpler or more efficient.
Refining is the process of making code as simple as possible, while still giving the desired outcome.
Discussion: Can students think of a time where they used the testing, debugging, and refining process (i.e., outside
the context of coding)?
4. Have a brainstorming discussion with students to generate ideas for their animated story. This can be done in small
groups or as a whole class. Some sample prompts include:
a. What are the main stages of the plant cycle?
b. How is the plant cycle similar/different for various types of plants?
c. What are the different ways that plants can be pollinated?
Planning Our Project:
Provide students with the animated story project planner and encourage students to create scenes to represent thet
life cycle of a plant. Students should outline what will happen in each scene by drawing pictures and writing a few words
or sentences, including any dialogue that will appear on screen, and starting to plan their code, if applicable. Teachers
may wish to provide a list of words from which to choose, a scribe, or other assistive technology to support students.
Creating Our Project:
Since every student’s project will be unique, there is no single, step-by-step set of instructions to follow; however, the
information below will support you in the general process of creating an animated story, as well as key features that
students will likely want to include. This sample code further demonstrates how the project might work and please note
that there is code included for each of the sprites and the stage. For your reference, Scratch determines where to display
sprites and controls movement using a Cartesian coordinate system, with (0,0) being the center of the screen and it may
be helpful to pre-teach this concept, if it is one with which students are unfamiliar.
1. Choose or create your backdrop for the project, starting with one backdrop for now (i.e., we will return to the
backdrops later on to add captions to the stages of the life cycle of a plant). Consider creating a backdrop that is
approximately 1/3 soil and 2/3 sky in order to be able to see both the roots of the plant and the plant itself in your
animation.
2. Delete the cat sprite that is automatically added to your project. To create a sprite, delete the cat that is
automatically added to your project; then hover over the “choose a sprite” button and select “paint”.
3. In the Paint Editor, you will design all of the stages of the plant throughout its life cycle in a single sprite using
costumes. How many costumes you add will depend on how detailed and realistic you want the animation to be.
The more costumes (or “frames” in animation) you add with minor changes between each one, the more realistic
it will look. However, in most cases 3-5 costumes per phase of the life cycle should be sufficient. Make sure that
your costumes are in order, from the earliest phase in the life cycle to the final phase. See the sample project for
an example of what this might look like. It is also advisable to rename your sprite as a whole and each of the
costumes in order to keep track of your work more easily.
4. Use an event block like When Green Flag Clicked to start your code. Use the Switch Costume To block to switch your
costume to the first costume in the series. Use the Go To X () Y () block to program the starting position for your
sprite (i.e., it should be in the part of the screen that represents the “ground”).
5. Next, use a loop to rotate through all of the sprite’s costumes. Use a Repeat () block and set the number to one less
than the number of costumes you created (i.e., if your sprite has 15 costumes, then set the loop to 14). Inside of
the loop, add a Wait () Seconds block and set it to anywhere between 0.5 and 1 seconds (i.e., the shorter the time,
the faster the animation will run). A setting of 0.5 seconds makes the animation fairly realistic without being too
fast). Still inside of the loop, add the Next Costume block. This will ensure that each time the loop cycles through it
moves on to the next costume in the series.
6. Outside of the loop, Broadcast a message. You may wish to rename this to something like “Pollinate” and add
another sprite that is designed to look like a pollinator of your choice (i.e., a bee). You can add multiple costumes
to make the animation look more realistic and remember to give your sprite a short and clear name, as well as
clearly label all costumes.
7. Each sprite is programmed separately, so click onto your new sprite in order to start writing the code for this
character. If you plan to have an animation for this sprite to make it look like it is moving, use the When Green Flag
Clicked block to start one line of code. Start your code by using the Hide block so that this sprite will not be visible
until later on in the animation. Add in a Forever loop block and inside of it add the Switch Costume To () block and
a Wait () Seconds block. Repeat this inside of the loop for however many costumes this sprite has.
8. In the same sprite, add another line of code, this time being triggered by the When I Receive () event block. Make
sure to set it to match with whatever message is being broadcast in the code for your plant sprite. In this new line
of code, use the Go To X () Y () block to program a starting position for this sprite. Use the Show block to make the
sprite appear on screen.
9. Use the Glide () Seconds to X () Y () block to program this sprite to glide across the screen towards the plant sprite.
Have it end up in a position where it will look like it has landed on the plant. How many seconds it takes to
accomplish this is up to you. Use a Wait () Seconds block to have the sprite pause on the plant, then use another
Glide () Seconds to X () Y () block towards the opposite edge of the screen.
10. Finally, we are ready to create the backgrounds for our animation that will include captions. Click the “Backdrops”
section in the bottom right-hand corner of the screen and then move to the “Backdrops” Tab near the upper left-
hand corner of the screen. Much like you did with the costumes for your sprite, you will create different variations
of your backdrop through which to rotate. In each version of the backdrop, use the Text Tool in the Paint Editor to
create text captions describing the phase of the plant cycle and some key information about what happens in that
stage. Be sure to rename each version of your backdrop so that you can easily keep track of them and refer to them.
11. Once you have set up all of the versions of your backdrop, the final step is to write some code so that they rotate
on a timed interval. Switch back to the “Code” tab in the “Stage” area. Start with the When Green Flag Clicked block.
Afterwards, use a sequence of Switch Backdrop To () and Wait () Seconds blocks to alternate between versions of
your backdrop and keep them timed to the animated plant cycle.
Extensions:
Students can choose a plant that is of significance to First Nations, Métis, and/or Inuit communities and/or a plant
with significance to their culture to include as the focus of their animation. They may also wish to add text explaining
this significance.
Instead of written dialogue, students can use the Sound Editor to record their own sounds. The Start Sound () and
Play Sound () Until Done blocks will allow students to insert those files into their code.
To learn more about Robin Wall Kimmerer and/or the life cycle/importance of plants, consider thet following books
and videos
o Up In the Garden and Down In The Dirt by Kate Messner
o The Amazing Life Cycle of Plants by Kay Barnham
o GIFTS OF THE LAND | A Guided Nature Tour with Robin Wall Kimmerer from The Commons KU
o The Honorable Harvest Robin Kimmerer from Bioneers
Sharing Our Work/Consolidation: Students can share Scratch projects using these steps.
1. Students should be provided with time to share their projects with others and to engage in self and peer
assessment. This can be done in a variety of different formats, including a gallery walk, whole class presentation, or
“trading” their project with another student. Students can provide feedback in a variety of ways, including written
and verbal. A variety of feedback options and templates are available in Appendix A.
2. An important aspect of assessing student understanding is focusing on the process, not the product. While it is
important to have a final product that functions as intended, students are often asked to produce something within
a limited time frame; therefore, it may be the case that, given more time, a student would be able to produce a
fully functional product.
To assess learning, teachers can conference with students throughout the creation of their projects using the
anecdotal prompts in Appendix B and documenting these discussions using an anecdotal observations chart.
Teachers are encouraged to consider the troubleshooting strategies used by students throughout the project, their
ability to explain how their project works, and what they might do differently in the future.
3. A rubric can be used to evaluate the final product. This and other assessment and evaluation tools can be modified,
as needed.
Low -Tech/No-Tech Modifications:
While it is ideal to have one device per student, this is not the reality for many classrooms. If you are planning to
have students work in groups, consider a maximum group size of 2 students to ensure as much “hands-on” time
with coding as possible. If access to devices is limited, you may wish to implement this lesson as part of a station
rotation within your classroom or use another strategy to work with small groups.
If you have no access to devices, you can:
o print images of the Scratch blocks in the folder at this link, cut them out and have students create their
code with paper blocks instead.
o You may also wish to print out images of the background scenes and characters to further support students
Appendix A: Self and Peer Feedback
Student Self Assessment
o Thumbs Up
o WIN
Peer Assessment
o Two Stars and a Wish
o TAG
Appendix B: Anecdotal Prompts
Throughout the time when students are creating their projects, teachers are encouraged to circulate and conference
with students to discuss their projects and progress. The process is just as, if not more, important than the final product
when it comes to coding, so this is key to truly understanding a student's understanding.
Key Concepts
Students should be able to identify, name, and explain key coding concepts in their own words; for example, sequence
can be described as the order in which you write your code matters”. Conditionals can be described as “if-then
statements that give your computer options to choose from.” The wording may be unique to each student, but they
should be able to explain the concept.
Suggested Prompts:
1. Can you tell me what you know about ______?
2. Can you show me where in your code you used _____? How does it work?
Application
There may be times when students “stumble” into the “right” answer in their code without fully understanding how
they got there, while another student may have a project that isn’t working the way they intend, but they know exactly
why and are able to very clearly articulate the steps they would take to fix the issue, if they had more time. Just because
a student’s project is not working exactly as they want it does not necessarily mean that they don’t understand so it is
important to take the time to discuss with students.
Suggested Prompts:
1. Can you tell me what this section of your code does?
2. It seems like this section of code isn’t working the way you want it to. Why do you think that might be? How
might you fix it?
3. What would happen if you made _____ change?
Troubleshooting/Debugging
In the world of code, a lot of mistakes are going to be made. Not only is this completely normal (and it happens to
professional computer programmers all the time), but it is actually HOW we learn to code. To move from making the
mistake into learning from it, students need to develop and utilize effective troubleshooting strategies. If a student just
sits there staring at their code for a week trying to figure out an issue without ever asking for help, they are not
demonstrating effective troubleshooting strategies. Effective troubleshooting strategies that students may demonstrate
include:
Reading their code out loud to themselves to attempt to identify errors
Sharing their code with a peer to ask for help in identifying an error
Dealing with frustration by taking a break from their code
Searching the web for answers to their questions
Suggested Prompts:
1. Can you tell me about a time where your code wasn’t working the way you wanted it to? What did you do to
fix it?
2. It seems like this section of code isn’t working the way you want it to. Why do you think that might be? How
might you fix it?
3. What are some mistakes you made when creating your project? What would you do differently next time?