Lesson Plan
Animation

Overview

In this activity, club members build a side scroller game while they learn about nested conditional statements.

Volunteer Focus

  • Keep club members on track with agenda.
  • Encourage persistence and hard work, rather than speed of completion.

Agenda Summary

This agenda is designed for a 60-minute lesson. To customize the agenda for clubs of a different length, visit www.cs-first.com/dashboard. and use the Agenda Timer.

Time (mins) Agenda Item
5 Introduction
3 View Showcase Projects
2 Transition to Computer Time
4 Watch Video 1
5 Watch Video 2 and Create
6 Watch Video 3 and Create
7 Watch Video 4 and Create
7 Watch Video 5 and Create
7 Watch Video 6 and Create
0 Choose Add-Ons and Create
2 Start Wrap-Up- CS First Reflection
4 Watch Final Video
3 Share Projects in Scratch
1 Select Showcases
4 Club Discussion

Topics Introduced

  • Nested conditionals
  • Creating illusion of movement by moving background

Topics Reinforced

  • Sequencing
  • Events
  • Loops
Introduction (5 minutes)
Directions Student Instructions
1. Greet members at the door as they arrive.
(Show script)

Hi [name]. Welcome back!

2. Ask members to pick up their passports, then sit at an empty computer and log in.
(Show script)

Everyone please pick up your passports and go to a computer. Sign in to CS First and Scratch. Once you have logged in, please turn off your monitors.

3. Once all members are seated and logging in to their computers, privately ask members who are sitting alone to move to a computer near other members.
(Show script)

Hi [name]. Today you’re going to need to be sitting near others to work on this project. Would you mind moving to a seat where you’ll be able to interact with other club members?

4. Use the silent signal to get member attention.
(Show script)

[Silent signal] I need everyone’s attention up here, please.

5. Have all members turn off monitors and remove headphones before starting. It is important that you enforce this rule or members will use the computers instead of interacting.
(Show script)

Everyone please turn off your monitors, so we can begin the introduction [wait for all members to turn off monitors].

6. Recap and review the last club activity: Parallax.
(Show script)

Will someone please raise their hand and remind me what we did in our last activity? Possible response: Last club we made a parallax scrolling animation in which objects moved in the background behind a walking sprite.

7. Introduce the activity's CS concept: contingencies.
(Show script)

In this activity, you will create a side scrolling game using contingencies. Can someone please raise their hand, and give an example of a side scrolling game? (Mario, Sonic, Braid). In Scratch, you create contingencies using conditional statements. An example of a contingency would be "I will carry an umbrella only if it is raining," because carrying an umbrella depends on if it is raining.  

  1. Pick up your passport.
  2. Choose a computer.
  3. Log in to your computer.
  4. Turn off your monitor.
View Showcase Projects (3 minutes)
Directions Student Instructions
[For instructions on finding and selecting showcases, see the "Preparation" section of this club plan. Remember that club members can opt out of having their projects shown. If the selected club members do not want to showcase their projects, you may ask for one or two volunteers to show their projects.]
  1. Transition to showcase.
    (Show script)

    [Pointing at agenda] Before we begin programming this activity, let's view the member showcases selected at the end of last club. We will play each project, look at the code, and then applaud how awesome the project is. Let's look at the first project!

  2. Run first project and discuss.
    (Show script)

    Someone please raise your hand and tell me what types of blocks you think might be used in this project?

  3. Look at code by clicking the "See Inside" button.
    (Show script)

    Let's take a look at the code used in this project. [Show code and mention a few of the blocks used in the project.]

  4. Cheer and clap.
    (Show script)

    Wow! Amazing! That was a great project! Let’s give them a great big round of applause!

  5. Repeat steps for any additional projects.
  1. Enjoy projects from last club!
  2. Make some noise!
