Middle School course

Programming 201

  • GRADES 5-6
  • BEGINNER
  • WEB IPAD
  • 17 LESSONS
Slide: 1 of 21

Answer Key

Module 3: BeatBot Moonwalk

Module 4: Do the Moonwalk

Module 6: Music Loop

Module 8: Finish Beatbot Battle

Module 9: Quiz

1. What block can be used to make an Actor move horizontally?

  • {"func":"blockMotionChangeXBy","values":[{"type":"number","value":"10"}]}
  • {"func":"blockMotionChangeYBy","values":[{"type":"number","value":"10"}]}
  • {"func":"blockControlWait","values":[{"type":"number","value":"1"}]}
  • {"func":"registerSpriteTrigger"}

2. What blocks can you use to send a message to other Actors? (Select all answers that apply)

  • {"func":"blockControlBroadcast","values":[{"type":"string","value":""}]}
  • {"func":"blockControlPostMessage","values":[{"type":"string","value":""},{"type":"string","value":"any"},{"type":"string","value":""}]}
  • {"func":"registerSpriteTrigger"}
  • {"func":"blockMotionBounceOnEdge"}

3. Why might you need to add a 'Wait' block?

  • To slow down an animation
  • To play a Sound
  • To hide the Actor
  • To remove an animation

4. Which block tells an Actor to point in a certain direction?

  • {"func":"blockMotionPointDirection","values":[{"type":"string","value":"90"}]}
  • {"func":"blockControlBroadcast","values":[{"type":"string","value":""}]}
  • {"func":"blockSoundPlayUntilDone","values":[{"type":"string","value":""}]}
  • {"func":"blockMotionChangeXBy","values":[{"type":"number","value":"10"}]}

5. Frank is trying to program his button to flash when clicked, but it happens so quickly that he can't really see it flash. Here's his code:
{"func":"registerSpriteTrigger","next":{"func":"blockLooksNextCostume","next":{"func":"blockLooksSwitchCostume","values":[{"type":"string","value":"red button off"}]}}}
How can he fix it?

  • He should add a {"func":"blockControlWait","values":[{"type":"number","value":""}]} block
  • He should put his code in a {"func":"blockControlForever","containers":[null]} loop
  • He should put his code in a {"func":"blockControlRepeat","values":[{"type":"number","value":""}],"containers":[null]} loop
  • He should add another Actor

6. True or False: Animating a flashing button and animating a robot both use the {"func":"blockLooksNextCostume"} code block.

  • True
  • False

7. Grace is trying to program a piano so that a note plays when she clicks on it. Which of the sets of code blocks will help her do that?

  • {"func":"registerSpriteTrigger","next":{"func":"blockSoundPlayNote","values":[{"type":"number","value":"60"},{"type":"number","value":"0.5"}]}}
  • {"func":"registerSpriteTrigger","next":{"func":"blockSoundRest","values":[{"type":"number","value":"0.2"}]}}
  • {"func":"registerSpriteTrigger","next":{"func":"blockSoundStopAll"}}
  • {"func":"registerSpriteTrigger","next":{"func":"blockSoundSetTempo","values":[{"type":"number","value":"60"}]}}

8. Irene is using the 'Play Drum' block in her game, which is currently playing at 60 bpm (beats per minute). How will the following block affect the background music?
{"func":"blockSoundSetTempo","values":[{"type":"number","value":"30"}]}

  • It will make the drum play twice as slow
  • It will make the drum play twice as fast
  • It will stop the drum
  • It will make the drum play only for 30 seconds

9. Henry wants to program his game to have background music, but for some reason it isn't working. What is wrong with his code?
{"func":"blockControlForever","containers":[{"func":"blockSoundPlayUntilDone","values":[{"type":"string","value":"music"}]}]}

  • He needs to connect the code blocks to an {"func":"registerFlagTrigger"} block
  • He should use the 'Play Sound' block instead of the {"func":"blockSoundPlay","values":[{"type":"string","value":""}]} block
  • He should add a {"func":"blockControlWait","values":[{"type":"number","value":"1"}]} block
  • He should add a {"func":"blockControlBroadcast","values":[{"type":"string","value":""}]} block

