Desert
Experience: 1st year, 4th quarter
Practice: Developing and Using Abstractions, Creating computational artifacts, Testing and refining computational artifacts, Communicating about computing
Concept: Control, Algorithms, Program Development, and Modularity
Length: 90+
Overview and Purpose
Coders use a variety of blocks and sprites to animate a mini research project about the desert. The purpose of this project is to introduce using the message blocks with multiple sprites and pages.
Preparation (20+ minutes)
Suggested preparation
Ensure all devices are plugged in for charging over night.
Customizing this project for your class (10+ minutes): Remix the project example to include your own project about the desert.
(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 10+ 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 create a project about the desert. Display and demonstrate the sample project (or your own remixed version).
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 (2:06)
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 and demonstrate (8+ minutes):
3+ minute discussion
Have coders talk with each other about how they might create a project like the one demonstrated. If coders are unsure, and the discussion questions aren’t helping, you can model thought processes: “I noticed the sprite moved around, so I think they used a motion block. What motion block(s) might be in the code? What else did you notice?” Another approach might be to wonder out loud by thinking aloud different algorithms and testing them out, next asking coders “what do you wonder about or want to try?”
5+ minute demonstration
Display a previous story you worked on with at least one page; for example, Rainy day or A day as a pirate. Ask the class how we added another page to our story. Review how to click on the plus sign on the right side underneath the current page to add a new page.
Ask the class what blocks we need to use to switch between the pages (go to page blocks). Review how to use the go to page blocks to switch between pages by placing them at the end of an algorithm. Review how to use the start on green flag blocks to resume the story when it switches to the next page.
If needed, use the resources and mini extension to the right for more practice on using the go to page blocks.
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 would we need to know to make something like this in ScratchJr?
- What kind of blocks might we use?
- What else could you add or change in a project like this?
- What code from our previous projects might we use in a project like this?
- What kind of sprites might we see in a story about a rainy day?
- What kind of code might they have?
Resource: “Go to page” project demonstration
Video: Downloading the project file above (1:04)
Mini extension: Using the resource above (preview image), demonstrate how each button will move to a different page when tapped. Demonstrate how each page has its own unique backdrop, sprites, and code. Explain how the go to page blocks need to go at the end of an algorithm so it runs all of the code first before switching to a new backdrop. Also demonstrate how each cat begins their repeated algorithms by using the start on green flag block, and that each cat moves differently because they have their own unique code..
Project Work (90+ minutes; 3+ classes)
Suggested sequence
3. Researching the desert (30+ minutes, or the majority of a class):
Either provide web-based resources or take a trip to the library/media center to explore some pre-selected, age-appropriate resources about deserts.
30+ minute researching time and 1-on-1 facilitating
Give coders time to work together or independently to research and document information (i.e., text or drawing) about deserts that interest them (e.g., desert animals, plants, landscape, climate, location, survival, etc.). Encourage peer-to-peer sharing and facilitate each group/individual 1-on-1 as needed. Use some of the example questions to encourage thinking about how to use code to animate their findings.
Resources, suggestions, and connections
Practices reinforced:
- Collaborating around computing
Note: This step can be skipped if they research deserts in another class; however, it might help to remind the class (and their teacher) to bring in their research notes.
Example facilitation questions:
- What kind of sprites could you create that match what you’re learning about the desert?
- What will those sprites do?
- What code would you use to make them do that?
- What will those sprites do?
- What kind of backdrop will you use for your desert?
- What will be in your backdrop?
4. Using messages (30+ minutes, or the majority of one class):
10+ minute unplugged
Divide the class into 3 groups and have each group come up with an action that lasts no more than two seconds (e.g., a dance move, funny sound, facial expression, stomp feet, clap hands, etc.).
Tell each group they cannot do their action until you give them a message to start their action, and that your message is when you point at their group. Act like a conductor cuing an ensemble and message each group by pointing to each group separately and randomly.
Now tell the class that when group one completes their action, they are to send a message to group two, and so on (1 → 2 → 3 → 1 → repeat). Have the class go through this process for a couple of loops.
Now tell the class they can only do their action when someone sends them a message (individual message, not a group message), and that you’re going to start by only messaging one coder at a time. Once a coder completes their action, they will pick someone else to send a message to by pointing at them. When the process begins, add in a couple more people by pointing at other coders (maybe 3-5 messengers at once).
10+ minute demonstration
Demonstrate how to send a message in ScratchJr and make note that when one sprite sends a message, another sprite needs to receive a message with the same color. Walk through step-by-step how to make a sprite say something when another sprite is tapped. For example, the SafariCat says something about the the Cactus when it is tapped.
Next demonstrate how to make another sprite appear when another sprite is tapped. For example, the Saguaro flowers appear when the Cactus is tapped.
10+ minute application and exploration
Encourage coders to try and experiment with using message blocks to do something in a project (it doesn’t have to be about a desert yet). The purpose of this time is to encourage experimentation and to share with others how to use the message blocks. Facilitate by walking around and asking questions about how coders might use message blocks to trigger multiple sprites at once or to trigger another set of code in the same sprite.
Standard reinforced:
- 1A-AP-10 Develop programs with sequences and simple loops, to express ideas or address a problem
Practices reinforced:
- Communicating about computing
- Testing and refining computational artifacts
- Creating computational artifacts
Concepts reinforced:
- Algorithms
- Control
Facilitation suggestion: I would recommend sending a message to everyone at the very end so that everyone has an opportunity to do their action. Yes, this will be chaotic, but it’s better than potential tears and hurt feelings if someone does not receive a message. To reduce the chaos, you could have a message that indicates everyone is to sit down quietly and listen for directions (e.g., turning off the lights).
Facilitation suggestion: You could demonstrate the entire process and then have coders go through it on their own, or you could walk through it step-by-step with the class. If walking through step-by-step have coders get together in pairs or small groups to work together to follow your directions. Once they’ve completed the process on one coder’s project, they will work together to repeat the process on other projects in their group. At that point you could facilitate each group independently.
5. Create a storyboard (15+ minutes, or the remainder of the class after exploring how to use messages):
Either hand out paper with at least four different quadrants (one for each page in ScratchJr), use handheld whiteboards, or use a painting app on a device to encourage coders to storyboard what they are going to create. 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.
Standard 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 in your desert?
- What sprites are going to be in your desert?
- What sprite will explain something about other sprites when they are tapped?
- How many pages will you have?
- What backdrop will you use for each page?
- What sprites will we see on each page?
- When will you go to the next page?
- What will the sprites do on each page?
- What kind of code might we use to do that?
- What are all of the ways we can interact with the project?
- Which pages will have user interaction?
- 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.
Note: This process may take significantly longer than 15 minutes if storyboarding many different sprites in each page. In general, it is best to keep things simple when first creating a project, then adding more complexity if time permits.
6. Create an interactive desert (45+ minutes):
Ask coders to create their interactive desert using their storyboard. Facilitate by walking around and asking questions and encouraging coders to try out new block combinations with the message blocks.
Note: The more pages, the more time you can spend on each project. This project could take several days.
Standard 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
- Developing and using abstractions
Concepts reinforced:
- Algorithms
- Control
Suggested questions:
- What sounds might we hear in the desert?
- What kind of outfit should your sprites wear in a desert?
- What did you learn about the desert that you want to include in your project?
- How could we add even more to our desert than what’s in our storyboard?
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 their project is similar to their storyboard?
- Can coders explain how they tried to include what they learned when researching the desert?
- Did coders create an interactive diorama about a desert with at least ## different sprites with different algorithms?
- Choose a number appropriate for the coders you work with and the amount of time available.
- 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.