Transition to Computer Time (2 minutes)
Directions Student Instructions
  1. Introduce computer time.
    (Show script)

    [show agenda] Now, we're going to move into the computer time.

  2. Remind members to use a sticky note if they have a question. [optional]  
    (Show script)

    If you have a question during this time, ask your neighbors for help. If they can’t help you, put a sticky note on your monitor and, I will come help you.

  3. Remind members that at the end of this activity you will pick a few projects to share next club.
    (Show script)

    Remember that at the end of this activity we will pick a few people’s projects to show at the beginning of next club.

  4. Have members turn on monitors and navigate to CS First website.
    (Show script)

    Please turn on your monitors, go to the CS First website, and start watching the first video.

  5. If there are new club members, provide them with your club code and ask them to go to cs-first.com/go to get sign-in information.
    (Show script)

    If today is your first time in this club, please begin by going to cs-first.com/go. Click "Enter Club Code," then follow the directions to get a sign-in and password.

  1. Go to cs-first.com.
  2. Sign in with the username and password from your club pass.
  3. Start watching the first video.
  4. If it's your first day, welcome! Go to www.cs-first.com/go and click "Enter Club Code" to get started. Ask your Guru for your club's code.
Watch Video 1 (4 minutes)
Directions Student Instructions
Immediately after asking members to begin watching the first video:
  • Answer questions promptly so members can get started on the activity.
  • Go to a place in the room where you can see all of the monitors. Ensure that all members have begun to watch the first video. Look for members who are either not on the CS First site or who are watching the wrong video. Politely and privately redirect these members to the correct video.
 
Check to ensure that members have signed in to Scratch by looking at the top right corner of their Scratch project editor. If you see their username, they are signed in. If you see a "Sign In" link, that member still needs to sign in. Members who haven't signed in will not be able to save their work.
(Show script)

I see that you haven't signed in. Please click sign in, and enter your sign-in information from your passport so that you can save your project.

 
 
While club members are on the CS First website, ensure that they are viewing the proper club theme (e.g. Games, Music, etc.).
  1. Open the starter project.
  2. Click Remix and sign in.
Watch Video 2 and Create (5 minutes)
Directions Student Instructions
Check that members have opened the starter project. The Solution Sheet shows an example of a blank starter project.
(Show script)

I see that you've watched the first video and were able to get to Scratch. That's great! Next, open a starter project. To do that... [guide member to starter project link].

 
Look for club members who are designing (adding sprites, backdrops, etc.), and encourage them to experiment with code.
(Show script)

I see that you've spent a lot of designing this project. Do you have any plans for how you want to code it? Why don't you try experimenting with different blocks to see what you can make it do?

 
Interact with all members in the club. Your attention demonstrates you care. Try to interact with every member personally at least once per club session.
(Show script)

Hi [name], how’s it going? Can you show me what you've made so far? How did you make your project do that? That looks really good! Keep working hard on your project.

 
The one "wait" block should be below (outside) the "if/else" block, but inside (at the bottom of) the "forever" loop. Encourage club members to test their code as they build.
  1. Add the looks loop.
  2. Inside it, continue to switch to the next costume while the hero still shows a walking costume.
  3. If the hero is on its last costume, switch back to the first walking costume.
  4. Wait .1 seconds each time the loop runs.
Watch Video 3 and Create (6 minutes)
Directions Student Instructions
Encourage members to test their code often, tinker with their code, and explore.
(Show script)

Hi [name]. Can you show me what your code does? Can you tell me what you're building? It is a good idea to run your code often as you build so you know it does what you want. If it doesn’t do what you want, try moving the blocks around or tinkering with some of the values in the blocks.

 
Once the club members have the ground moving, they should delete the ground sprite test code. The "forever" loop that checks "if" the arrow key is pressed should be in the hero sprite's code.
  1. Place an “if” block inside a “forever” loop to check if the arrow key is pressed.
  2. If it is, broadcast the forward message.
Watch Video 4 and Create (7 minutes)
Directions Student Instructions
  • Watch the agenda and remind members where they should be at this point in the club session.
    (Show script)

    Looking at the agenda, you should now be on Video [X]. You should start watching that video soon, so you can finish this activity.

  • Help move members along individually who begin to fall behind.
    (Show script)

    Hi [name], I see that you are working on Video [X]. Remember that we have a certain amount of time for each video so you can finish your project! Take a couple more minutes to finish this one, then move to the next. I’ll come back and check on you in a little bit.