10. What does the following code do to an Actor?
{"func":"registerKeyTrigger","values":[{"type":"choice","value":"right arrow"}],"next":{"func":"blockMotionChangeXBy","values":[{"type":"number","value":"10"}]}}

  • The Actor will move right when the right arrow key is pressed
  • The Actor will move left when the right arrow key is pressed
  • The Actor will move right when the left arrow key is pressed
  • The Actor will move left when the left arrow key is pressed

11. What is the difference between the X and Y axis?

  • The X axis deals with left/right position, while the Y axis deals with up/down
  • The Y axis deals with left/right position, while the X axis deals with up/down
  • The X axis deals with diagonals, while the Y axis deals with up/down and left/right
  • The Y axis deals with diagonals, while the X axis deals with up/down and left/right

12. True or False: The {"func":"blockMotionChangeXBy","values":[{"type":"number","value":"10"}]} code block will move the actor up.

  • True
  • False

13. True or False: The {"func":"blockMotionPointDirection","values":[{"type":"string","value":"90"}]} code block will make the Actor point to the left.

  • True
  • False

14. True or False: The {"func":"blockMotionPointDirection","values":[{"type":"string","value":"0"}]} code block will make the Actor point towards the top of the screen.

  • True
  • False

15. True or False: The {"func":"blockMotionPointDirection","values":[{"type":"string","value":"90"}]} code block will make the Actor point to the right.

  • True
  • False

16. True or False: It is possible for an Actor to animate and move at the same time.

  • True
  • False

17. Marco wants to broadcast a message to four different Actors with the {"func":"blockControlBroadcast","values":[{"type":"string","value":"play"}]} block, and have them all play different sounds in response to the message. How can he do this?

  • Use the {"func":"registerBroadcastTrigger","values":[{"type":"string","value":"play"}],"next":{"func":"blockSoundPlay","values":[{"type":"string","value":""}]}} block in all four Actors
  • Use four different {"func":"registerBroadcastTrigger","values":[{"type":"string","value":""}]} blocks in all four Actors
  • Have all four Actors contain a {"func":"registerFlagTrigger","next":{"func":"blockSoundPlay","values":[{"type":"string","value":""}]}} block
  • Have all four Actors use a {"func":"registerSpriteTrigger","next":{"func":"blockSoundPlay","values":[{"type":"string","value":""}]}} block

18. Which edge of the screen would an Actor be facing after using the {"func":"blockMotionPointDirection","values":[{"type":"string","value":"0"}]} block?

  • The top edge
  • The left edge
  • The right edge
  • The bottom edge

19. What is the difference between the {"func":"blockMotionMove","values":[{"type":"number","value":"10"}]} and {"func":"blockMotionChangeXBy","values":[{"type":"number","value":"10"}]} blocks?

  • The {"func":"blockMotionMove","values":[{"type":"number","value":"10"}]} block changes the position of the Actor based on its direction, while the {"func":"blockMotionChangeXBy","values":[{"type":"number","value":"10"}]} block changes position based on its coordinate position
  • The {"func":"blockMotionMove","values":[{"type":"number","value":"10"}]} block changes the position of the Actor based on its coordinate position while the {"func":"blockMotionChangeXBy","values":[{"type":"number","value":"10"}]} block changes position based on its direction
  • There is no difference between the two blocks
  • The {"func":"blockMotionMove","values":[{"type":"number","value":"10"}]} block changes the position of the Actor vertically, while the {"func":"blockMotionChangeXBy","values":[{"type":"number","value":"10"}]} block changes the position of the Actor horizontally

20. How many animation sequences can an Actor have?

  • 1 animation sequence
  • 10 animation sequences
  • There is no limit to the number of animation sequences an Actor can have
  • Actors cannot have any animation sequences

21. Grace is trying to program a piano so that a note plays when she taps on it. What code will help her do that?

  • {"func":"registerSpriteTrigger","next":{"func":"blockSoundPlayNote","values":[{"type":"number","value":"60"},{"type":"number","value":"0.5"}]}}
  • {"func":"registerSpriteTrigger","next":{"func":"blockSoundRest","values":[{"type":"number","value":"0.2"}]}}
  • {"func":"registerSpriteTrigger","next":{"func":"blockSoundStopAll"}}
  • {"func":"registerSpriteTrigger","next":{"func":"blockSoundSetTempo","values":[{"type":"number","value":"60"}]}}

