Grade 8 Earth and Space Systems
Lesson Summary: Students will create a public service announcement about the importance of clean drinking water,
with an emphasis on the effects of contaminated drinking water on particular Indigenous communities.
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
Specific Expectations
A2.1 write and execute code in
investigations and when modelling
concepts, with a focus on automating
large systems in action
A2.2 identify and describe impacts of
coding and of emerging technologies,
such as artificial intelligence systems,
on everyday life, including skilled
trades
E1.1 assess the social and
environmental impact of the scarcity
of fresh water, and propose a plan of
action to help address fresh water
sustainability issues
E1.2 demonstrate an understanding of
First Nations, Métis, and Inuit
knowledges and values about water,
connections to water, and ways of
managing water resources sustainably
E1.3 assess the impact of scientific
discoveries and technological
innovations on local and global water
systems
E2.1 identify the states of water on
Earth’s surface, their distribution,
relative amounts, and circulation, and
the conditions under which they exist
E2.2 demonstrate an understanding of
a watershed, and explain its
importance to water management and
planning
E2.3 explain how human activity and
natural phenomena cause changes in
the water table
E2.4 identify factors that have
contributed to the melting of glaciers
and polar ice-caps, and describe the
effects of this phenomenon on local
and global water systems
E2.6 describe various indicators of
water quality, and explain the impact
of human activity on those indicators
E2.7 explain how municipalities
process water and manage water
usage
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 the analysis of
data in order to inform and
communicate decisions
C3.2 read and alter existing code
involving the analysis of data in
order to inform and communicate
decisions, and describe how
changes to the code affect
the outcomes and the efficiency of
the code
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 8 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 automating large
systems in action
A2.2 identify and describe impacts of coding and of emerging technologies, such as artificial intelligence
systems, on everyday life, including skilled trades
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 writing code that includes elements of
automation
show how coding impacts our lives
Both expectations will be addressed through the project.
Learning Goals: We are learning to write code to create a PSA about the importance of drinking water, with a focus on
contaminated drinking water in Indigenous communities.
Success Criteria:
1. I can use a variety of event blocks to trigger different parts of my code
2. I can use conditionals to respond to data in my code
3. I can use a variety of blocks to seek input from my user
4. I can represent the importance of clean drinking water
5. I can provide important information about the impacts of contaminated drinking water on Indigenous
communities
STEM Profile:
Makaśa Looking Horse is a Mohawk and Lakota water activist from Grand River, Ontario. Makaśa
took a stand to protect the water in her community when she learned that the company Nestlé
had received a permit from the Ontario government to draw water from the aquifers of Grand
River, Ontario as part of their bottled water operations. As part of this agreement, Nestlé would
only have to pay little more than $500 for every million litres they took. Even worse, residents
were not consulted before this agreement was made nor were they going to be compensated.
Makaśa points out that across Canada there are many boil water advisories in Indigenous
communities, meaning that the water is not safe to drink. Because aquifers take so long to form
(more than 10,000) Makaśa argues that Nestle has put the long-term health of their water at
risk by draining more than 3.6 million liters to be re-sold as bottled water, which also causes
plastic pollution.
While Nestle did eventually end its operations in Grand River, Makaśa is not done fighting for the health and well-being
of her people and all indigenous communities. It is important to take action to protect drinking water to help ensure all
communities are water secure. To be more like Makaśa, we must learn about why clean drinking water is important and
be aware of how many Indigenous communities don’t have this essential need.
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. In small groups or as a whole class, brainstorm with students to generate ideas that could be included in their public
service announcement. Some sample prompts include:
o Why is water important to the health of humans?
o What is the significance of water in different communities and cultures, including Indigenous
communities?
o What are actions that have negative and positive impacts on water?
o How does access to clean water change depending on where you live or who you are?
o How can we sustainably manage water resources?
Planning Our Project:
Provide students with the project planner and encourage students to use it to outline the different parts of their public
service announcement 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 your students in the general process of creating a public service announcement, as well
as key features that they 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 but be sure to rename your backdrops as appropriate to help keep track of them through the project.
2. Delete the cat sprite that is automatically added to your project and press the choose a sprite“ button 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. Use the Switch Backdrop To () block to set your starting backdrop and use the Switch Costume To () block
to set the starting costume for your sprite, if appropriate (more on this below).
b. Go To X () Y () will allow you to set a static position for your sprite. This can be used at the start of a line of
code in order to set a “starting position”
c. 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.
d. 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.
e. If you plan on having your sprites rotate between costumes at any point in your code, you will want to use
the Switch Costume To () block to set the starting costume.
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 full rotation through
all the costumes).
7. Using the Ask () and Wait block requires the viewer to input information or data, such as a response to a question.
8. Using the Broadcast () block paired with the When I Receive () block can allow you to trigger certain events to create
a more interesting story. Be sure to use short and clear names for your messages to keep track of them. See the
sample code for more detail on how this block can be used.
9. If students wish to create multiple backdrops for their project, they will need to use the Switch Backdrop To () block
to rotate between backdrops. They may also wish to use the When Backdrop Switches To () block in order to trigger
certain events upon the changing of a backdrop. See the sample code for more detail on how this block can be used.
10. To make your story more interactive, use the Ask () And Wait block to request input from the user. To actually use
the response provided to influence your code, follow the steps below:
a. Use an If () Then or If () Then, Else block to create a condition to evaluate what response was given.
b. In the blank space of the block, add a () = () from the green Operators menu.
c. In the first blank space of the () = () block, add the Answer block from the blue Sensing menu. This variable
will store whatever response the user provided in the most recent Ask () and Wait section. In the second
blank space of the () = () block, add the desired response.
d. In the open space of the If () Then or the first open space of the If () Then, Else block, add the code that
you wish to run if the user enters the desired information (i.e. correct)
e. In the second open space of the If () Then, Else block, add the code that you wish to run if the user enters
anything other than the desired information (i.e. incorrect).
f. You can use the Join () () block combined with the Answer block to use whatever the user entered and
combine it with more text (e.g. “[user’s response] is not correct. Good guess!”)
11. At any point, you can use the Wait () Seconds block to insert a pause/delay in your code.
Extensions
Students can take their own photos and upload them as backdrops and/or sprites using the Paint Editor
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.
Students may also choose to use the When Sprite Clicked event block to seek input from the user and trigger
the start of different components of their public service announcement.
To extend their learning and skills, students may wish to:
o Set each sprite size to be proportional to its actual size
o Set each sprite’s position to be proportional to its actual distance from other components in the scene
o Add background sprites and information to represent water quality
To learn more about Makasa Looking Horse and water protection, consider the following books and videos:
o Makasa Looking Horse speaking at Reclaim Nestle's Troubled Waters: End the Extraction from
Ohneganos Ohnegahdę:gyo
o The Anishinaabe woman who walked for water rights from Historica Canada
o Why lakes and rivers should have the same rights as humans | Kelsey Leonard from TED
o We Are Water Protectors by Carole Lindstrom
o Nibi’s Water Song by Sunshine Tenasco
o The Water Walker by Joanne Robertson
o Treaty Words by Aimée Craft
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?