Look for club members who are designing (adding sprites, backdrops, etc.), and encourage them to experiment with code.
(Show script)

I see that you've spent a lot of designing this project. Do you have any plans for how you want to code it? Why don't you try experimenting with different blocks to see what you can make it do?

 
To make the ground stop moving, pull the block stack away from the "when I receive 'forward'" event. Make sure to snap it back together for the end! The nesting is tricky – refer to the solution sheet to check the code.
  1. Start the hero in the right place.
  2. Move the ground below and make it stay.
  3. Create a variable.
  4. Place this variable in a “change y” block at the bottom of the motion loop.
  5. Make the variable change by negative 1 if the hero is in the air, or set it to 0 if it’s on the ground.
Watch Video 5 and Create (7 minutes)
Directions Student Instructions
The club members should create a whole new block stack that starts with a "when I receive 'forward'" event. If it doesn't work, try working through the logic of the application with the student.
  1. Add a new variable “x speed.”
  2. Make the conditional “if x speed is not 0,” then snap all the looks loop blocks inside.
  3. When the hero receives “forward,” have it set the x speed to 1, wait for a short time, then set the x speed back to 0.
Watch Video 6 and Create (7 minutes)
Directions Student Instructions
If club members don’t have questions, it is still important to walk around the classroom and interact with everyone. The self-paced nature of CS First clubs ensures that you have time to work individually with club members even when questions aren’t being asked. Consider asking club members: “Can you tell me about what you’re working on?”; “How are you doing?”; “Wow that’s interesting! How’d you make it do that?”; “What’s your favorite part of your program/game/project so far?”
 
  1. Program the hero to loop through the jumping costumes using “switch costume,” “repeat,” “next costume,” and “wait.”
  2. Make the animation only happen when the hero is moving up or down, or when the y speed is not 0.
  3. Use “wait until” to stop the animation after the hero goes through one jump cycle.
Choose Add-Ons and Create (0 minutes)
Directions Student Instructions
During this time, members customize their projects by trying some add-ons. Add-ons allow members to explore programming concepts and features as they follow the guidance and instruction in the videos.
  1. Walk around, and encourage members to try the add-ons that interest them.  
    (Show script)

    It looks like you've finished the core videos. That's great! Move to the next page to learn about different ways to customize your project.

  2. Help members navigate the add-ons menu.
    (Show script)

    "When you click "watch," the add-on will open. To go back to the add-on selection screen, click on the X at the top of the video."

  3. If you notice that members have not saved or shared their projects (You will see a "See project page" button in the top right corner of the project editor on projects members have shared.), encourage them to do so before they continue working on add-ons.
    (Show script)

    I see that you're working on the add-ons. Be sure to save your project, and click "Share" to make it available to the Scratch community.

  1. Choose an add-on, and click "watch" to learn how to customize your project.
  2. When you finish, come back to the add-ons screen and try another add-on!
Start Wrap-Up- CS First Reflection (2 minutes)
Directions Student Instructions
  1. Get everyone’s attention using the silent signal.
    (Show script)

    [silent signal] Can I have everyone’s attention up here, please?

  2. Ask club members to click the next arrow until they reach the reflection page, then to complete the reflection.
    (Show script)

    Now it's time for the CS First club reflection and wrap-up video. Click the 'next' arrow, and complete the reflection. Then, click the next arrow and watch the wrap-up video. While you do this, I'll walk around and hand out participation badges.

  3. Walk around, and ensure that club members are transitioning to the reflection page.
  4. Give out participation badges (stickers).
  1. Complete the CS First Reflection.
