Grade 6 Structures and Mechanisms
Lesson Summary: Students will create a playable quiz game that demonstrates the impact of aviation on the
environment and how to reduce its negative impacts.
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 and in
STEM related fields
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 environmental impacts
of flying machines
Specific Expectations
A2.1 write and execute code in
investigations and when modelling
concepts, with a focus on obtaining
input in different ways for a variety of
purposes
A2.2 identify and describe impacts of
coding and of emerging technologies
on everyday life, including skilled
trades
A3.3 analyse contributions to science
and technology from various
communities
D1.1 assess the impacts on society of
aviation technologies, while
considering both local and global
perspectives
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 efficient code,
including code that
involves conditional statements and
other control structures
C3.2 read and alter existing code,
including code that involves
conditional statements and other
control structures, 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 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
strategies
Breaking Down the Coding Expectations in Science & Technology:
In the Grade 6 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 obtaining input
in different ways for a variety of purposes
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 writing code that asks the user to provide
information or data
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 playable quiz game that teaches others about the impacts of
aviation on the environment.
Success Criteria:
1. I can use a variety of event blocks to control the flow of my program
2. I can use conditionals to evaluate a player’s response
3. I can collect and use input from the player to change the outcome of my program
4. I can use variables to store data, including input from the player
5. I can effectively share information about the impacts of aviation on the environment.
STEM Profile:
Have you ever dreamed of flying a plane? Bessie Coleman (1892 1926) was the first
Black and Native American woman to hold a pilot license in the USA.
At the time, there were no opportunities in the USA for women, Native Americans, or
Black people to learn how to fly planes, so Bessie had to go all the way to France to get
her pilot’s license! Because of this, she was also the first Black person hold an
international pilot’s license.
Her role as a pioneer in aviation was an inspiration to many early pilots and people in
the Black and Native American communities who were interested in flight, planes, and
even travel into outer space!
Like Bessie, we will be exploring the world of flight and planes as we help others
understand the larger impacts of flight on our lives and environments.
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 input, which is data or information that is provide by the user or programmer. The data or
information is then used, in some way, to influence the outcome of the code. A real life example would be if you
ask someone what their favourite flavour of ice cream is (seeking their input) and they respond that it is chocolate
(the data or information) and you use that response to determine what flavour of ice cream to purchase for a treat
(using the data to influence the outcome).
Discussion: Can students think of a real-life example of a time when they have sought input?
3. In small groups or as a class, brainstorm with students the types of questions they will ask in their quiz game,
including a mix of questions about the impacts of aviation on the environment, as well as strategies that can be
used to reduce this impact. Some sample prompts include:
o What are some positive and negative impacts of flight and airplanes?
o What populations are mostly negatively and positively impacted by flight and airplanes? Why?
o What are the components of airplanes that have positive and negative impacts on our lives and
environments?
Planning Our Project:
Provide students with the project planner and encourage students to create between three and ten questions about
the impacts of aviation. Students should plan out their questions 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 game, 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.
Part 1: Set Up
1. Use the Choose a Backdrop button and select the Paint Editor to create a series of backdrops that include the
answers to each question that will be asked. Each question should have its own backdrop that includes just the
answers for that question (i.e., the question will be included as part of your code) and be sure to name your
backgrounds clearly.
2. Choose a sprite to serve as the “host” of your game. All code written for this project will be in this sprite.
Part 2: Opening Scene & Score
1. Add the When Green Flag Clicked block and use the Go To X () Y () block to position your sprite
2. In the Variables menu, create a variable called Score and uncheck the variable so it does not appear on screen.
3. Use the Set () to () block to set the Score variable to 0.
4. Using as many Say () for () Seconds blocks as needed, provide information that the player needs to know at the start
of the game, including but not limited to:
a. Introduce the sprite as the host
b. Explain the goal of the game
c. Explain how the player will be presented questions and be able to answer them
5. Finally, add a Say () block and instruct the player to press the space bar to begin the game.
6. Use a Wait Until () block and drag a Key () Pressed? block from the blue Sensing menu into the empty space of the
Wait Until () block. Set it to the Space key.
7. Finally, add a Switch Backdrop To () block and set it to switch to the background that represents your first question.
Part 3: Setting Up Question 1
1. Add the When Backdrop Switches To () event block and set it to match your background that represents your first
question.
2. Use the Go To X () Y () block to reposition your sprite, if necessary.
3. Use the Ask () And Wait block from the blue Sensing menu to ask the question that the player is expected to answer.
The answer options should be shown as part of your background.
4. Drag out an If () Then, Else block add a () = () block from the green Operators menu to the black space of the If ()
Then, Else block.
5. In the first blank space of the () = () block, add the Answer block from the blue Sensing menu. In the second blank
space, add the letter that matches the correct answer for your quiz question.
6. The If Then section of the If () Then, Else block will run if the player inputs the correct answer. In this section, add:
a. A Change () By () block from the orange Variables menu. Set it to match the Score variable and to increase
by 1.
b. Use a Say () for () Seconds block to display a message to the player showing that they selected the correct
answer.
7. The Else section of the If () Then, Else block will run if the player inputs the incorrect answer. In this section, just
add a Say () for () Seconds block to display a message to the player showing that they selected the incorrect answer.
8. Finally, outside of the If () Then, Else block add a Switch Backdrop To () block and set it to the background for your
second question.
Part 4: Setting Up Additional Questions
1. Repeat the steps in Part 3 for all subsequent questions, using a new When Backdrop Switches To () event block to
trigger the code for that question and the final Switch Backdrop To () block being changed to move on to the
following question. Make sure that the Answer = () operator aligns with the correct answer.
2. To save time, you can right click on a section of code and select Duplicate in order to make an exact copy of code
that has already been written.
Part 5: Ending the Quiz Game
1. In the line of code for the final quiz question, ensure that the Switch Backdrop To () block is set up to change to the
background you created for your end game screen.
2. Use a When Backdrop Switches To () event block to trigger the end game screen.
3. Reposition your sprite using the Go To X () Y () block if necessary and add a Say () block.
4. Add a Join () () block from the green Operators menu to the blank space of the Say () block
5. In the first blank space of the Join () () block, write the beginning of a message that will tell the player what their
final score was (do not include any number for the score).
6. In the second blank space of the Join () () block, drag the round Score block that was created in Part 2 from the
orange Variables menu. This will ensure that the score displayed to the user represents the actual number of
questions they got correct and will change each time the game is played, depending on the player’s performance.
Extensions
Students can take their own photos and upload them as backdrops and/or sprites using the Paint Editor
Students can also 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 Bessie Coleman and about planes and flight, consider the following books and videos:
o Fly High: The Story of Bessie Coleman by Louise Borden and Mary Kroeger
o Nobody owns the Sky by Reeve Lindbergh
o Biography: Bessie Coleman from Biography
o How Does an Airplane Fly? | Evolution Of Planes | The Dr Binocs Show from Peekaboo Kidz
o What Makes Airplanes Fly? Song Ask the StoryBots from Netflix Jr
o How do airplanes fly? From Interesting Engineering
o Can Planes Ever Be Environmentally Friendly? from Seeker
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?