U.S. Standards

  • CCSS-Math: 5.G.A.1, 5.G.A.2, 6.NS.C.6, 6.NS.C.6, MP.1
  • CCSS-ELA: RF.5.4.A, 6-8.RST.3, 6-8.RST.4, 6-8.RST.7
  • CSTA: 1B-AP-10, 1B-AP-11, 1B-AP-12, 1B-AP-15, 2-AP-11, 2-AP-12, 2-AP-13, 2-AP-16, 2-AP-17
  • CS CA: 3-5.AP.10, 3-5.AP.11, 3-5.AP.12, 3-5.AP.13, 3-5.AP.14, 3-5.AP.17, 6-8.AP.11, 6-8.AP.12, 6-8.AP.13, 6-8.AP.16, 6-8.AP.17
  • ISTE: 1.c, 1.d, 4.d, 5.c, 5.d, 6.b

U.K. Standards

Key stage 2
Pupils should be taught to:
  • design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts
  • use sequence, selection, and repetition in programs; work with variables and various forms of input and output
  • use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs
  • understand computer networks, including the internet; how they can provide multiple services, such as the World Wide Web, and the opportunities they offer for communication and collaboration
  • use search technologies effectively, appreciate how results are selected and ranked, and be discerning in evaluating digital content
  • select, use and combine a variety of software (including internet services) on a range of digital devices to design and create a range of programs, systems and content that accomplish given goals, including collecting, analysing, evaluating and presenting data and information
  • use technology safely, respectfully and responsibly; recognise acceptable/unacceptable behaviour; identify a range of ways to report concerns about content and contact
Key stage 3
Pupils should be taught to:
  • design, use and evaluate computational abstractions that model the state and behaviour of real-world problems and physical systems
  • understand several key algorithms that reflect computational thinking [for example, ones for sorting and searching]; use logical reasoning to compare the utility of alternative algorithms for the same problem
  • undertake creative projects that involve selecting, using, and combining multiple applications, preferably across a range of devices, to achieve challenging goals, including collecting and analysing data and meeting the needs of known users
  • create, reuse, revise and repurpose digital artefacts for a given audience, with attention to trustworthiness, design and usability
  • understand a range of ways to use technology safely, respectfully, responsibly and securely, including protecting their online identity and privacy; recognise inappropriate content, contact and conduct, and know how to report concerns

Lesson 16: Animation with Movement

Course: | iPad Web

  • Introduction
  • Moonwalk Example
  • BeatBot Moonwalk
  • Do the Moonwalk
  • Music Loop Example
  • Music Loop
  • Beatbot Battle Example
  • Finish Beatbot Battle
  • Quiz

Description

An introduction to programming for beginners in upper elementary grades. Introduce your class to programming using a fun scenario-based approach where they build two complete games. Side Scroller Survival introduces them to basics of motion and animation. In BeatBot Battle, they program a robot to make it dance. On completing this lesson plan students will be able to build simple games, animations, and a variety of simple projects.

Topics

  • Use sequencing
  • Pattern recognition
  • Loops
  • Conditional logic
  • Create scenes
  • Add sounds and music
  • Use keyboard controls
  • Learn about motion
  • Broadcasting messages
  • Adding special effects

What Students Learn

  • Create interactive scenes with actors, scenes and music
  • Design animations using loops
  • Program motion along x- and y-axes
  • Build algorithms using conditional logic
  • Understand scripts running in parallel
  • Program music using notes, tempo and instruments
  • Create different scenarios and effects in games
  • Publish projects to the Web
  • Troubleshoot and debug simple programs

Technical Requirements

* Online courses require a modern desktop computer, laptop computer, Chromebook, or Netbook with Internet access and a Chrome (29+), Firefox (30+), Safari (7+), or Edge (20+) browser. No downloads required.
* Tablet courses require an iPad (iOS 10+) with Tynker or Tynker Junior app installed and Internet access