High School course

Programming 302

  • GRADES 7+
  • ADVANCED
  • WEB
  • 16 LESSONS
Slide: 1 of 24

Answer Key

Module 3: Creating Targets

Module 4: Create a Moving Target

Module 5: Color Shot

Module 6: Target Practice

Module 7: Quiz

1. Which one of these blocks is an operator?

  • {"type":"wrapper","func":"valueOpMultiply","values":[{"type":"number","value":"0"},{"type":"number","value":"0"}]}
  • {"type":"wrapper","func":"valueMotionXPosition"}
  • {"type":"wrapper","func":"MotionYPosition"}
  • {"type":"wrapper","func":"valueSensingMouseDown"}

2. Which one of these blocks is NOT an operator?

  • {"type":"wrapper","func":"valueSensingMouseDown"}
  • {"type":"wrapper","func":"valueOpMultiply","values":[{"type":"number","value":"0"},{"type":"number","value":"0"}]}
  • {"type":"wrapper","func":"valueOpAdd","values":[{"type":"number","value":"0"},{"type":"number","value":"0"}]}
  • {"type":"wrapper","func":"valueOpSubtract","values":[{"type":"number","value":"0"},{"type":"number","value":"0"}]}

3. Which code block allows an Actor to not be affected by gravity?

  • {"func":"blockPhysicsSetStatic","values":[{"type":"boolean","value":"true"}]}
  • {"func":"blockPhysicsSetActive","values":[{"type":"boolean","value":"true"}]}
  • {"func":"blockPhysicsApplyImpulse","values":[{"type":"number","value":"0"}]}
  • {"func":"blockPhysicsStart"}

4. Which code block allows an Actor to not be affected by physics?

  • {"func":"blockPhysicsSetActive","values":[{"type":"boolean","value":"false"}]}
  • {"func":"blockPhysicsStart"}
  • {"func":"blockPhysicsSetActive","values":[{"type":"boolean","value":"true"}]}
  • {"func":"blockPhysicsSetStatic","values":[{"type":"boolean","value":"false"}]}

5. What do these two code blocks have in common? {"func":"blockPhysicsSetActive","values":[{"type":"boolean","value":"false"}]} {"func":"blockPhysicsSetStatic","values":[{"type":"boolean","value":"true"}]}

  • They both prevent the Actor from being affected by gravity
  • They both get rid of physics altogether, so no objects can bounce off of the Actor regardless of which block you use
  • They both make the Actor fall towards the ground
  • They both make the Actor disappear

6. Which block checks for if an Actor affected by physics or not?

  • {"type":"wrapper","func":"valuePhysicsIsActive"}
  • {"func":"blockPhysicsSetGeometry","values":[{"type":"choice","value":"circular"}]}
  • {"func":"blockPhysicsApplyImpulse","values":[{"type":"number","value":"0"}]}
  • {"func":"blockPhysicsStart"}

7. Which of these code blocks will run the code underneath it when the Actor goes below the bottom edge of the screen? {"func":"blockControlIfElse","values":[{"type":"wrapper","func":"valueOpLess","values":[{"type":"wrapper","func":"valueMotionXPosition"},{"type":"wrapper","func":"valueSensingScreenBottom"}]}],"containers":[{"func":"blockLooksHide"},{"func":"blockLooksShow"}]}

  • {"func":"blockLooksHide"}
  • {"func":"blockLooksShow"}

8. Which code block checks if the Actor is on the left half of the screen?

  • {"type":"wrapper","func":"valueOpLess","values":[{"type":"wrapper","func":"valueMotionXPosition"},{"type":"string","value":"0"}]}
  • {"type":"wrapper","func":"valueOpLess","values":[{"type":"wrapper","func":"valueMotionYPosition"},{"type":"string","value":"0"}]}
  • {"type":"wrapper","func":"valueOpLess","values":[{"type":"wrapper","func":"valueMotionXPosition"},{"type":"string","value":"500"}]}
  • {"type":"wrapper","func":"valueOpLess","values":[{"type":"wrapper","func":"valueMotionXPosition"},{"type":"wrapper","func":"valueSensingScreenLeft"}]}

