Pass it On (Story Starters)
Experience: 1st year, 4th quarter
Practice: Creating computational artifacts, Testing and refining computational artifacts, and Communicating about computing
Concept: Algorithms, Control, Modulartiy, and Program Development
Length: 90+
Overview and Purpose
Coders engage in a multi-day project where they create the introduction to a short story and then pass their project on to be finished by their peers. The purpose of this project is to encourage young coders to communicate and learn from their peers.
Project Sequence
Suggested preparation
Ensure all devices are plugged in for charging over night.
Customizing this project for your class (20+ minutes): Remix the project example to include your own starter prompts.
(10+ minutes) Read through each part of this lesson plan and decide which sections the coders you work with might be interested in and capable of engaging with in the amount of time you have with them. If using projects with sound, individual headphones are very helpful.
Resources for learning more
- BootUp ScratchJr Tips
- Videos and tips on ScratchJr from our YouTube channel
- BootUp Facilitation Tips
- Videos and tips on facilitating coding classes from our YouTube channel
- Block Descriptions
- A document that describes each of the blocks used in ScratchJr
- Interface Guide
- A reference guide that introduces the ScratchJr interface
- Paint Editor Guide
- A reference guide that introduces features in the paint editor
- Tips and Hints
- Learn even more tips and hints by the creators of the app
- Coding as another language (CAL)
- A set of curriculum units for K-2 using both ScratchJr and KIBO robotics
- ScratchJr in Scratch
- If you’re using ScratchJr in Scratch, this playlist provides helpful tips and resources
Getting Started (5+ minutes)
Suggested sequence
1. Review and demonstration (2+ minutes):
Begin by asking coders to talk with a neighbor for 30 seconds about something they learned last time; assess for general understanding of the practices and concepts from the previous project.
Explain that today we are going to start a project that will last for multiple classes. We will begin today by adding on to a starter project, then spend the next couple classes adding pages to other people’s projects, who will also add new pages to your own story each day. On the final day we will return to our original project and see what others have added to our original project. Display and demonstrate the sample prompts (or your own remixed versions).
A note on say blocks: If you are displaying a sample project with say blocks, it might help to read the text out loud using various voices for each sprite as it is displayed. This strategy might help early/pre-readers, as well as young coders who are new to learning English. In addition, when young coders begin working on their own project, you can encourage them to use speech-to-text or emojis in their own say blocks instead of typing out words (or use recorded sound blocks).
Resources, suggestions, and connections
Practices reinforced:
- Communicating about computing
Video: Project Preview (1:53)
Video: Lesson pacing (1:48)
This can include a full class demonstration or guided exploration in small groups or individually. For small group and individual explorations, it might help to set a time limit for exploration before discussing the project.
Example review discussion questions:
- What’s something new you learned last time you coded?
- Is there a new block or word you learned?
- What’s something you want to know more about?
- What’s something you could add or change to your previous project?
- What’s something that was easy/difficult about your previous project?
2. Discuss (3+ minutes):
Bring up one of the project starters and have coders talk with each other about what they would add next to this story. Use some of the example discussion questions to guide a discussion on each of the four project starters.
Have coders pick one of the sample prompts to use as their project starter.
Practices reinforced:
- Communicating about computing
Note: Discussions might include full class or small groups, or individual responses to discussion prompts. These discussions which ask coders to predict how a project might work, or think through how to create a project, are important aspects of learning to code. Not only does this process help coders think logically and creatively, but it does so without giving away the answer.
Example discussion questions:
- What background would we use for the next page?
- What sprites would we see on that page?
- What would happen to them?
Project Work (90+ minutes; 3+ classes)
Suggested sequence
3. Create a storyboard for the second page (5+ minutes):
Either hand out paper, use handheld whiteboards, or use a painting app on a device to encourage coders to storyboard what they are going to create for the second page of their chosen project starter from the sample project (or your own remixed version). It may help to model this process with a separate set of random ideas.
Encourage coders to draw or write out not only the kinds of sprites and backgrounds they’re going to use, but the kind of code that will accompany them.
When coders are ready, have them show you their storyboard and ask questions for clarification of their intent (which may change once they start coding and get more ideas). If approved, they may continue on to the next step (creating); otherwise they can continue to think through and work on their storyboard.
Note: Coders may change their mind midway through a project and wish to rethink through their original storyboard. This is part of the design process and it is encouraged they revise their storyboard to reflect their new ideas.
Resources, suggestions, and connections
Standards reinforced:
- 1A-AP-12 Develop plans that describe a program’s sequence of events, goals, and expected outcomes
Practices reinforced:
- Creating computational artifacts
Concept reinforced:
- Program development
Resource: Example storyboard templates
Suggested storyboard questions:
- Which project starter are you selecting?
- What will happen next in the story?
- What backdrop will you use for the second page?
- What sprites are going to be on the second page?
- What will the sprites do?
- What kind of code might we use to do that?
- When will you go to the next page?
- What are all of the ways we can interact with the story?
- In each of these ways we can interact with the story, how might we use code to create that interaction?
Suggestion: If coders need additional help, perhaps pair them with someone who might help them with the storyboarding process. Or, you could have coders meet with a peer to discuss their storyboard before asking to share it with yourself. This can be a great way to get academic feedback and ideas from a peer.
4. Create the second page of the story (25+ minutes, or the remainder of the first class):
Begin by sharing the sample project (or your own remixed version) with everyone (use this guide if you are unsure how to share project files). Ask coders to pick one of the project starters they created a storyboard for and delete the other three from their project.
For the remainder of class, coders will create the second page of their story using their storyboard. Facilitate by walking around and asking questions and encouraging coders to try out new blocks.
Standards reinforced:
- 1A-AP-10 Develop programs with sequences and simple loops, to express ideas or address a problem
Practices reinforced:
- Testing and refining computational artifacts
- Creating computational artifacts
Concepts reinforced:
- Algorithms
- Control
Suggested questions:
- What sounds might we hear on this page?
- How could we add even more to our story than what’s in our storyboard?
- What do you think might happen on the next page?
5. Create a storyboard for the third page of someone else’s story (5+ minutes):
Have coders pass their project to a friend in class, who is going to add a new page to their story. Make it clear they are not going to change anyone’s code, but are going to add a new page to their project.
Either hand out paper, use handheld whiteboards, or use a painting app on a device to encourage coders to storyboard what they are going to create for the third page. It may help to model this process with a separate set of random ideas.
Encourage coders to draw or write out not only the kinds of sprites and backgrounds they’re going to use, but the kind of code that will accompany them.
When coders are ready, have them show you their storyboard and ask questions for clarification of their intent (which may change once they start coding and get more ideas). If approved, they may continue on to the next step (creating); otherwise they can continue to think through and work on their storyboard.
Note: Coders may change their mind midway through a project and wish to rethink through their original storyboard. This is part of the design process and it is encouraged they revise their storyboard to reflect their new ideas.
Standards reinforced:
- 1A-AP-12 Develop plans that describe a program’s sequence of events, goals, and expected outcomes
Practices reinforced:
- Creating computational artifacts
Concept reinforced:
- Program development
Resource: Example storyboard templates
Suggested storyboard questions:
- What will happen next in the story?
- What backdrop will you use for the third page?
- What sprites are going to be on the third page?
- What will the sprites do?
- What kind of code might we use to do that?
- When will you go to the final page?
- What are all of the ways we can interact with the story?
- In each of these ways we can interact with the story, how might we use code to create that interaction?
Suggestion: If coders need additional help, perhaps pair them with someone who might help them with the storyboarding process. Or, you could have coders meet with a peer to discuss their storyboard before asking to share it with yourself. This can be a great way to get academic feedback and ideas from a peer.
6. Create the third page of someone else’s story (25+ minutes, or the remainder of the second class):
Ask coders to create the third page of a story using their storyboard. Facilitate by walking around and asking questions and encouraging coders to try out new blocks. Remind everyone they can look at pages one and two, but they can only add and change code on the third page.
Standards reinforced:
- 1A-AP-10 Develop programs with sequences and simple loops, to express ideas or address a problem
Practices reinforced:
- Testing and refining computational artifacts
- Creating computational artifacts
Concepts reinforced:
- Algorithms
- Control
Suggested questions:
- What sounds might we hear on this page?
- How could we add even more to our story than what’s in our storyboard?
- How will this part of the story build off the previous pages?
- What do you think might happen on the next page?
7. Create a storyboard for the final page of someone else’s story (5+ minutes):
Have coders pass their project to a different friend in class, who is going to add the final page to their story. Make it clear they are not going to change anyone’s code, but are going to add a new page to their project.
Either hand out paper, use handheld whiteboards, or use a painting app on a device to encourage coders to storyboard what they are going to create for the final page. It may help to model this process with a separate set of random ideas.
Encourage coders to draw or write out not only the kinds of sprites and backgrounds they’re going to use, but the kind of code that will accompany them.
When coders are ready, have them show you their storyboard and ask questions for clarification of their intent (which may change once they start coding and get more ideas). If approved, they may continue on to the next step (creating); otherwise they can continue to think through and work on their storyboard.
Note: Coders may change their mind midway through a project and wish to rethink through their original storyboard. This is part of the design process and it is encouraged they revise their storyboard to reflect their new ideas.
Standards reinforced:
- 1A-AP-12 Develop plans that describe a program’s sequence of events, goals, and expected outcomes
Practices reinforced:
- Creating computational artifacts
Concept reinforced:
- Program development
Resource: Example storyboard templates
Suggested storyboard questions:
- What will happen at the end of the story?
- What backdrop will you use for the final page?
- What sprites are going to be on the final page?
- What will the sprites do?
- What kind of code might we use to do that?
- When will the story end?
- What are all of the ways we can interact with the story?
- In each of these ways we can interact with the story, how might we use code to create that interaction?
Suggestion: If coders need additional help, perhaps pair them with someone who might help them with the storyboarding process. Or, you could have coders meet with a peer to discuss their storyboard before asking to share it with yourself. This can be a great way to get academic feedback and ideas from a peer.
8. Create the final page of someone else’s story (20+ minutes, or the majority of the third class):
Ask coders to create the final page of a story using their storyboard. Facilitate by walking around and asking questions and encouraging coders to try out new blocks. Remind everyone they can look at pages one, two, and three, but they can only add and change code on the final page.
Standards reinforced:
- 1A-AP-10 Develop programs with sequences and simple loops, to express ideas or address a problem
Practices reinforced:
- Testing and refining computational artifacts
- Creating computational artifacts
Concepts reinforced:
- Algorithms
- Control
Suggested questions:
- What sounds might we hear on this page?
- How could we add even more to our story than what’s in our storyboard?
- How will this part of the story build off the previous pages?
9. Go back to your original story (5+ minutes, or an entire class if sharing in groups)
Have coders revisit their original story and discuss with their neighbors what happened in their story and how people used interesting code. Have coders discuss what they like about the code and what questions they have about different algorithms.
Have coders use some of the reflection prompts to reflect on this project.
Standards reinforced:
- 1A-AP-15 Using correct terminology, describe steps taken and choices made during the iterative process of program development.
Practices reinforced:
- Communicating about computing
Concepts reinforced:
- Algorithms
- Control
Assessment
Standards reinforced:
- 1A-AP-15 Using correct terminology, describe steps taken and choices made during the iterative process of program development
Practices reinforced:
- Communicating about computing
Although opportunities for assessment in three different forms are embedded throughout each lesson, this page provides resources for assessing both processes and products. If you would like some example questions for assessing this project, see below:
Summative (Assessment of Learning)
The debugging exercises, commenting on code, and projects themselves can all be forms of summative assessment if a criteria is developed for each project or there are “correct” ways of solving, describing, or creating.
For example, ask the following after a project:
- Can coders debug the debugging exercises?
- Did coders create a project similar to the project preview?
- Note: The project preview and sample projects are not representative of what all grade levels should seek to emulate. They are meant to generate ideas, but expectations should be scaled to match the experience levels of the coders you are working with.
- Did coders use a variety of block types in their algorithms and can they explain how they work together for specific purposes?
- Can coders explain how each of the pages they worked on are similar to their storyboards?
- Did coders create a page that added to the story created by someone else?
- Did coders use at least ## pages in their project?
- Choose a number appropriate for the coders you work with and the amount of time available.
- Can coders explain when/how the project will switch pages?
Formative (Assessment for Learning)
The 1-on-1 facilitating during each project is a form of formative assessment because the primary role of the facilitator is to ask questions to guide understanding; storyboarding can be another form of formative assessment.
For example, ask the following while coders are working on a project:
- What are three different ways you could change that sprite’s algorithm?
- What happens if we change the order of these blocks?
- What could you add or change to this code and what do you think would happen?
- How might you use code like this in everyday life?
- See the suggested questions throughout the lesson and the assessment examples for more questions.
Ipsative (Assessment as Learning)
The reflection and sharing section at the end of each lesson can be a form of ipsative assessment when coders are encouraged to reflect on both current and prior understandings of concepts and practices.
For example, ask the following after a project:
- How is this project similar or different from previous projects?
- What new code or tools were you able to add to this project that you haven’t used before?
- How can you use what you learned today in future projects?
- What questions do you have about coding that you could explore next time?
- See the reflection questions at the end for more suggestions.