Randomized Synthesis Project 3
Experience: 1st year, 1st quarter
Practice: Creating computational artifacts, Testing and refining computational artifacts, and Communicating about computing
Concept: Algorithms, Control, and Program Development
Length: 40+
Overview and Purpose
Coders storyboard a project based on randomized idea(s) and create a project based on their storyboard. The purpose of this project is to synthesize understandings into a project with up to three randomized ideas.
Preparation (At least one day prior)
Suggested preparation
Ensure all devices are plugged in for charging over night.
(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.
Customizing this project for your class: Remix the example Scratch project to include themes and ideas coders in your classes are interested in; click here to learn how this project works and how to modify it.
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
Getting Started (5+ minutes)
Suggested sequence
1. Review and random idea selection(3+ 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 to the class we are going to create a project with random ideas; it will be like picking ideas out of a hat and not knowing what kind of project we’re going to make in advance.
Display the Scratch project and randomly select 1, 2, or 3 ideas coders will somehow incorporate into their synthesis project. Give them 30 seconds or so to think on their own about what they might create.
Resources, suggestions, and connections
Practices reinforced:
- Communicating about computing
Video: Project Preview (2:28)
Video: Lesson pacing (1:48)
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?
Suggestion: Have coders up vote or down vote with their thumbs to determine if we should roll again for a new randomized idea or keep the current one(s). Encourage coders to select how many of the ideas they would like to incorporate (one, two, or all three) in their project, as well as encourage coders to come up with complimentary ideas for the randomly generated ideas.
2. Discuss (2+ minutes):
Have coders talk with each other about the ideas for their own project.
After the discussion, coders will begin storyboarding their project before creating their project in ScratchJr.
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 our project?
- What kind of code might they have?
Project Work (40+ minutes; 1+ classes)
Suggested sequence
3. Create a storyboard (10+ minutes):
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.
Resources, suggestions, and connections
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 might we include in our storyboard for creating a project like this?
- What are some of the media we might use in a project like this (pictures, sounds, sprites, backdrops, etc.)?
- What are all of the ways we can interact with this project?
- In each of these ways we can interact with the project, 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 10 minutes if storyboarding many different sprites and pages (not recommended until the end of the first year).
4. Create a randomized synthesis project (30+ minutes):
Ask coders to create a project based on the storyboards they created for their randomized idea(s). Facilitate by walking around and asking questions and encouraging coders to try out new blocks.
When coders complete what they have already storyboarded, ask them to storyboard some more ideas and repeat the process from step 3 and step 4.
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
Concepts reinforced:
- Algorithms
- Control
Note: If coders are going to create a story, they might use the play recorded sound blocks to record and play their dialogue, sounds, and music, or they might use the say block by typing in their text or using speech to text recognition technologies.
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 story or game with each of the randomly selected ideas?
- Can coders explain how their project is similar to their storyboard?
- Did coders use a variety of block types in their algorithms and can they explain how they work together for specific purposes?
- 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.