Grade 3 Structures and Mechanisms
Lesson Summary: Students will create an animated story that demonstrates the environmental impact of different
structures, including those built by animals.
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
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
D1. assess the importance of form,
function, strength, and stability in
structures to society and the
D2. demonstrate an understanding of
the concepts of strength and stability
as they relate to structures with
various forms and functions, and of
the factors that affect structures’
strength and stability
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
D1.1 assess effects on society and the
environment of strong and stable
D1.2 assess the environmental
impact of structures built by various
animals, including structures built by
D2.1 describe a structure as a
supporting framework that holds a
load and has a definite size, shape,
and function, and identify structures
in the natural environment and in the
built 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
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
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 to combine simple sentences
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
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 story that demonstrates the environmental impact
of different structures created by humans and animals.
Success Criteria:
1. I can use a variety of event blocks and movement blocks
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 the environmental impact of structures
STEM Profile:
Michelle Kaufmann is an American architect and designer who focuses on creating green homes. She focuses on using
building techniques to create structures that are environmentally conscious and
Her work has been showcased in numerous museums, including the National
Building Museum, the Vancouver Art Center, the Museum of Contemporary Art,
and most recently the museum of Science and Industry.
Like Michelle, we will be using our knowledge of structures to help others
understand their environmental impact.
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. Brainstorm with students to generate ideas for their project. This can be done in small groups or as a whole class.
Some sample prompts include:
o What makes a structure have a positive or negative impact on the environment?
o What are structures we see in our community? What is the impact on the environment?
o How are the structures that animals build similar/different to those built by humans?
Note: The example code for this project includes a tour of different places and their structures. This is not the only type
of project that would be appropriate but is intended to serve as a sample.
Planning Our Project:
Provide students with the animated story project planner and encourage students to create between two and four
scenes in which different types of structures are represented. 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(s) for the project. If adding multiple backdrops, all of them can be added now or
later on.
2. Delete the cat sprite that is automatically added to your project and press the “choose a spritebutton to select a
new sprite. You may wish to add all sprites that will be needed at this time. Remember that each sprite is
programmed separately, so be sure that you have selected the correct sprite before starting to write your code.
3. Your code must always start with an Event block. In this project, you will likely use the “When Green Flag Clicked
block. You will also likely use the When I Receive ()block, in combination with the Broadcast ()block throughout
your code to trigger events to create the appearance of interactions between your sprites.
4. Some key features you may wish to use to set a “starting state” for your sprites include:
a. Go To X () Y () will allow you to set a static position for your sprite. This can be used at the start of a stack
of code in order to set a “starting position”
b. The Show and Hide blocks can be used intermittently throughout your code in order to have sprites appear
on screen or become “invisible” until a later time.
c. If you plan on having a sprite rotate at any point in your code, you will also want to set a starting direction
for your sprites using the Point In Direction () block.
Please note that Scratch does not automatically “reset” your sprites when you replay your code, so setting a starting
position, direction, and state of show/hide is often necessary.
5. To make your story more interactive, you may wish to use some of the following features:
a. The Say () For () Seconds block will allow you to create a “speech bubble” above a sprite for a certain
amount of time.
b. You can record your own sounds or choose from the ready made sound files in Scratch using the Sound
Editor. Use the Play Sound () Until Done block to play the desired sound clip in full.
c. The Glide () Secs To X () Y () block will allow you to have your sprite glide across the screen to a certain
coordinate. The longer the number of seconds, the slower it will move. This helps create the effect of more
realistic movements.
d. The Turn () Degrees block can be used to create a “spinning” effect in your code. Combine with a Repeat
() block or a Forever block to use a loop to automate this effect.
6. If you are using Scratch’s pre-designed sprites, you can use Costumes to create a more interesting, animated effect
on your characters. If you have designed your own sprites, you will need to create your own costumes using the
Paint Editor.
a. You can use a loop to rotate through all of the sprite costumes. Use a Repeat () block or a Forever block
and, inside of the loop, add a Wait () Seconds block. Set it to anywhere between 0.25 and 0.5 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.
b. 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. If you have used a Repeat () block, then you will need to use
the number of costumes available for the sprite to calculate how many times the loop should repeat (i.e.,
if there are four costumes available for your sprite, setting the loop to 4 will be one