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, Modularity, and Program Development
Length: 50-100+
Overview and Purpose
Coders engage in a multi-day project where they create or remix an introduction to a short story. The short version of this project is completed by one coder, while the longer version involves coders passing their incomplete project to a peer, who adds to their story. The purpose of this project is to encourage coders to communicate and learn from their peers.
Preparation (20+ minutes)
Suggested preparation
Customizing the project starters for your class (10+ minutes per project starter): Remix one of the projects in this studio to create your own project starter.
(10+ minutes) Read through each part of this lesson plan (there is a short and long version of this project) 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.
Download the offline version of Scratch: Although hopefully infrequent, your class might not be able to access Scratch due to Scratch’s servers going down or your school losing internet access. Events like these could completely derail your lesson plans for the day; however, there is an offline version of Scratch that coders could use when Scratch is inaccessible. Click here to download the offline version of Scratch on to each computer a coder uses and click here to learn more by watching a short video.
Resources for learning more
- BootUp Scratch Tips
- Videos and tips on Scratch from our YouTube channel
- BootUp Facilitation Tips
- Videos and tips on facilitating coding classes from our YouTube channel
- Scratch Starter Cards
- Printable cards with some sample starter code designed for beginners
- ScratchEd
- A Scratch community designed specifically for educators interested in sharing resources and discussing Scratch in education
- Scratch Help
- This includes examples of basic projects and resources to get started
- Scratch Videos
- Introductory videos and tips designed by the makers of Scratch
- Scratch Wiki
- This wiki includes a variety of explanations and tutorials
Getting Started (13-22+ 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.
If doing the shorter project:
Explain that today we are going to pick a story starter and remix it to add an ending.
If doing the longer 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 to other people’s projects, who will also add new sections 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.
Resources, suggestions, and connections
Practices reinforced:
- Communicating about computing
Video: Project Preview (4:36)
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. Log in (1-5+ minutes):
If not yet comfortable with logging in, review how to log into Scratch.
If coders continue to have difficulty with logging in, you can create cards with a coder’s login information and store it in your desk. This will allow coders to access their account without displaying their login information to others.
Alternative login suggestion: Instead of logging in at the start of class, another approach is to wait until the end of class to log in so coders can immediately begin working on coding; however, coders may need a reminder to save before leaving or they will lose their work.
Why the variable length of time? It depends on comfort with login usernames/passwords and how often coders have signed into Scratch before. Although this process may take longer than desired at the beginning, coders will eventually be able to login within seconds rather than minutes.
What if some coders log in much faster than others? Set a timer for how long everyone has to log in to their account (e.g., 5 minutes). If anyone logs in faster than the time limit, they can open up previous projects and add to them. Your role during this time is to help out those who are having difficulty logging in. Once the timer goes off, everyone stops their process and prepares for the following chunk.
3. Explore and discuss (10-15+ minutes):
Once they log in, have them navigate to this studio (or your own) and explore project starters that look interesting. Encourage coders to think through what would happen next in the story before exploring another project starter.
Bring up one of the project starters from this studio 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 a couple of the project starters.
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 do you think could happen next in the story?
- What background would we use for the next scene?
- What sprites would we see on that scene?
- What would happen to them?
- When would the next scene end?
(Shorter) Project Work (45-50+ minutes; 1+ classes)
Suggested sequence
3. Create a storyboard for the rest of the story (15-20+ 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 conclusion of their chosen project starter from the project starter studio (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:
- 1B-AP-11 Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.
- 1B-AP-13 Use an iterative process to plan the development of a program by including others' perspectives and considering user preferences
Practices reinforced:
- Communicating about computing
Concepts reinforced:
- Program development
- Modularity
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 next scene?
- What sprites are going to be in that scene?
- What will the sprites do?
- What kind of code might we use to do that?
- How 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.
4. Finish the story (25+ minutes, or the majority of the class):
Ask coders to finish their story starter from this studio using their storyboard. Facilitate by walking around and asking questions and encouraging coders to try out new blocks. Remind everyone they can look at the original code, but they can only add and change code for the section of the story they are adding.
Before moving to the final section of this project, ask coders to add comments in their project (see the resources on the right) and share their project in a class studio dedicated to this project.
Standards reinforced:
- 1B-AP-10 Create programs that include sequences, events, loops, and conditionals
- 1B-AP-12 Modify, remix, or incorporate portions of an existing program into one's own work, to develop something new or add more advanced features.
- 1B-AP-17 Describe choices made during program development using code comments, presentations, and demonstrations
Practices reinforced:
- Communicating about computing
- Creating computational artifacts
- Testing and refining computational artifacts
Concepts reinforced:
- Algorithms
- Control
- Modularity
Video: Add in comments (1:45)
Quick reference guide: Click here
Suggested questions:
- What sounds might we hear in this story?
- How could we add even more to our story than what’s in our storyboard?
- How will this story build off the story starter?
A note on using the “Coder Resources” with your class: Young codes may need a demonstration (and semi-frequent friendly reminders) for how to navigate a browser with multiple tabs. The reason why is because kids will have at least three tabs open while working on a project: 1) a tab for Scratch, 2) a tab for the Coder Resources walkthrough, and 3) a tab for the video/visual walkthrough for each step in the Coder Resources document. Demonstrate how to navigate between these three tabs and point out that coders will close the video/visual walkthrough once they complete that particular step of a project and open a new tab for the next step or extension. Although this may seem obvious for many adults, we recommend doing this demonstration the first time kids use the Coder Resources and as friendly reminders when needed.
5. Share your story (5+ minutes)
Ask coders to share their story with someone who worked on the same story starter or a story starter that looked interesting to them. Encourage discussion around what they like about the original and newly added code, something they learned by analyzing the original code, and what they would have done differently if they had created the entire story on their own.
Have coders use some of the reflection prompts to reflect on this project.
Standards reinforced:
- 1B-AP-08 Compare and refine multiple algorithms for the same task and determine which is the most appropriate.
Practices reinforced:
- Communicating about computing
Concepts reinforced:
- Algorithms
- Control
- Modularity
(Longer) Project Work (120-135+ minutes; 3+ classes)
Suggested sequence
3. Create a storyboard for the second scene (5-10+ 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 scene of their chosen project starter from the project starter studio (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:
- 1B-AP-11 Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.
- 1B-AP-13 Use an iterative process to plan the development of a program by including others' perspectives and considering user preferences
Practices reinforced:
- Communicating about computing
Concepts reinforced:
- Program development
- Modularity
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 next scene?
- What sprites are going to be in that scene?
- What will the sprites do?
- What kind of code might we use to do that?
- When will that scene end? (note, the scene is ending, not the story)
- 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 scene of the story (25+ minutes, or the remainder of the first class):
For the remainder of class, coders will create the second scene of their story using their storyboard. Facilitate by walking around and asking questions and encouraging coders to try out new blocks and creating functions to make it easy for people to understand each section of code.
Near the end of this section or class, ask coders to add comments in their project (see the resources on the right) and share their project in a class studio dedicated to this project.
Standards reinforced:
- 1B-AP-10 Create programs that include sequences, events, loops, and conditionals
- 1B-AP-12 Modify, remix, or incorporate portions of an existing program into one's own work, to develop something new or add more advanced features.
- 1B-AP-17 Describe choices made during program development using code comments, presentations, and demonstrations
Practices reinforced:
- Communicating about computing
- Creating computational artifacts
- Testing and refining computational artifacts
Concepts reinforced:
- Algorithms
- Control
- Modularity
Video: Add in comments (1:45)
Quick reference guide: Click here
Suggested questions:
- What sounds might we hear in this scene?
- How could we add even more to our story than what’s in our storyboard?
- What do you think might happen in the next scene?
A note on using the “Coder Resources” with your class: Young coders may need a demonstration (and semi-frequent friendly reminders) for how to navigate a browser with multiple tabs. The reason why is because kids will have at least three tabs open while working on a project: 1) a tab for Scratch, 2) a tab for the Coder Resources walkthrough, and 3) a tab for the video/visual walkthrough for each step in the Coder Resources document. Demonstrate how to navigate between these three tabs and point out that coders will close the video/visual walkthrough once they complete that particular step of a project and open a new tab for the next step or extension. Although this may seem obvious for many adults, we recommend doing this demonstration the first time kids use the Coder Resources and as friendly reminders when needed.
5. Create a storyboard for the third scene of someone else’s story (5-10+ minutes):
Either assign each coder to a project or given them a few minutes to virtually swap projects with a friend, who is going to add a new scene to their remixed story by remixing the project from the studio. Make it clear they are not going to change anyone’s code, but are going to add a new scene to a remixed version of this 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 scene. 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:
- 1B-AP-11 Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.
- 1B-AP-13 Use an iterative process to plan the development of a program by including others' perspectives and considering user preferences
Practices reinforced:
- Communicating about computing
Concepts reinforced:
- Program development
- Modularity
Resource: Example storyboard templates
Suggested storyboard questions:
- What will happen next in the story?
- What backdrop will you use for the next scene?
- What sprites are going to be in that scene?
- What will the sprites do?
- What kind of code might we use to do that?
- When will that scene end? (note, the scene is ending, not the story)
- 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 scene of someone else’s story (25+ minutes, or the remainder of the second class):
Ask coders to create the third scene 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 the original code, but they can only add and change code for the third scene.
Near the end of this section or class, ask coders to add comments in their project (see the resources on the right) and share their project in a class studio dedicated to this project.
Standards reinforced:
- 1B-AP-10 Create programs that include sequences, events, loops, and conditionals
- 1B-AP-12 Modify, remix, or incorporate portions of an existing program into one's own work, to develop something new or add more advanced features.
- 1B-AP-17 Describe choices made during program development using code comments, presentations, and demonstrations
Practices reinforced:
- Communicating about computing
- Creating computational artifacts
- Testing and refining computational artifacts
Concepts reinforced:
- Algorithms
- Control
- Modularity
Video: Add in comments (1:45)
Quick reference guide: Click here
Suggested questions:
- What sounds might we hear in this scene?
- How could we add even more to our story than what’s in our storyboard?
- How will this scene build off the previous scenes?
- What do you think might happen in the next scene?
7. Create a storyboard for the final scene of someone else’s story (5-10+ minutes):
Either assign each coder to a project or given them a few minutes to virtually swap projects with a friend, who is going to add the final scene to their recently remixed story by remixing the project from the studio. Make it clear they are not going to change anyone’s code, but are going to add a final scene to a remixed version of this 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 scene. 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:
- 1B-AP-11 Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.
- 1B-AP-13 Use an iterative process to plan the development of a program by including others' perspectives and considering user preferences
Practices reinforced:
- Communicating about computing
Concepts reinforced:
- Program development
- Modularity
Resource: Example storyboard templates
Suggested storyboard questions:
- What will happen at the end of this story?
- What backdrop will you use for the final scene?
- What sprites are going to be in that scene?
- What will the sprites do?
- What kind of code might we use to do that?
- How 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 scene of someone else’s story (25+ minutes, or the majority of the third class):
Ask coders to create the final scene 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 the original code, but they can only add and change code for the final scene.
Standards reinforced:
- 1B-AP-10 Create programs that include sequences, events, loops, and conditionals
- 1B-AP-12 Modify, remix, or incorporate portions of an existing program into one's own work, to develop something new or add more advanced features.
- 1B-AP-17 Describe choices made during program development using code comments, presentations, and demonstrations
Practices reinforced:
- Communicating about computing
- Creating computational artifacts
- Testing and refining computational artifacts
Concepts reinforced:
- Algorithms
- Control
- Modularity
Video: Add in comments (1:45)
Quick reference guide: Click here
Suggested questions:
- What sounds might we hear in this scene?
- How could we add even more to our story than what’s in our storyboard?
- How will this scene build off the previous scenes?
9. Go back to your original story (30+ minutes, or an entire class)
5+ minutes
Have coders revisit the story they originally shared on the class studio, open the remixes tab from the project page and navigate to the final remix (see this video or guide for reference), then watch their story.
10+ minutes
After watching the story, give them time to explore the code in the final remix project and read the comments for each section. Facilitate by encouraging coders to think through why each algorithm was coded the way it was and to think through other ways to get the same (or similar) results.
15+ minutes
Ask coders to share the story with their neighbors and discuss what they learned by analyzing the code in the story. Encourage discussion around what they like about the code, something they learned by analyzing the code, and what they would have done differently if they had created the entire story on their own.
Have coders use some of the reflection prompts to reflect on this project.
Standards reinforced:
- 1B-AP-08 Compare and refine multiple algorithms for the same task and determine which is the most appropriate.
Practices reinforced:
- Communicating about computing
Concepts reinforced:
- Algorithms
- Control
- Modularity
Video: How to find the final remix (1:49)
Quick reference guide: Click here
Assessment
Standards reinforced:
- 1B-AP-17 Describe choices made during program development using code comments, presentations, and demonstrations
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?
- Did coders include descriptive comments for each event in all of their sprites?
- Can coders explain how they used broadcast blocks or My Blocks as functions to make their code more organized and easier to read (modularity)?
- Can coders explain how each of the scenes they worked on are similar to their storyboards?
- Did coders create a scene that added to the story created by someone else?
- Choose a number appropriate for the coders you work with and the amount of time available.
- Did coders create at least ## scenes in their projects?
- Choose a number appropriate for the coders you work with and the amount of time available.
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.