Watch Final Video (4 minutes)
Directions Student Instructions
  1. Prompt club members to complete the club reflection, then move on to the wrap-up video.
    (Show script)

    After you've completed your reflection, click the 'next' arrow to watch the wrap-up video. While you're finishing these final steps, I'll continue to walk around and award the participation badges for this activity.

  2. Ask club members to write a shout-out for a clubmate. [optional] 
    (Show script)

    After watching the wrap-up video, write a positive note to a clubmate on your sticky note. Thank someone who helped you, or call out a great project. Once you've written a shout-out, come place it on the G+ board.

  3. Continue to circulate around the club, and pass out participation badges.
  4. When the Agenda Timer indicates that 30 seconds remain in this section, remind club members about the time.
    (Show script)

    You have thirty seconds remaining until we begin sharing projects.

Share Projects in Scratch (3 minutes)
Directions Student Instructions
  1. Tell club members to return to Scratch, and click the "share" button.
    (Show script)

    [Silent signal] Please return to your Scratch project. If you haven't already, please name your project, and, if you’d like, share it by clicking the "share" button in Scratch. Sharing you project will allow any user on the Scratch website to view it. If you can't find the "share" button, ask a neighbor for help. Once you've shared your project in Scratch write a description that explains how to use it. Then, in one minute, we'll begin sharing projects with our neighbors.

  2. Ask the club to begin sharing their projects with the person or people sitting next to them.
    (Show script)

    Everyone please begin sharing your projects with the people sitting near you. During this time, I shouldn't see anyone working on their projects.

  3. Walk around and encourage club members who haven’t shared their projects (the share button will still be visible in the top-right corner of the screen) to do so. If club members don’t wish to share, that’s okay. Ensure that all club members are engaging in this social aspect of the club by either sharing their project with a neighbor, or talking to other club members about their project.
Write a G+ shoutout!
Select Showcases (1 minutes)
Directions Student Instructions
  1. Display showcase selector on board (follow the link at the top of this club plan).
  2. Get everyone’s attention using the silent signal and request that club members turn off their monitors. Ensure that all monitors are turned off before beginning (club members won’t need to use their computers again during this club).
    (Show script)

    [Hand raised] Everyone please turn your monitors off and direct your attention up here.

  3. Explain showcase selector.
    (Show script)

    This is the showcase selector. At the end of each activity, we'll pick two projects to showcase at the beginning of next club. If your project is selected, we'll display it up here on the projector next club and everyone will get a chance to enjoy it!

  4. Run the showcase selector.
    (Show script)

    Let’s get excited! Let’s press the "Choose a Showcase!" button and see who gets selected! And we have… CSF###!

  5. Using the club roster, find and say the names of the club members selected.
    (Show script)

    Wonderful! CSF### is...  [name]! I’m really looking forward to seeing [member names] projects next club.

  6. Remind members to share their project.
    (Show script)

    If you were one of the members selected, make sure that we'll be able to see your project by clicking the share button at the top of the project editor. If you didn't do that for this project, make sure you do it first thing at the start of next club.

  7. Tell members what to do if they don't want their project shown.
    (Show script)

    If you were selected, but you don't want your project shown next club, please see me after this club or before the beginning of next club.

 
  1. Know your CS First ID.
  2. Celebrate the projects selected!
Club Discussion (4 minutes)
Directions Student Instructions
  • Briefly review and highlight some G+ posts that club members made.
    (Show script)

    Let’s look at some of the G+ shout-outs that club members received for their work during this activity. [Read a few G+ shout-outs aloud].

  • Lead whole-club discussion.
    (Show script)

    Finally, let’s discuss what you learned during this activity. [Read "discussion questions" below].

  • Preview next club.
    (Show script)

    Next club is on [day of next club (e.g. Monday)], and you will build [description of project].

  • Exit.
    (Show script)

    Once your headphones are wrapped up and your computers are shut down, we will all leave together. I look forward to working with you again next club!

Discussion questions:
  • What was your favorite part about creating your game?
  • How did you used nested conditionals in your project?
Next club: Hangout (create a dialogue between two characters)
  1. Participate in discussion.
  2. Clean up computer station.
  3. Wrap headphones.
  4. If instructed to by your Guru, shut down computers.

After members have exited the room: