While I’d never turn down the chance to implement a full coding curriculum in elementary school, I know it’s impossible to fit that in without taking something else out. Instead, I’m trying to incorporate computer science/computational thinking into the existing curricula wherever I can.
When I saw that Expeditionary Learning has a grade 4 mid-unit assessment where students write a Choose-Your-Own-Adventure story (G4:M2:U3), I knew this would be a perfect opportunity for this “Sneaky CS”. Even if you don’t use the EL curriculum, this is a great ELA writing project to incorporate Scratch. Click here to see a sample Scratch Choose-Your-Own-Adventure-Story.
This project is available as a lesson plan in Google Docs.
This project is ideal for Scratch users of all levels. The basic code required for the story is fairly straight-forward for complete beginners. More advanced students can incorporate fancier features such as animations, sound effects, multiple backdrops, and more.
Before this project, the 4th grade classes spent two hour-long blocks getting acquainted with Scratch. We used the Unusual Discovery videos from Google’s CS First curriculum as a starting point. They cover the basic elements of a story while giving students to explore on their own.
If you can’t afford to spend multiple class periods on exploration, that’s ok! This project lends itself to exploration. After writing the basic story code, students can refer to the supplementary Unusual Discovery videos or Scratch Tutorials to learn how to incorporate specific features as they need them.
The EL project has students research an animal and its defense mechanisms and write a story in which the reader chooses which defense mechanism the animal uses. However, you can use this project with any story with multiple endings. I’d recommend starting with a basic story that has an introduction and two possible endings to keep the amount of code manageable. For advanced students that want more choices, see Tips and Hints below.
We used a graphic organizer for students to write their stories before coding. You can scaffold the story components as much or as little as necessary.
Note: this story scaffold is slightly different than the story described in the EL curriculum.
When it came time to code, I began with a mini lesson about conditionals. Conditionals are used in computer science to change the “path” the program takes depending on a certain condition. We use a conditional to respond to the reader’s choice. Conditionals are written as if… then… else… statements in Scratch. Most programming languages use this format as well.
I used this presentation to introduce conditionals. It starts with the format of conditionals, gives a few real-life examples, dives into where a conditional would be used in the story, and finally gets into the nitty-gritty details of the specific blocks used in Scratch. I use elements from the sample story, but you can customize the presentation with your story if you prefer.
To help students plan their code, they filled out a handout that matches Slide 22 in the presentation. This gave them a starting point when they got to Scratch. The also had a checklist to help them stay on track and focus on their story before adding bells and whistles.
As a digital learning teacher, I push into classes for projects like this. Because the teachers I work with have varying levels of experience using Scratch, I created a teacher cheat sheet with an outline of the code. This way, they could help students with the structure of the story regardless of comfort level. For more advanced bells and whistles, I relied on “expert” students helping their peers.
Including the conditionals lesson, each class spent three one-hour blocks working on their Scratch story. Many finished the initial story within the first block or two, but we gave extra time to help a few stragglers and for kids to embellish their stories beyond the narration.
Once students’ stories were done, I showed them how to share their projects on Scratch (and how to disable comments first). They submitted their project URLs to me via a Google Form. I have instructions for sharing, disabling comments, and copying/pasting the URLs in this Google Slides presentation.
Once I had all of the students’ project links in a spreadsheet, I shortened the links with a URL shortener. I sent home letters to parents explaining Scratch with a link to their individual child’s project. I’ll write a future post that talks about this specific sharing method.
Tips and Hints
- There are two ways to save projects on Scratch:
- Local files: Students download the Scratch project onto their computers (or Google Drives if using Chromebooks) and re-upload them the next time they want to work. This means they don’t need accounts on Scratch but makes sharing projects more difficult
- Scratch accounts: Students sign into Scratch accounts and save their projects online. Sharing is easier this way, but students need Scratch accounts. To create a whole class worth of accounts (and bypass the need for student email addresses), set up a Scratch Educator account.
- Some students would spend days customizing their sprites to perfection given the opportunity. When students were ready to code their stories, we gave them 5 minutes at the start to pick out a sprite to be their narrator. We told them they had to live with the sprite as-is until their story was coded. After, they could go back and customize the sprites and add other features.
- For more complicated stories, advanced students can nest conditionals by placing “ask”/”if” blocks inside of “then” sections. Be careful with this, though - the number of endings you need to write increases exponentially as you nest deeper and deeper!
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.