9. Which code block checks if the Actor is on the bottom half of the screen?

  • {"type":"wrapper","func":"valueOpLess","values":[{"type":"wrapper","func":"valueMotionYPosition"},{"type":"string","value":"0"}]}
  • {"type":"wrapper","func":"valueOpLess","values":[{"type":"wrapper","func":"valueMotionXPosition"},{"type":"wrapper","func":"valueSensingScreenLeft"}]}
  • {"type":"wrapper","func":"valueOpLess","values":[{"type":"wrapper","func":"valueMotionYPosition"},{"type":"wrapper","func":"valueSensingScreenTop"}]}
  • {"type":"wrapper","func":"valueOpLess","values":[{"type":"wrapper","func":"valueMotionXPosition"},{"type":"string","value":"0"}]}

10. When will this code block be run? {"func":"registerTrigger","values":[{"type":"wrapper","func":"valueOpAnd","values":[{"type":"wrapper","func":"valueOpEqual","values":[{"type":"wrapper","func":"valueMotionXPosition"},{"type":"string","value":"0"}]},{"type":"wrapper","func":"valueOpEqual","values":[{"type":"wrapper","func":"valueMotionYPosition"},{"type":"string","value":"0"}]}]}],"next":{"func":"blockLooksHide"}}

  • When the Actor is in the center of the screen
  • When the Actor is at the top edge of the screen
  • When the Actor is at the bottom edge of the screen
  • When the Actor is on the bottom left corner of the screen

11. What will be the value of the Is Active? block if other Actors pass through this Actor? {"type":"wrapper","func":"valuePhysicsIsActive"}

  • True
  • False

12. True or false: This block can be used to check if an Actor is static. {"type":"wrapper","func":"valuePhysicsIsActive"}

  • True
  • False

13. True or false: You can check if an Actor is active when physics is turned on.

  • True
  • False

14. True or false: You can check if the current Actor is hidden.

  • True
  • False

15. True or false: You can check if the mouse is down.

  • True
  • False

U.S. Standards

  • CCSS-Math: MP.1, MP.2, MP.7
  • CCSS-ELA: 6-8.RST.3, 6-8.RST.4, 6-8.RST.7, RI.9-10.3, RI.11-12.3
  • CSTA: 2-AP-10, 2-AP-12, 2-AP-13, 2-AP-15, 2-AP-16, 2-AP-17, 3A-AP-17, 3A-AP-22
  • CS CA: 6-8.AP.11, 6-8.AP.13, 6-8.AP.15, 6-8.AP.16, 6-8.AP.17, 9-12.AP.12, 9-12.AP.16
  • ISTE: 1.c, 1.d, 4.d, 5.c, 5.d, 6.b

U.K. Standards

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
Key stage 4
All pupils must have the opportunity to study aspects of information technology and computer science at sufficient depth to allow them to progress to higher levels of study or to a professional career. Pupils should be taught to:
  • develop their capability, creativity and knowledge in computer science, digital media and information technology
  • develop and apply their analytic, problem-solving, design, and computational thinking skills
  • understand how changes in technology affect safety, including new ways to protect their online privacy and identity, and how to report a range of concerns

Lesson 4: Physics Properties

Course: | Web

  • Introduction
  • Concepts
  • Creating Targets
  • Create a Moving Target
  • Color Shot
  • Target Practice
  • Quiz

Description

In this advanced lesson plan, students will be introduced to the physics library as they build Gravity Sling, a projectile game inspired by Angry Birds (TM). They define the behaviors of different kinds of projectiles and use physics commands such as impulse, gravity and collisions to build the game. Ninja Runner is an advanced physics platformer game with a boss fight sequence that challenges them to apply all the concepts and skills they have learned.

Students who successfully complete this lesson plan will demonstrate excellent understanding of a variety of programming concepts and computational thinking skills, and will be able to design and implement projects of moderate to advanced complexity.

Topics

  • List variables
  • Structured data
  • Loops
  • Advanced flow control
  • Physics attributes
  • Velocity
  • Impulses
  • Collisions
  • Sending and receiving messages
  • Parameters
  • Functions
  • Advanced conditional logic
  • Math
  • Boolean operators

What Students Learn

  • Build a complete projectile-based physics game
  • Build a complete platformer game using physics
  • Programmatically generate never-ending platforms
  • Program a hero with multiple actions and access them via keys
  • Use cloud variables and a list data structure to implement a leaderboard
  • Use variables to keep score and game speed
  • Program enemy A.I.

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.