Can't Stop Dancing
Experience: 1st year, 1st quarter
Practice: Testing and refining computational artifacts and Communicating about computing
Concept: Algorithms and Control
Length: 50+
Overview and Purpose
Coders use the repeat block to repeat a silly dance for Scratch Cat using motion blocks. The purpose of this project is to introduce young coders to repeating algorithmic sequences in ScratchJr.
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.
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 (6+ minutes)
Suggested sequence
1. Review and demonstration (4+ 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.
Review how to open Scratch and click the plus sign to create a new project. Reintroduce Scratch Cat to the class and explain how we are going to make him repeat his dance by changing the number (parameter) in the motion blocks.
Demonstrate dragging one of the move or turn motion blocks into the programming area at the bottom of the screen, then click on the block to review what the block does.
Drag out several more of the same move or turn blocks, then click on the algorithm to see what happens. Explain to the class that when we want to do something many times, we can simply change the number (parameter) of a motion block instead of dragging out more of them in a long algorithm.
Resources, suggestions, and connections
Practices reinforced:
- Communicating about computing
Video: Project Preview (0:52)
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?
2. Discussion (2+ minutes):
Have coders talk with a neighbor about why it’s helpful to use the number (parameter) on a motion block instead of dragging out many of the same block.
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:
- When would we use a number (parameter) on a motion block?
- Why are the numbers (parameters) on a motion block helpful for our coding?
Project Work (50+ minutes; 2+ classes)
Suggested Sequence
3. Exploring motion block parameters (5+ minutes):
Give time for coders to explore modifying the numbers (parameters) of the different motion blocks by testing them out independently or in small groups.
Facilitate by walking around and asking questions and encouraging exploration.
Resources, suggestions, and connections
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
Concepts reinforced:
- Algorithms
- Control
4. Why won’t Scratch Cat hop many times? (15+ minutes):
3+ minute demonstration and discussion
Bring the class back together and ask what happens when you modify the number (parameter) for the hop block; demonstrate what happens when there are different numbers (e.g, 1, 5, and 15).
Ask the class to talk with a neighbor about what the number changes for the hop block.
Create a couple example algorithms and have coders discuss with a neighbor what they think will happen when you run the algorithm by tapping on it. Discuss as a full class a couple algorithms by walking through them step by step.
12+ minute coding time and 1-on-1 facilitating
Ask coders to create a fun dance that changes the parameters in the motion blocks. Facilitate by walking around and asking questions and encouraging exploration.
Standards reinforced:
- 1A-AP-10 Develop programs with sequences and simple loops, to express ideas or address a problem
- 1A-AP-14 Debug (identify and fix) errors in an algorithm or program that includes sequences and simple loops
Practices reinforced:
- Communicating about computing
- Testing and refining computational artifacts
Concepts reinforced:
- Algorithms
- Control
Discussion tips: Coders can demonstrate what they think might happen by moving around the room (if space allows), drawing the motions in the air with their fingers, or by moving their fingers to simulate the motions. Individual coders can also come up and create an algorithm that everyone then tries to predict what will happen.
Example facilitating questions:
- How could you make Scratch Cat move to all four corners of the screen?
- Can you make Scratch Cat do a flip?
5. Repeating an algorithm (30+ minutes):
10+ minute demonstration and discussion
Bring the class back together and demonstrate an algorithm of four hop blocks in a row. Demonstrate how to use a repeat block with one hop block to hop four times. Demonstrate how changing the number (parameter) in the repeat block allows you to repeat the algorithm as many times as you want.
Ask the class if they think they know how to make Scratch Cat move right, hop, move right, hop, move right, and hop. Give time for them to figure out the algorithm. When ready, demonstrate dragging in the move right block inside the repeat to make it repeat both moving right and hopping in a sequence.
Create a couple example algorithms and have coders discuss with a neighbor what they think will happen when you run the algorithm. Discuss as a full class a couple algorithms by walking through them step by step.
20+ minute coding time and 1-on-1 facilitating
Ask coders to create a fun dance that uses repeat blocks and changes the parameters in the motion blocks. Facilitate by walking around and asking questions and encouraging exploration of repeat blocks and motion parameters.
Standards 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
Concepts reinforced:
- Algorithms
- Control
Discussion tips: Coders can demonstrate what they think might happen by moving around the room (if space allows), drawing the motions in the air with their fingers, or by moving their fingers to simulate the motions. Individual coders can also come up and create an algorithm that everyone then tries to predict what will happen.
Example facilitating questions:
- How could you make Scratch Cat move to all four corners of the screen?
- Can you make Scratch Cat do a flip?
- How can you use repeats to make Scratch Cat dance a long time?
- What happens when you use more than one repeat block?
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:
- 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 change the parameters in the motion blocks and can they predict how Scratch Cat will dance?
- Did coders add repeats to their algorithms and can they explain how Scratch Cat will dance?
- Did coders create at least ## different algorithms to make Scratch Cat dance?
- 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.