Animate Your Name
Experience: 1st year, 1st quarter
Practice: Creating computational artifacts, Testing and refining computational artifacts, and Communicating about computing
Concept: Algorithms and Control
Length: 60+
A note on the length of this lesson
This project lesson is longer than most because we include a variety of resources that spells out many aspects of Scratch. The projects that follow this are shorter and are used to reiterate the understandings and tools introduced in this project. Although this appears complicated, the lesson is broken down into manageable chunks with a variety of resources to help you facilitate this project. We would rather provide more resources than less, as we are here to help! 🙂
Preparation (At least one day prior, or one week if brand new to Scratch)
Suggested Preparation
Learning how to use Scratch: Scratch can have a steep learning curve as there’s a lot you can create with the platform; however, BootUp resources are scaffolded to gradually introduce a variety of Scratch concepts and tools. If you are new to Scratch, it will help to sign up for our professional development offerings and go through the resources embedded within this lesson.
Teacher account and classroom: One of the biggest challenges with coders getting started with Scratch is getting into their account. Teacher accounts and classrooms make this process a little easier. Before this lesson, create a Scratch teacher account and classroom for each class using the platform. Use the following resources for assistance:
Customizing this project for your class (10+ minutes): Remix the project example to include your own name and your own sequences of code.
(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.
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
Lessons before this project: Although not necessary, having coders log into Scratch and trying some of the introductory Step-by-Step Guides can introduce coders to Scratch before beginning our projects and get them used to logging in to the platform. However, if coders are used to logging into other platforms, our suggested sequence will gradually introduce coders to the various blocks and tools in Scratch, so the step-by-step guides are not essential preparation.
Getting Started (4-18+ minutes)
Suggested Sequence
1. Demonstration (3+ minutes):
Display and demonstrate the sample project (or your own version with your name). Explain that today we are going to animate the letters in our own names using code.
Resources, Suggestions, and Connections
Video: Project preview (0:45)
Video: Lesson pacing (1:48)
Video: Who is Jared O’Leary? (1:37 - coder version)
Video: Who is Jared O’Leary? (3:21 - facilitator version)
This can include a full class demonstration or guided exploration in small groups or individually. For small group and individual explorations, you can use the videos and quick reference guides embedded within this lesson, and focus on facilitating 1-on-1 throughout the process.
2. Log in (1-15+ minutes):
If not yet comfortable with logging in, review how to log into Scratch and create a new project.
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.
Project Work (70+ minutes; 2+ classes)
Suggested Sequence
3. Add letters as sprites (6+ minutes):
3 minute demonstration
Demonstrate how to delete Scratch Cat and where to add sprites.
Demonstrate how to find the letters by scrolling down to the bottom of the sprites. Arrange the letters on the screen, then ask coders to do the same with their name.
3+ minute coding time and 1-on-1 facilitating
Give coders three or so minutes (varies by age and experience) to add in letters of their name using the new sprite button. Encourage peer-to-peer assistance and facilitate 1-on-1 as needed.
Resources, Suggestions, and Connections
Practices reinforced:
- Creating computational artifacts
Video: Add letters as sprites (2:05)
Quick reference guide: Click here
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.
4. Add color effects (14+ minutes):
4 minute demonstration
Tell the class we are going to add code to each letter we’ve added, so we can make them all different. Click on one of the letter sprites in your project.
Discuss how our code won’t start on its own, but needs an event to begin the algorithm. Demonstrate the different kinds of events blocks and ask which event we want to use to make it so we can run our code when we click on the selected letter (when this sprite clicked).
Indicate we want to change the color of this letter when we click on it, and ask which type of block we might use to do that (looks blocks). Ask if there’s a block that changes the color of a sprite (change color effect by ##). Demonstrate adding the change color effect by 25 block to our event, and then click on the letter with that code to change the color.
Click on another letter and ask the class why it didn’t change colors like our first letter (because we haven’t added code to it yet); switch between the code on each sprite to demonstrate only one of the letters has code. Point out the triangle on the change color effect block has even more options when the triangle on the block is pressed, that the numbers (parameters) can be changed to different numbers, and that there are many more looks blocks to use. Demonstrate how to reset the sprite’s appearance (clear graphic effects).
10+ minute coding time and 1-on-1 facilitating
Ask coders to add in an event and looks block on each of their letters. Leave your code up on display while they work, but encourage them to add more than displayed. Facilitate by walking around and asking questions about how coders might change their code so it’s not the same as yours.
Standards reinforced:
- 1B-AP-10 Create programs that include sequences, events, loops, and conditionals
Practices reinforced:
- Testing and refining computational artifacts
- Creating computational artifacts
Concepts reinforced:
- Algorithms
- Control
Video: Add color effects (3:02)
Quick reference guide: Click here
What’s the difference between “change” and “set” blocks? In Scratch, a “change” block allows you to continuously add/subtract from a block’s parameter; for example, change the color by 25 every time a sprite is pressed. A “set” block will assign the parameter’s value to a specific number; for example, set the color to green every time a sprite is pressed. A potential analogy is a score in a game. When a player scores a point, we want to change their score by a number; however, when the game restarts we want to set the player’s score to a number (e.g., 0) to reset the score. If coders use the “set color effect,” instead of the “change color effect,” guide them by asking what they think the difference between the two blocks are. If they need further assistance, explain the difference.
Video: Change vs. set blocks (1:43)
Facilitation Suggestion: Some coders may not thrive in inquiry based approaches to learning, so we can encourage them to use the Tutorials to get more ideas for their projects; however, we may need to remind coders the suggestions provided by Scratch are not specific to our projects, so it may create some unwanted results unless the code is modified to match our own intentions.
5. Add sounds (15+ minutes):
3 minute demonstration
Demonstrate how to add in a sound by clicking on the Sounds tab, selecting a sound category, previewing a sound, then selecting a sound.
Go back to the code area and ask the class what kind of blocks we might need to add to our algorithm to hear the sound (sound blocks). Drag a start sound block into an algorithm for one of the letters and ask the class what the steps are for the algorithm and what they think will happen. Demonstrate the code for that letter by clicking on it.
12+ minute coding time and 1-on-1 facilitating
Ask coders to experiment with different sound blocks by adding them to their code. Leave your code up on display while they work, but encourage them to add more than displayed. Facilitate by walking around and asking questions about how coders might change their code so it’s not the same as yours.
Standards reinforced:
- 1B-AP-10 Create programs that include sequences, events, loops, and conditionals
Practices reinforced:
- Testing and refining computational artifacts
- Creating computational artifacts
Concepts reinforced:
- Algorithms
Video: Add sounds (3:01)
Quick reference guide: Click here
Note: Some of the sound blocks will not play a block underneath them until they have completed playing their sound (play sound until done) while others immediately play blocks underneath them (start sound). Use questions to guide coders through algorithmic sequences when they are confused about why their code isn’t executing immediately and to uncover similarities and differences between the different blocks.
Video: Start sound vs. play sound until done (2:11)
6. Make letters spin (15+ minutes):
3 minute demonstration
Tell the class you want to make the block spin in a circle when you press it. Ask what kind of blocks might cause the letter to spin (motion blocks). Ask which block in particular (turn ## degrees). Add in a turn ## degrees block to one of your letters and click to demonstrate what the new algorithm does; point out it quickly turns, but doesn’t spin around like you want.
Pull up the control blocks and ask what kind of blocks we could use to turn the letter sprite many times to make it look like it’s spinning (repeat ## or forever). Demonstrate using one of the two control blocks with a turn ## degrees block inside of it connected to your algorithm. Demonstrate how to reset the sprite’s direction (point in direction).
12+ minute coding time and 1-on-1 facilitating
Ask coders to experiment with adding different motion blocks and control blocks to see what they do. Leave your code up on display while they work, but encourage them to add more than displayed. Facilitate by walking around and asking questions about how coders might change their code so it’s not the same as yours. In addition, you could ask how to reset each of the motion blocks (e.g., use a go to block if the sprite moved around and you want it to return to a starting location).
Standards reinforced:
- 1B-AP-10 Create programs that include sequences, events, loops, and conditionals
Practices reinforced:
- Testing and refining computational artifacts
- Creating computational artifacts
Concepts reinforced:
- Algorithms
- Control
Video: Make letters spin (2:55)
Quick reference guide: Click here
Note: Some of the sound blocks will only play one sound when put in a repeat block because it restarts the sound when looped through again. The repeat is going so fast we only hear the final loop of the repeat. To fix this, add in a wait block or use the play sound until done block.
Fun example: Using looks blocks inside of repeats can create some really interesting effects! WARNING: Be careful of using the change color effect by ## inside a repeat as it may trigger epileptic responses. If coders want to use this effect, encourage them to include wait blocks in their repeat to slow down the color changes.
7. Add a backdrop and decorate (20+ minutes):
1 minute demonstration
Demonstrate how to add a backdrop to your project.
19+ minute coding time and 1-on-1 facilitating
Ask coders to add their own backdrop and encourage adding more sprites with code to customize their project. Facilitate by walking around and asking questions about how coders might change their code so it’s not the same as yours.
Practices reinforced:
- Testing and refining computational artifacts
- Creating computational artifacts
Video: Add a backdrop and decorate (2:00)
Quick reference guide: Click here
8. Add in comments (the amount of time depends on typing speed and amount of code):
1 minute demonstration
When the project is nearing completion, bring up some code for the project and ask coders to explain to a neighbor how the code is going to work. Review how we can use comments in our program to add in explanations for code, so others can understand how our programs work.
Quickly review how to add in comments.
Commenting time
Ask coders to add in comments explaining the code throughout their project. Encourage coders to write clear and concise comments, and ask for clarification or elaboration when needed.
Standards reinforced:
- 1B-AP-17 Describe choices made during program development using code comments, presentations, and demonstrations
Practices reinforced:
- Communicating about computing
Concepts reinforced:
- Algorithms
Video: Add in comments (1:45)
Quick reference guide: Click here
Facilitation suggestion: One way to check for clarity of comments is to have a coder read out loud their comment and ask another coder to recreate their comment using code blocks. This may be a fun challenge for those who type fast while others are completing their comments.
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?
- Did coders create different algorithms that all start with an event for each letter of their name?
- Did coders include at least ## backdrop(s)? What about sound(s)?
- 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 if they’ve done some coding before:
- 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.