In this module students will retell a story, summarizing its key points, using coding in Scratch. Students will learn about sequencing, selection, and repetition, the three basic logic structures in computer programming. Translating text to code allows students to implement computational thinking. This module will use the book What’s My Superpower? by Aviaq Johnston from Inhabit Media.
Through this module students will gain valuable experience learning how to summarize stories. They will learn how to use a loop counter for repetitive parts of the story. Using sequencing, selection, and repetition, students will learn to employ computational thinking.
- The order of events in a program. In proper sequencing events are not skipped, and one action or event leads to the next, establishing chronology.
- A decision made in the program. Based on the answer of a question, the program can branch in different directions. Can also be the slight differences between the repeating parts.
- Something that is repeated a number of times until a specific result is achieved.
- Inuktitut for mother.
- A snow house.
- A sculpture made with rocks piled on top of each other.
- Inuktitut for daughter.
- Do you think storybooks and computer programs share any similarities? Are they related in any way?
- Have you ever kept track of something by counting it? What was it?
This module links to the language curriculum as students will be retelling and summarizing a story using coding. Students will have to determine which parts of the story are important and are needed to effectively retell the story. In the extension activity, students will write an additional repetitive piece that fits into the story and will add it to their digital retelling.
To become more comfortable with the idea of a loop counter, students will do an activity where they need to keep track of an event through counting. The activity is represented in the flowchart below. Students will shake the hands of three different students, keeping track of how many hands they have shaken, as each time a hand is shaken, they must ask a specific question. The loop counter is represented by how many hands they have shaken. If the number of hands they have shaken is one, they will ask the person the corresponding question. This process is repeated until students have shaken three hands. After the third handshake and question students sit down and wait for others to finish. They should not shake the same person’s hand twice. The questions and number of handshakes required can be adjusted based on the class size and needs.
Students will retell the story What’s My Superpower? in Scratch, using variables to make a loop counter. Only the important parts of the story need to be included, not every detail. Sprites will be added to visually represent what is happening in the story.
As a group read What’s My Superpower? by Aviaq Johnston and summarize what happened in the story. As some students may be new to summarizing, use the following questions as guides:
- What are the main ideas of the story?
- What are the important details that are needed to support the main ideas?
- What information is not needed?
Write the important information on a whiteboard or chalkboard.
Since repetition can be used to reduce the amount of programming required, determine the repetitive parts of the story. Try representing the story using images and symbols to see what parts repeat. We need to think about the similarities in these parts and the slight differences. In What’s My Superpower?, Nalvana is searching for her superpower and notices the superpowers her friends have. The story repeats as she figures out the superpower of each friend. The slight difference, or selection, is the power each friend has. This is where we can use a loop counter in our program.
Everyone’s retelling of the story will vary. Some students may want to include more details or have the characters talking to each other. Other students may want to include the conversations Nalvana has with her mother after finding each person’s superpower, or may want to include Nalvana trying out the different superpowers. It will be interesting to see how each student interprets the same story in a different way.
- Open a new Scratch project and delete the cat. To do this (in Scratch 3) click on the cat in the sprite menu and click the ‘x’ in the top right corner.
- Select a background to accompany your story by clicking the ‘Choose a Backdrop’ icon at the bottom of the stage menu. Import the background stage_intro from the asset folder by hovering over the “Choose a Backdrop” button and clicking the “Upload Backdrop” button.
- Add the Nalvana sprite by hovering over “Choose a Sprite” and clicking “Upload Sprite”.
- Add the “When flag clicked” block to start our program.
- Since we will be changing backdrops throughout our project, we want to set the backdrop at the start of our code by using the “switch backdrop to” block.
- We also need to create a loop counter by creating a variable in the “Variables” section. Click “Make a Variable” and name it “LoopCounter”.
- Use the “set LoopCounter to” block to set the variable to 0 at the start of our code.
- Add say blocks from the “looks” section to have Nalvana introduce the book title and author.
- Continue adding “say” blocks to give the viewer the back story. Adjust the timing, by clicking and typing in a number, to allow enough time for each statement to be read.
- Davidee is the first character that Nalvana meets. To program her interactions with Davidee add the “change LoopCounter by 1” block to Nalvana’s code.
- Add the Davidee sprite and the stage_basketball background.
- We only want the Davidee sprite to appear when the loop counter is at 1. To do this we will need to program an if-else loop that checks the value of the loop counter.
- This only checks the value of the “LoopCounter” when the flag is clicked. To have this condition be checked continually put a forever loop around the if-else loop.
- To have Davidee start in the same position, set his location using the “go to” block from the motion section. Nalvana’s location can be set in the same manner.
- Nalvana is part of the backgrounds until the final scene. To hide her sprite but still have the speech bubbles appear we need to create a new costume for her sprite. Select Nalvana and then click the costumes tab at the top.
- Once in the costumes tab hover over the new sprite button and select paint. This will create a new costume that is empty. Leave it empty so Nalvana only appears as part of the backdrop but can still talk.
- Add in the rest of the Davidee sprites as costumes by hovering over the choose a costume button and selecting upload a costume.
- Program Davidee to look like he is running by switching costumes in a forever loop with a “wait” block.
- “Glide” blocks can be used to have Davidee move from one side of the screen to the other. This will add to the appearance of him running. The rotation style will need to be set to left-right so Davidee doesn’t run backwards. The direction he is facing can be set with the point in “direction” blocks.
- To program Nalvana talking about Davidee, use an if loop and “say” blocks. Add the “change LoopCounter by 1” at the end to switch to the next character interaction.
- Note: This code may look different depending on if the students are having the characters talk to each other. To do this they will need to use “wait” blocks to adjust the timing of the “say” blocks.
- The second person Nalvana meets is Maata. Add in the Maata sprite and backdrop stage_playground_.
- Program Nalvana and Maata the same way the interactions between Nalvana and Davidee were programmed in the previous steps. Make sure the if loops are checking that the “LoopCounter” is two.
- Program Maata jumping using a combination of glide blocks and turn blocks to give the illusion of Maata swinging.
- Repeat the process for Joanasie and Adamie with the “LoopCounter” being three and four respectively.
- Program Joanasie building and Adamie swimming using the provided assets. Be creative and find ways to show their movements in the story.
- The final character Nalvana talks to is her mother. This happens when the “LoopCounter” is 5. The code will be similar to the code for the other sprites.
- Add the Anaana (mother) sprite and stage_couch_ backdrop.
- Program the background change and conversation between Nalvana and her Anaana.
- Program change in expression of the mother by adding the costumes and changing them. This will make it look like she is talking.
- Nalvana’s expressions can be programmed using costumes as well. In the asset folder there are expression assets that will fit over Nalvana’s face. Add these sprites to Nalvana’s character and switch them as her expression changes.
- At the end of the conversation add the “stop all” block from the control menu. This will stop all scripts and end the story retelling.
As an extension activity, students can write an additional piece that fits into What’s My Superpower? Following the format from the story, students will introduce a new character, based on themselves or a classmate. They should look at the skills the person has and transfer that into a superpower. For example, if the person is very strong, their superpower could be super strength. Once everyone is done writing their story addition, they will program it into their Scratch project. After students are done they can share their finished projects with classmates.
Each character from the book has their superpowers drawn from their real life skills. Go back through your program and use an Inuktitut word to describe their skills. This can also be added to the character that you created and added to the virtual story.
- Reading Rockets gives a good explanation of what summarizing is and why it is an important skill.
- Common Sense Education has a blog post about using Scratch for storytelling. It examines the skills students will be working on while completing a digital story.
- Exploratorium has a blog post about using Scratch for storytelling. There is a good activity that can be used and adapted for any age group.
- Inhabit Media is an Inuit-owned publishing company. The book used in this module is published by them.
- This edition of Hello World has an article called Children’s Literature For Computer Science that was the inspiration for this module. It looks in detail at sequencing, selection, and repetition in children’s stories and how it connects to programming.
- The Joan Ganz Cooney Center website has a blog post by Claudia Haines who is a librarian in Alaska. The article goes over different coding-like activities that can be completed while reading a few popular children’s stories.