1 of 66

Coding Geometry

Aligned to Glencoe Geometry 2018 & Code.org’s Computer Science Discoveries 23’-24’

2 of 66

Using the Coding Geometry Course: A Guide for Teachers

In this video, we will explore the coding geometry course designed to reinforce students' geometry skills through coding. We will cover the following topics:

  • Introduction: An overview of the course and its objectives.
  • Slide Navigation: How to navigate through the Google Slides and access the activity slides.
  • Activity Slides: Understanding the layout of the activities, including the alignment with Code.org's Computer Science Discoveries course and the integration of geometry lessons.
  • CS Discoveries Link: Accessing the Computer Science Discoveries Lesson page, finding printable resources, and utilizing the provided videos.
  • Levels: Exploring the levels used in the CS Discoveries course and their relevance to geometry concepts.
  • Assessments: Understanding the assessments included in the activities and their role in assessing students' understanding of both coding and math concepts.
  • Challenges: The importance of encouraging students to engage with the challenges to deepen their coding skills and create more intriguing apps and games.
  • Notebook: Highlighting the significance of maintaining a geometry and coding notebook for concept retention and reflection.

2

3 of 66

Suggested Pacing

Unit 1: 22 Periods Activities 1-8 Problem Solving and Computing

Unit 2: 56 Periods Activities 9-26 Intro to Apps and Games

Unit 3: 49 Periods Activities 27-36 Advanced games

Unit 4: 28 Periods Activities 37- 52 Data and Society

3

  • Pacing is based on 60 minute periods with students working through the guides, levels, projects, and math lessons
  • Units are hyperlinked to the first slide in the unit
  • Provide ample time for students to work through challenge levels, create sprites for their apps and games, and master code before moving on

4 of 66

Geometry Lessons & Math Standards

LESSON: 4-7: Triangles and Coordinate Proofs�PG#: 334�CCSS: G.CO.IO, G.GPE.4

LESSON: 5-1: Bisectors of Triangles�PG#: 354�CCSS: G.CO.10, G.MG.3

LESSON: 5-2: Medians and Altitudes of Triangles�PG#: 365�CCSS: G.CO.10, G.MG.3

Code.org: Lesson 10: Intro to Problem Solving - Spaghetti Bridge (Alternate Lesson 1) Pick the lesson or alternate that works for you

Overview�Question of the Day: What can help us to work together and solve problems as a team?�For this lesson, you will work with a group to design, build, test, and reflect on a spaghetti bridge that will support as many books as possible.

Resources�Spaghetti Bridge - Activity Guide

Levels: This lesson contains no levels.

4

Assessment(s): Student Activity Guide,

Assess students' understanding of the properties of triangles and coordinate proofs as applied to bridge construction. Evaluate their ability to design and build a spaghetti bridge that incorporates geometric concepts.

Suggested Pacing:

5

5 of 66

Geometry Lessons & Math Standards

CCSS.MATH.PRACTICE.MP1 �Make sense of problems and persevere in solving them.

CCSS.MATH.PRACTICE.MP3 �Construct viable arguments and critique the reasoning of others.

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�1B-AP-08 - Compare and refine multiple algorithms for the same task and determine which is the most appropriate.�1B-AP-11 - Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.

Code.org: Lesson 2: The Problem Solving Process

Overview�Question of the Day: What are some common steps we can use to solve many different types of problems?�You will learn about the Problem Solving Process we use in Computer Science and dive into a few strategies to implement each step.

Resources�Problem Solving Process - VideoThe Problem Solving Process - Activity Guide��Levels�Problem Solving Process - Video

5

Assessment(s): Activity Guide, Venn Diagram of comparison between The problem solving process and standards for mathematical practices.

Suggested Pacing:

2

6 of 66

Geometry Lessons & Math Standards

CCSS.MATH.PRACTICE.MP1 �Make sense of problems and persevere in solving them.

CCSS.MATH.PRACTICE.MP3 �Construct viable arguments and critique the reasoning of others.

CSTA K-12 Computer Science Standards (2017)

AP - Algorithms & Programming

1B-AP-08 - Compare and refine multiple algorithms for the same task and determine which is the most appropriate.

1B-AP-11 - Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.

1B-AP-16 - Take on varying roles, with teacher guidance, when collaborating with peers during the design, implementation and review stages of program development.

Code.org: Lesson 3: Exploring Problem Solving (There are two alternatives for this lesson so pick the ones that work best for your students)

Overview�Question of the Day: How can we apply the problem solving process to many different kinds of problems?�Today you will apply the Problem-Solving Process to three different problems which will grow increasingly complex!

Resources�Solving Problems - Activity Guide

Levels�This lesson contains no levels

6

Assessment(s): Activity Guide

Suggested Pacing:

2

7 of 66

Geometry Lessons & Math Standards

CCSS.MATH.PRACTICE.MP1 �Make sense of problems and persevere in solving them.

CCSS.MATH.PRACTICE.MP3 �Construct viable arguments and critique the reasoning of others.

CSTA K-12 Computer Science Standards (2017)�CS - Computing Systems�1B-CS-01 - Describe how internal and external parts of computing devices function to form a system.

Code.org: Lesson 4: What is a Computer?

Overview�Question of the Day: What is a computer?�In this lesson, you will work with a group to figure out what makes a computer a computer!

Vocabulary�Computer - A machine that works with information.

Resources�What is a Computer - VideoWhat is a Computer (Version A) - Activity GuideWhat is a Computer (Version B) - Activity Guide

Levels�1 Video: What Makes a Computer, a Computer?

7

Assessment(s): Posters

Suggested Pacing:

2

8 of 66

Geometry Lessons & Math Standards

LESSON: Chapter 0-4: Algebraic Expressions�PG#: P10�CCSS: 6.EE.A.2, 6.EE.A.2a, 6.EE.A.2b

LESSON: Chapter 0-5: Linear Equations�PG#: P11�CCSS: 8.EE.C.7, 8.EE.C.7a, 8.EE.C.7b

Code.org: Lesson 5: Input and Output

Overview�Question of the Day: How do computers use input and output to get and give the information that they need to solve problems?�In this lesson, you will learn about how computers get and give information to the user through various inputs and outputs.

Vocabulary�Input - the information computers get from users, devices, or other computers�Output - the information computers give to users, devices, or other computers

Resources�Input and Output - Activity Guide

Levels: 1 App: Pet Chooser, 2 App: Story Creator, 3 App: Improved Pet App

8

Assessment(s): Activity Guide

Suggested Pacing:

3

9 of 66

Activity 6: U1C2L6 Processing

Geometry Lessons & Math Standards

CCSS.MATH.PRACTICE.MP1 �Make sense of problems and persevere in solving them.

CCSS.MATH.PRACTICE.MP3 �Construct viable arguments and critique the reasoning of others.

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-10 - Use flowcharts and/or pseudocode to address complex problems as algorithms.�2-AP-17 - Systematically test and refine programs using a range of test cases.�CS - Computing Systems�1B-CS-01 - Describe how internal and external parts of computing devices function to form a system.�1B-CS-02 - Model how computer hardware and software work together as a system to accomplish tasks.

Code.org Lesson 6: Processing

Overview�Question of the Day: What are the different ways computers can process information?�In this lesson, you will learn about the four types of processing that computers may use to turn input into output.

Vocabulary�Processing - The thinking work computers do to turn input into output.

Resources�Apps with Processing - Activity Guide

Levels: 1 App: Is It Your Birthday?, 2 App: National Parks, 3 App: How Many Countries, 4 App: My Famous Birthday, 5 App: Stamp Notebook, 6 App: The Fastest Finger, 7 App: Guess the Number, 8 App: Where Should I Live?

9

Assessment(s): Activity Guide

Suggested Pacing:

2

10 of 66

Activity 7: U1C2L7 Storage

Geometry Lessons & Math Standards

CCSS.MATH.PRACTICE.MP1 �Make sense of problems and persevere in solving them.

CCSS.MATH.PRACTICE.MP3 �Construct viable arguments and critique the reasoning of others.

CSTA K-12 Computer Science Standards (2017)

AP - Algorithms & Programming

2-AP-10 - Use flowcharts and/or pseudocode to address complex problems as algorithms.

IC - Impacts of Computing

2-IC-20 - Compare tradeoffs associated with computing technologies that affect people's everyday activities and career options.

Code.org Lesson 7: Storage�

Overview�Question of the Day: Why is storage an important part of the computing process?�In this lesson, you learn about the last criteria that make a computer a computer - storage!

Vocabulary�storage - saving information to use in the future

Resources�Apps with Storage - Activity GuideWhat Do Computers Do - Video

Levels: 1 App: Outfit Picker, 2 App: Friend Finder, 3 App: Choose a Kid's Movie, 4 Video: IOSP Model

10

Assessment(s): Activity Guide

Suggested Pacing:

2

11 of 66

Geometry Lessons & Math Standards

CCSS.MATH.PRACTICE.MP1 �Make sense of problems and persevere in solving them.

CCSS.MATH.PRACTICE.MP3 �Construct viable arguments and critique the reasoning of others.

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-10 - Use flowcharts and/or pseudocode to address complex problems as algorithms.�2-AP-15 - Seek and incorporate feedback from team members and users to refine a solution that meets user needs.�2-AP-18 - Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts.�CS - Computing Systems�2-CS-02 - Design projects that combine hardware and software components to collect and exchange data.

Code.org Lesson 8: Project - Propose an App

Overview�Question of the Day: How can the IOSP model help us to design an app that solves a problem?�For this lesson, you will spend a few days creating an idea for an app that solves a real-world problem using input, output, storage, and processing.

Resources�Apps and Problem Solving - Activity GuideApps and Problem Solving - Peer ReviewApps and Problem Solving - RubricApps and Problem Solving - Student Checklist - ResourceComputer Science Practices - Reflection

Levels: 1 End-of-Unit Survey

11

Assessment(s): Guide, Poster, Note that there is a rubric for this project.

Suggested Pacing:

4 (Activity Guide, Poster, Presentation, Peer Review and Reflection)

12 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-13 - Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.

Code.org Lesson 1: Programming for a Purpose

Overview�Question of the Day: How can we design animations and games based on the needs of a user?�In this lesson, you will explore how we can design animations and games for different users and purposes

Resources�(Warm Up) Word Search - Activity GuideAnimation and Game Design Template - Resource Animation and Game Design for Users - Activity GuideProblem Solving and Design - ResourceThe Problem Solving Process - Video

Levels 1 Animation and Game Templates, 2 Check-In Survey

12

Assessment(s): Animation and game Design for Users, Animation and Game design template

Suggested Pacing:

2

13 of 66

Geometry Lessons & Math Standards

LESSON: 0-7 Ordered Pairs�PG #: P15�CCSS: G.CO.1

Code.org Lesson 2: Plotting Shapes

Overview�Question of the Day: How can we clearly communicate how to draw something on a screen?�In this lesson, you will explore the challenges of communicating clear instructions using a Game Lab tool to draw shapes on the Game Lab's grid!

Resources�Drawing Shapes (Version A) - Activity GuideDrawing Shapes (Version B) - Activity Guide

Levels 1 Drawing Shapes

13

Assessment(s): Activity Guide

Suggested Pacing:

2

14 of 66

Geometry Lessons & Math Standards

LESSON: 1-6 Two-Dimensional Figures�PG #: 56�CCSS: G.GPE.7

Code.org Lesson 3: Drawing in Game Lab

Overview�Question of the Day: How can we communicate to a computer how to draw shapes on the screen? In this lesson, you will begin to use Game Lab to position shapes on the screen while working through the concepts of sequencing and debugging.

Vocabulary�Bug - Part of a program that does not work correctly.�Debugging - Finding and fixing problems in an algorithm or program.�Program - An algorithm that has been coded into something that can be run by a machine.

Introduced Code�ellipse(x, y, w, h)fill(color)rect(x, y, w, h)

Resources�Drawing in Game Lab - Part 1 - VideoDrawing in Game Lab - Part 2 - Video

Levels: 1 Predict - Introduction to Game Lab, 2-6 Skill Building, 7 Practice, 8 Assessment, 9 Challenges

14

Assessment(s): Assessment Level

Suggested Pacing:

2

15 of 66

Geometry Lessons & Math Standards

Continuing,�LESSON: 1-6 Two-Dimensional Figures�PG #: 56�CCSS: G.GPE.7

Code.org Lesson 4: Shapes and Parameters

Overview�Question of the Day: How can we use parameters to give the computer more specific instructions? In this lesson, you will continue working in Game Lab and increasing your familiarity with drawing shapes to the screen by manipulating the "parameters" of the shapes you are using to draw.

Vocabulary�Parameter - Additional information provided as input to a block to customize its functionality��Introduced Code�background(color)ellipse(x, y, w, h)rect(x, y, w, h)

Levels 1 Predict, 2-6 Skill Building, 7 Practice, 8 Assessment, 9 Challenges

15

Assessment(s): Assessment Level, Activity 12: Geometry in Game Lab on next slide

Suggested Pacing:

3

16 of 66

Activity 12: Geometry in Game Lab

Skyline at Sunset:

Objective: To demonstrate your understanding of geometric shapes and their representation in Game Lab, your challenge is to create a skyline scene during sunset.

Assignment Details:

  • Background: The backdrop of your scene should depict a sunset. Be creative in how you use color to capture this moment of the day.
  • Sun: Incorporate a circular sun in your skyline. Consider the position of the sun in the sky at sunset, and remember, a sun is a circle so think about what this means for the parameters you choose.
  • Buildings: Your skyline must include at least two buildings. These should be represented as rectangles and vary in terms of their width, height, and position to create an interesting cityscape.
  • Windows: At least two of your buildings should feature windows. Think about what shape these windows might be and how they will be positioned on the buildings.
  • Tree: Include at least one tree in your skyline. The trunk of the tree will be a rectangle. For the tree's foliage, you are challenged to use an oval shape. Think about how you can achieve this with the ellipse command.
  • Provide a brief explanation of how you represented the geometric shapes and any considerations you made while designing your skyline. Turn this in on a separate piece of paper

16

17 of 66

Geometry Lessons & Math Standards

LESSON: 0-4 Algebraic Expressions�PG #: P10�CCSS: 6.EE.A.2, 6.EE.A.2a, 6.EE.A.2b

LESSON: 0-5 Linear Equations�PG #: P11�CCSS: 8.EE.C.7, 8.EE.C.7a, 8.EE.C.7b

Code.org Lesson 5: Variables

Overview�Question of the Day: How can we use variables to store information in our programs? In this lesson, you will be introduced to variables - an important concept in programming used to store values for your programs!

Vocabulary�Variable - A label for a piece of information used in a program.�

Introduced Code�var x = ___;var x;

Resources�Introduction to Variables - VideoVariables - ResourceVariables - Video

Levels: 1 Prediction, 2 Predict, 3-5 Skill Building, 6 Practice, 7 Assessment, 8 Challenges

17

Assessment(s): Assessment Level, Activity 13: Using Variables to Create Your Own Artwork on the next slide

Suggested Pacing:

4

18 of 66

Activity 13: Using Variables to Create Your Own Artwork

Objective: The goal of this lesson is to understand how variables can be used to define different aspects of a shape or object in your code. By the end of this assignment, you will be able to create a complex scene in which every element is defined by a variable.

Assignment Details:

  • Sketch or write down a plan for a scene. This scene should include a sky, ground, and at least two different types of objects. You can choose what these objects are, but they should be different from each other in some way. For example, you might choose to draw trees and houses.
  • You'll need to create a variable for each aspect. For example, you might create variables for the sky color, ground color, tree color, tree position, tree size, house color, house position, and house size. You will need to choose appropriate variable names that accurately describe what they represent.
  • Now it's time to start coding! Use Level 7 drawing commands to create your scene, making sure to use your variables where appropriate. Test your code frequently to make sure everything is working as expected.
  • On a piece of paper, reflect on what you've learned. How did using variables make your code easier to write and understand? How could you use variables in the future to make your code more flexible?

Remember to keep your code organized and easy to read. Good luck, and have fun creating your scene!

18

19 of 66

Activity 14: Random Art Generator

Objective:�The objective of this assignment is to apply your knowledge of random numbers and geometry to create a unique and interactive piece of art. You'll be using randomness to generate unexpected color schemes and shapes that change each time your program runs. This task will reinforce your understanding of randomness in programming and how it can make programs more dynamic and engaging.

Assignment Details:

  • Randomize the background color: Each time the program runs, the background color should be randomized. Use the randomNumber() function to generate random values for red, green, and blue color components.
  • Randomize shapes: In your program, you should include at least one rectangle (using the rect function) and one ellipse (using the ellipse function). For each shape, randomize its location, size, and color.
  • Adjust parameters: Ensure the sizes of your shapes are within a reasonable range, and that they're always drawn within the canvas. You might need to put some constraints on the random numbers you generate for this purpose.
  • Code comments: Make sure to include comments in your code to explain what each part of your program does.
  • Reflection: Write a brief paragraph explaining your thought process when designing the program, the challenges you faced and how you overcame them. Describe how randomness contributed to your art generator and how it could be used to add unpredictability and engagement in game development.

Remember, the goal is not just to complete the task but also to explore the possibilities of randomness in programming. Be creative, and have fun with your design!

19

20 of 66

Geometry Lessons & Math Standards

Continuing,�LESSON: 1-6 Two-Dimensional Figures�PG #: 56�CCSS: G.GPE.7

20

Assessment(s): Activity Guide, Activity 15: Polygon Gallery on the next slide

Suggested Pacing:

3

21 of 66

Activity 15: Polygon Gallery

Objective: �To apply your knowledge of regular and irregular polygons, creating a gallery of polygons using code, and identifying the properties of each polygon using comments.

Assignment Details:

  • Regular Polygons: Using the regularPolygon function, create at least five regular polygons with different numbers of sides. Experiment with different sizes and colors.
  • Make sure to comment what each line is creating (e.g., // This is a regular pentagon).
  • Irregular Polygons: Next, use the shape function to create at least five irregular polygons. You'll have to define the vertices for each of these polygons, making them irregular.
  • Remember to comment what each line is creating (e.g., // This is an irregular hexagon).
  • Positioning: Arrange your polygons on the canvas in a visually pleasing manner. You can use your knowledge of x and y coordinates for this.
  • Comments: Add additional comments to explain the characteristics of each polygon (e.g., number of sides, lengths of sides if irregular, angles, etc.).
  • Variety: Try to include a variety of polygons - not just triangles and quadrilaterals, but also pentagons, hexagons, and so on. For the irregular polygons, ensure that they're not all similar to each other.
  • Reflection: Reflect on the process of coding each polygon. What did you find challenging, and how did you overcome these challenges? Consider how understanding these properties of polygons could be useful in more complex coding projects or in understanding real-world objects and spaces.

Download any sprites you created that I feel are high quality and that you may use in other apps, games, or cards.

21

22 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.�2-AP-13 - Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.�2-AP-16 - Incorporate existing code, media, and libraries into original programs, and give attribution.�2-AP-17 - Systematically test and refine programs using a range of test cases.�2-AP-19 - Document programs in order to make them easier to follow, test, and debug.

Code.org Lesson 8: Sprites

Overview�Question of the Day: How can we use sprites to help us keep track of lots of information in our programs? Today you will learn about sprites which will not only give you a way to keep track of various pieces of information in your programs but will also allow you to create more interesting and fun images!

Vocabulary�Sprite - A character on the screen with properties that describe its location, movement, and look.�

Introduced Code�drawSprites()sprite.setAnimation(label)var sprite = createSprite(x, y)

Resources�Introduction to Sprites - VideoThe Animation Tab - Video

Levels: 1 Predict, 2-7 Skill Building, 8 Check for Understanding, 9 Practice, 10 Assessment, 11 Challenges

22

Assessment(s): Level 10 Assessment, Activity 16:Spriteland Adventure

Suggested Pacing:

3

23 of 66

Activity 16:Spriteland Adventure

Objective:�The objective of this challenge is to explore the world of sprites and unleash your creativity by creating custom sprites using various tools. You will also have the opportunity to download sprites to your Chromebook for future use. By the end of this challenge, you will have gained experience in using built-in sprites, creating your own sprites, and incorporating them into a scene.

Assignment Details:

  • Create a scene in Level 10.
  • Add a suitable background to your scene that enhances the overall theme.
  • Create at least two custom sprites using the drawing tools provided in Code.org.
  • Incorporate your custom sprites into the scene alongside at least two built-in sprites.
  • Make your scene visually appealing.
  • Reflect on your experience in this challenge and consider how it has enhanced your understanding of sprites and scene creation. Think about the choices you made in selecting and creating sprites, as well as the overall composition of your scene. Consider the impact of the background and props on the theme and visual appeal. Finally, think about how you can apply the knowledge and skills gained from this challenge to future projects, and the importance of creativity and experimentation in sprite-based animations.

23

24 of 66

Geometry Lessons & Math Standards

LESSON: 3-3 Rotations�PG#: 240�CCSS: G.CO.2, G.CO.4, G.CO.5, G.CO.6�

LESSON: 7-1 Dilations�PG#: 492�CCSS: G.CO.2, G.SRT.1

Code.org Lesson 9: Sprite Properties

Overview�Question of the Day: How can we use sprite properties to change their appearance on the screen?�In this lesson, you will continue working with sprites, using their properties to change their appearance.

Vocabulary�Dot notation - the way that sprites' properties are used in Game Lab, by connecting the sprite and property with a dot.�Property - A label for a characteristic of a sprite, such as its location and appearance

Introduced Code�sprite.rotationsprite.scalesprite.xsprite.y

Resources�Sprite Properties - Video

Levels: 1 Prediction, 2-3 Skill Building, 4 Practice, 5 Assessment, 6 Challenges

24

Assessment(s): Level 5 Assessment

Suggested Pacing:

3

25 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-12 - Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.�2-AP-13 - Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.�2-AP-17 - Systematically test and refine programs using a range of test cases.�2-AP-19 - Document programs in order to make them easier to follow, test, and debug.

Code.org Lesson 10: Text

Overview�Question of the Day: How can we use text to improve our scenes and animations?�In this lesson, you will learn how to use Game Lab's text commands to add captions to your scenes.

Levels: 1 Prediction, 2-3 Skill Building, 4 Practice, 5 Assessment, 6 Challenges

25

Assessment(s): Level 5 Assessment

Suggested Pacing:

2

26 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.�2-AP-13 - Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.�2-AP-17 - Systematically test and refine programs using a range of test cases.�2-AP-19 - Document programs in order to make them easier to follow, test, and debug.

Code.org Lesson 11: Mini-Project - Captioned Scenes

Overview�Question of the Day: How can we use Game Lab to express our creativity?�In this lesson, you will get the opportunity to be creative by using the problem-solving process to design and program a scene of your choice.

Resources�Captioned Scenes - RubricProblem Solving with Programming - ResourceSprite Scene Planning - Activity Guide

Levels: 1 Captioned Scene Example, 2 Create a Background, 3 Add Sprites, 4 Add Text, 5 Review Your Scene

26

Assessment(s): Level 5 Review Your Scene, Activity 19: Transformative Scenes on the next slide

Suggested Pacing:

3

27 of 66

Activity 19: Transformative Scenes

Objective: �Apply concepts of sprite creation, rotation, scaling, and shape manipulation to create captivating and visually dynamic scenes using code.

Assignment details:

  • In this challenge, you will be creating a captivating scene using the concepts and functions you have learned so far.
  • Use the createSprite() function to create at least three distinct sprites on the canvas.
  • Apply rotation to one or more sprites using the rotation property.
  • Utilize scaling on at least one sprite by modifying its scale property.
  • Experiment with different shapes by using the ellipse(), rect(), regularPolygon(), or shape() functions to create unique visual elements.
  • Implement the fill() function to assign colors to your shapes or sprites.
  • Utilize the randomNumber() function to add an element of randomness to the positioning or attributes of your sprites or shapes.
  • Reflect on the process of creating your transformative scene. How did incorporating rotation, scaling, and various shape functions enhance the visual impact of your scene? In what ways did you utilize the randomNumber() function to add dynamism and unpredictability?

Remember to test and refine your scene as you go, ensuring that each element is visually appealing and aligned with your creative vision. Consider the composition, color palette, and overall aesthetic appeal of your scene.

27

28 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.�2-AP-12 - Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.�2-AP-13 - Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.�2-AP-16 - Incorporate existing code, media, and libraries into original programs, and give attribution.�2-AP-17 - Systematically test and refine programs using a range of test cases.�2-AP-19 - Document programs in order to make them easier to follow, test, and debug.

Code.org Lesson 12: The Draw Loop

Overview�Question of the Day: How can we animate our images in Game Lab?�In this lesson, you will learn how to use the draw loop with random numbers to create your first simple animations.

Introduced Code�World.frameRatefunction draw() {}

Resources�Introduction to the Draw Loop - Video

Levels: 1 Predict, 2 Skill Building, 3 Predict, 4-5 Skill Building, 6 Practice, 7 Assessment, 8 Challenges

28

Assessment(s): Level 7 Assessment

Suggested Pacing:

2

29 of 66

Geometry Lessons & Math Standards

Lesson: 3-2 Translations�PG#: 232�CCSS: G.CO.2, G.CO.4, G.CO.5, G.CO.6

Lesson: 3-4 Compositions of Transformations�PG#: 249�CCSS: G.CO.2, G.CO.5

Code.org Lesson 13: Sprite Movement

Overview�Question of the Day: How can we control sprite movement in Game Lab?�In this lesson, you will learn how to control sprite movement using the counter pattern.

Resources�Sprite Movement - VideoThe Counter Pattern - Video

Levels: 1 Prediction, 2-5 Skill Building, 6 Practice, 7 Assessment, 8 Challenges

29

Assessment(s): Level 7 Assessment, Activity 21: Moving Scene on the following slide

Suggested Pacing:

5

30 of 66

Activity 21: Moving Scene

Objective: �Create an engaging scene using sprite animations, compositions of transformations, and randomization to add unique elements to your program.

Assignment Details:

  • Choose a theme or concept for your scene (e.g., underwater world, enchanted forest, futuristic city).
  • Design and set a suitable background for your scene. Consider using different backgrounds to add variety.
  • Place multiple objects in the scene, including both static and animated sprites. Use the built-in sprites provided in Game Lab or create your own custom sprites.
  • Incorporate compositions of transformations by applying multiple transformations (such as motion, rotation, and scale) to at least one object in your scene. Experiment with different combinations to create interesting effects.
  • Utilize randomization to add unpredictability or variability to your scene. For example, you can randomly change the position, size, or appearance of certain objects or introduce random animations or movements.
  • Pay attention to aesthetics and visual appeal. Consider color schemes, visual composition, and the overall feel of your scene.
  • Reflect on how you used compositions of transformations, randomization, and creative design choices to enhance your scene. Consider the impact of these elements on the overall aesthetics and engagement of your program. Share any challenges you encountered and how you overcame them, as well as your overall satisfaction with the final outcome of your scene.

30

31 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.�2-AP-13 - Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.�2-AP-17 - Systematically test and refine programs using a range of test cases.�2-AP-19 - Document programs in order to make them easier to follow, test, and debug.

Code.org Lesson 14: Mini-Project - Animation

Overview�Question of the Day: How can we combine different programming patterns to make a complete animation?�In this lesson, you will combine all the concepts you have learned in the previous lessons to create your first animated scene of your own design!

Resources�Animated Scene - RubricAnimated Scene - Activity GuideProblem Solving with Programming - Resource

Levels: 1 Example Animated Scene, 2 Draw a Background, 3 Add Sprites, 4 Add Text, 5 Add Movement, 6 Review Your Animated Scene

31

Assessment(s): Level 6 Review Your Animated Scene, Activity Guide, Rubric

Suggested Pacing:

3

32 of 66

Geometry Lessons & Math Standards

LESSON: 0-6 Linear Inequalities�PG#: P13�CCSS: G.GPE.5

LESSON: 2-2 Statements, Conditionals, and Biconditionals�PG#: 119�CCSS:G-CO.9

LESSON: 2-3 Deductive Reasoning�PG#: 131�CCSS: G-GPE.4

Code.org Lesson 15: Conditionals

Overview�Question of the Day: How can programs react to changes as they are running?�In this lesson, you will learn about booleans and conditionals, which will allow you to create programs that run differently depending on whether a condition is true.

Vocabulary�Boolean Expression - in programming, an expression that evaluates to True or False.�Condition - Something a program checks to see whether it is true before deciding to take an action.�Conditionals - Statements that only run when certain conditions are true.

Introduced Code�___ != ______ < ______ <= ______ == ______ > ______ >= ___if (condition) { statement }

Resources�Boolean Expressions - VideoConditional Statements - Video�If Statements - Resource

Levels: 1 Prediction, 2 Quick Check, 3-5 Skill Building, 6 Practice, 7 Assessment, 8 Challenges

32

Assessment(s): Level 7 Assessment, Activity 23: Conditional Movement on the next slide

Suggested Pacing:

5 (2 days for math lessons, 1 for CSD, 2 for challenge)

33 of 66

Activity 23: Conditional Movement

Objective: �Create an interactive scene using sprites and conditional statements to control movement and ensure objects stay within the screen boundaries.

Assignment Details:

  • Design a visually appealing scene with a background and multiple objects.
  • Include at least one animated object and one object that combines transformations.
  • Use conditional statements to control the movement of objects and ensure they stay within the screen boundaries.
  • Implement bouncing behavior for objects that collide with the screen edges or wrap-around behavior where objects reappear on the opposite side when they leave the screen.
  • Experiment with unique ways of incorporating randomization to add variability to object movement or appearance.
  • Reflection: describe the process of creating your interactive scene. Explain how you used conditional statements to control object movement and prevent them from going off the screen. Discuss any challenges you encountered and how you overcame them. Consider the effectiveness of using conditional statements to create bouncing or wrap-around behavior and the overall success of your interactive scene.

33

34 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.�2-AP-12 - Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.�2-AP-16 - Incorporate existing code, media, and libraries into original programs, and give attribution.�2-AP-17 - Systematically test and refine programs using a range of test cases.�2-AP-19 - Document programs in order to make them easier to follow, test, and debug.

Code.org Lesson 16: Keyboard Input

Overview�Question of the Day: How can our programs react to user input?�In this lesson, you will learn how to use the keyDown() block which will let your programs respond to user input.

Introduced Code�keyDown(code)

Levels: 1 Prediction, 2-4 Skill Building, 5 Practice, 6 Assessment, 7 Challenges

34

Assessment(s): Level 6 Assessment, Activity 24: Full-Screen Movement Challenge on the next slide

Suggested Pacing:

3

35 of 66

Activity 24: Full-Screen Movement Challenge

Objective: �Enhance the sprite movement in the game by incorporating screen boundaries to prevent the sprite from going off the screen or implementing wrap-around behavior.

Assignment Details:

  • Use the provided code as a starting point and add enhancements to the sprite movement.
  • Implement if () statements to move the sprite in each direction (left, right, up, and down) based on arrow key presses.
  • Modify the code to prevent the sprite from going off the screen entirely or wrap around to the opposite side when it reaches the screen edges.
  • Test your game thoroughly to ensure smooth movement and accurate boundary handling.
  • Consider adding visual cues or effects to indicate the boundary behavior (e.g., changing colors, sound effects, animation).
  • In your reflection, discuss your approach to implementing the screen boundary behavior in your game. Describe how you used if () statements to control the sprite's movement and ensure it stays within the screen. Explain the challenges you encountered and the strategies you employed to overcome them. Reflect on the effectiveness of your chosen boundary behavior (not going off the screen or wrap-around) and its impact on the overall gameplay experience. Consider any improvements or additional features you could add to enhance the game further.

35

36 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.�2-AP-12 - Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.�2-AP-13 - Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.�2-AP-16 - Incorporate existing code, media, and libraries into original programs, and give attribution.�2-AP-17 - Systematically test and refine programs using a range of test cases.�2-AP-19 - Document programs in order to make them easier to follow, test, and debug.

Code.org Lesson 17: Mouse Input

Overview�Question of the Day: What are more ways that the computer can react to user input?�In this lesson, you will expand on what you have learned about if statements and explore if-else statements as well as learn about how to use the mouse to get input from your user that you can use in your conditional statements.

Vocabulary�Conditionals - Statements that only run when certain conditions are true.

Introduced Code�if (condition) { statement1 } else { statement2 }�keyWentDown(code)keyWentUp(code)mouseDidMove()mouseDown(button)mouseWentDown(button)mouseWentUp(button)sprite.visible

Resources�If/Else Statements - Video

Levels: 1 Prediction, 2-5 Skill Building, 6 Practice, 7 Assessment, 8 Challenges

36

Assessment(s): Level 7 Assessment

Suggested Pacing:

2

37 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.�2-AP-12 - Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.�2-AP-13 - Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.�2-AP-15 - Seek and incorporate feedback from team members and users to refine a solution that meets user needs.�2-AP-16 - Incorporate existing code, media, and libraries into original programs, and give attribution.�2-AP-17 - Systematically test and refine programs using a range of test cases.�2-AP-18 - Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts.�2-AP-19 - Document programs in order to make them easier to follow, test, and debug.

Code.org Lesson 18: Project - Interactive Card

Overview�Question of the Day: What skills and practices are important when creating an interactive program?�In this lesson, you will plan and develop an interactive greeting card using all the programming concepts and techniques you have learned so far!

Resources�Computer Science Practices - ReflectionInteractive Card - RubricInteractive Card - Activity Guide - Activity GuideInteractive Card - Peer Review - Activity GuideInteractive Card - Student Checklist - Resource Problem Solving with Programming - Resource

Levels: 1 Demo App: Interactive Card, 2 Interactive Card Examples, 3-7 Project Work, 8 Reflection

37

Assessment(s): Activity Guide, Peer Review, Interactive Card in Level 7

Suggested Pacing:

4

38 of 66

Geometry Lessons & Math Standards

LESSON: Chapter 2-8: Slope and Equations of Lines�PG#: Page 178�CCSS: G.GPE.5

LESSON: Chapter 3-3: Rotations�PG#: Page 240�CCSS: G.CO.2, G.CO.4, G.CO.5, G.CO.6

Code.org Lesson 19: Velocity

Overview�Question of the Day: How can programming languages hide complicated patterns so that it is easier to program?�In this lesson, you will learn how to set a sprite's velocity which uses the counter pattern to move your sprites.

Introduced Code�sprite.rotationSpeedsprite.velocityXsprite.velocityY

Resources�Velocity - Video

Levels: 1 Predict, 2-7 Skill Building, 8 Practice, 9 Assessment, 10 Challenges

38

Assessment(s): Level 9 Assessment, Activity 27: Dynamic Motion Scene on the next slide

Suggested Pacing:

4

39 of 66

Activity 27: Dynamic Motion Scene

Objective: �Create an engaging scene with interactive elements that incorporate motion, including objects with various speeds and meaningful rotations. Understand and describe the significance of slope in relation to the movement of objects in the scene.

Assignment Details:

  • Choose a theme: Select a scene theme that you find interesting, such as boats, snow machines, animals, or any other creative idea.
  • Background creation: Use drawing tools or animation tools to design a visually appealing background that complements your chosen theme. Pay attention to details and colors that enhance the overall scene.
  • Select at least one object in the scene that can move in different directions (up, down, left, right) at various speeds. Use the concepts from Lesson 2-8 (Slope and Equations of Lines) to determine and incorporate appropriate slopes for the object's motion.
  • Add meaningful rotation to an object in the scene. Consider how rotation can enhance the visual appeal or functionality of the object.
  • Test and refine: Test your scene and ensure that all motions and rotations are working as intended. Make any necessary adjustments or refinements to achieve the desired effect.
  • Reflection: Write a short paragraph reflecting on the significance of slope in relation to the movement of objects in your scene. Describe how the slope of the moving object(s) contributes to the overall dynamics and storytelling of the scene. Consider the speed and direction of the object(s) and how it affects their visual representation and interaction within the scene.

39

40 of 66

Geometry Lessons & Math Standards

LESSON: 0-9 Square Roots and Simplifying Radicals�PG#: P19�CCSS: G.GPE.7

LESSON: 1-2 Line Segments and Distance�PG#: 14�CCSS: G.CO.1, G.CO.12

LESSON: 1-3 Locating Points and Midpoints�PG#: 26�CCSS: G.CO.1, G.CO.12, G.GPE.6

LESSON: 8-2 The Pythagorean Theorem and Its Converse�PG#: 575�CCSS: G.SRT.8, G.MG.3

Code.org Lesson 20: Collision Detection

Overview�Question of the Day: How can programming help make complicated problems more simple?�In this lesson, you will learn about collision detection by exploring how a computer could use math, the sprite location, and size to detect whether sprites are touching.

Vocabulary�Abstraction - a simplified representation of something more complex. Abstractions allow you to hide details to help you manage complexity, focus on relevant concepts, and reason about problems at a higher level.�

Introduced Code�Sprite.debugsprite.isTouching(target)

Resources�Collision Detection (Version A) - Activity Guide Collision Detection (Version B) - Activity Guide

Levels: 1 Sample Game, 2-5 Skill Building, 6 Practice, 7 Assessment, 8 Challenges

40

Assessment(s): Level 7 Assessment

Suggested Pacing:

8

41 of 66

Activity 28: Collision Alert

Objective: �Check for collisions between a user-controlled object and another object on the screen. Display a warning message when the user-controlled object is within a certain range of the other object, but not yet touching. Additionally, calculate the distance between the user-controlled object and a flat surface using the drawing tools.

Assignment Details:

  • Create a scene with a background using the drawing tools or Animation tab. Include objects and a user-controlled object that can move within the scene.
  • Calculate the distance between the user-controlled object and another object(s) in the scene. If the distance is within a specified range (e.g., 50 pixels), display a warning message on the screen, alerting the user to an impending collision.
  • Implement collision detection to prevent the user-controlled object from passing through or overlapping with the other object(s).
  • Calculate the distance between the user-controlled object and a flat surface (e.g., a wall or ground) in the scene.(you may need to use the drawing tools to draw those flat surfaces so you know where the edge line is located)
  • Display the calculated distance between the user-controlled object and the flat surface on the screen.
  • Experiment with different scenarios and object placements to test the accuracy and effectiveness of the collision detection and distance calculations.
  • Reflection: Write a short paragraph reflecting on the challenge, focusing on the application of the distance formula in detecting collisions and calculating distances in the scene. Consider any challenges faced, insights gained, and potential improvements for future projects involving collision detection and distance calculations.

41

42 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.�2-AP-12 - Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.�2-AP-13 - Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.�2-AP-17 - Systematically test and refine programs using a range of test cases.

Code.org Lesson 21: Mini-Project - Side Scroller

Overview�Question of the Day: How can the new types of sprite movement and collision detection be used to create a game?�In this lesson, you will use what you have learned about collision detection and velocity to create a simple side-scroller game!

Resources�Problem Solving with Programming - Resource Side Scroller - RubricSide Scroller - Activity Guide

Levels: 1 Side Scroller Example, 2 Draw Your Background, 3 Create Your Sprites, 4 Player Controls, 5 Looping, 6 Sprite Interactions, 7 Scoring & Scoreboard, 8 Review Your Game

42

Assessment(s): Level 8 Review your Game, Activity guide

Suggested Pacing:

6(3 to work through levels, 2 to hone their game and debug, 1 to share)

43 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.�2-AP-12 - Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.�2-AP-13 - Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.�2-AP-16 - Incorporate existing code, media, and libraries into original programs, and give attribution.�2-AP-17 - Systematically test and refine programs using a range of test cases.�2-AP-19 - Document programs in order to make them easier to follow, test, and debug.

Code.org Lesson 22: Complex Sprite Movement

Overview�Question of the Day: How can previous blocks be combined in new patterns to make interesting movements?�In this lesson, you will learn to combine the velocity properties of sprites with the counter pattern to create more complex sprite movements.

Levels: 1 Prediction, 2-4 Skill Building, 5 Practice, 6 Assessment, 7 Challenges

43

Assessment(s): Level 6 Assessment

Suggested Pacing:

2

44 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.�2-AP-12 - Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.�2-AP-13 - Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.�2-AP-16 - Incorporate existing code, media, and libraries into original programs, and give attribution.�2-AP-17 - Systematically test and refine programs using a range of test cases.�2-AP-19 - Document programs in order to make them easier to follow, test, and debug.

Code.org Lesson 23: Collisions

Overview�Question of the Day: How can programmers build on abstractions to create further abstractions?�In this lesson, you will learn how to use the new collision blocks (collide, displace, bounce, and bounceOff) to make your sprite interact in new ways.

Vocabulary�Abstraction - a simplified representation of something more complex. Abstractions allow you to hide details to help you manage complexity, focus on relevant concepts, and reason about problems at a higher level.

Introduced Code�setCollider(type, xOffset, yOffset, width/radius, height, rotationOffset)sprite.bounce(target)sprite.bounceOff(target)Sprite.bouncinesssprite.collide(target)sprite.displace(target)

Levels: 1 Code Prediction, 2-5 Skill Building, 6 Practice, 7 Assessment, 8 Challenges

44

Assessment(s):

Suggested Pacing:

2

45 of 66

Objective:

Create an animated scene with a sprite "collecting" other sprites. Exercise creativity by designing a scenario where the main character interacts with and collects other sprites, applying collision and direction principles learned in the lesson.

Assignment Details:

  • Choose a Theme: Select a theme for your animated scene, such as cleaning up trash, herding animals, or exploring space. Let your imagination run wild!
  • Character Movement: Implement a main character sprite that can move in different directions using arrow keys or any input method of your choice. Apply the concepts of speed and direction to make the character navigate smoothly across the screen.
  • Collectible Sprites: Introduce collectible sprites that the main character will "collect." These could be trash items, animals, stars, or any other theme-related objects.
  • Collision Detection: Implement collision detection between the main character and the collectible sprites. Ensure that when the character comes into contact with a collectible sprite, it triggers an action.
  • Score: See if you can implement some sort of scoring system.

45

46 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.�2-AP-12 - Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.�2-AP-13 - Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.�2-AP-17 - Systematically test and refine programs using a range of test cases.�2-AP-19 - Document programs in order to make them easier to follow, test, and debug.

Code.org Lesson 24: Mini-Project - Flyer Game

Overview�Question of the Day: How can the new types of collisions and modeling movement be used to create a game?�In this lesson, you will use what you have learned about simulating gravity and the different types of collisions to create a simple flyer game!

Resources�Flyer Game - RubricFlyer Game - Activity GuideProblem Solving with Programming - Resource

Levels: 1 Flyer Game Example, 2 Make Your Sprites, 3-5 Player Controls, 6 Sprite Movement, 7 Sprite Interactions, 8 Review Your Game

46

Assessment(s): Level 8 Review Your Game, Activity Guide

Suggested Pacing:

5(3 to work through bubbles, 1 to review and debug, 1 to share)

47 of 66

Geometry Lessons & Math Standards

LESSON: 0-4 Algebraic Expressions

PG#: P10

CCSS: 6.EE.3, 6.EE.6, 7.EE.1

LESSON: 0-5 Linear Equations

PG#: P11

CCSS: 8.EE.5, 8.EE.6, 8.EE.7a

Code.org Lesson 25: Functions

Overview�Question of the Day: How can programmers use functions to create their own abstractions?�In this lesson, you will learn how to better organize your code using functions to make your program code more readable and remove repeated blocks of code.

Vocabulary�Function - A named bit of programming instructions.�

Introduced Code�function myFunction() { // function body, including optional "return" command. }myFunction();

Resources�Functions - VideoFunctions - Resource

Levels: 1 Predict, 2-3 Skill Building, 4 Predict, 5 Practice, 6 Quick Check, 7-9 Collector Game, 10 Challenges

47

Assessment(s): Level 9 Assessment

Suggested Pacing:

4

48 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.�2-AP-12 - Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.�2-AP-13 - Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.�2-AP-16 - Incorporate existing code, media, and libraries into original programs, and give attribution.�2-AP-17 - Systematically test and refine programs using a range of test cases.�2-AP-19 - Document programs in order to make them easier to follow, test, and debug.

Code.org Lesson 26: The Game Design Process

Overview�Question of the Day: How does having a plan help to make a large project easier?�In this lesson, you will explore the process you will use for the remainder of the unit when designing games.

Resources�Defender Game

Levels: 1 Same Game, 2 Plan Your Project, 3-4 Set Up Sprites, 5-7 Control Your Player, 8-12 Sprite Interactions, 13 Challenges

48

Assessment(s): Level 12, Defender Game

Suggested Pacing:

5

49 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.�2-AP-12 - Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.�2-AP-13 - Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.�2-AP-16 - Incorporate existing code, media, and libraries into original programs, and give attribution.�2-AP-17 - Systematically test and refine programs using a range of test cases.�2-AP-19 - Document programs in order to make them easier to follow, test, and debug.

Code.org Lesson 27: Using the Game Design Process

Overview�Question of the Day: How can the problem-solving process help programmers to manage large projects?�In this multi-day lesson, you will use the problem-solving process to create a platform jumper game!

Resources�Planning Your Platform Game - Activity Guide

Levels: 1 Sample Platform Jumper Game, 2 Build a Platform Jumper, 3-6 Platform Jumper - Background and Variables, 7-9 Platform Jumper - Platforms, 10-12 Platform Jumper - Items, 13-16 Platform Jumper - Player, 17 Platform Jumper Review, 18 Challenges

49

Assessment(s): Activity Guide, Level 17 Platform Jumper Review

Suggested Pacing:

5

50 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-10 - Use flowcharts and/or pseudocode to address complex problems as algorithms.�2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.�2-AP-12 - Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.�2-AP-13 - Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.�2-AP-15 - Seek and incorporate feedback from team members and users to refine a solution that meets user needs.�2-AP-16 - Incorporate existing code, media, and libraries into original programs, and give attribution.�2-AP-17 - Systematically test and refine programs using a range of test cases.�2-AP-18 - Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts.�2-AP-19 - Document programs in order to make them easier to follow, test, and debug.

Code.org Lesson 28: Project - Design a Game

Overview�Question of the Day: How can the five CS practices (problem-solving, persistence, communication, collaboration, and creativity) help programmers to complete large projects?�In this lesson, you will use the problem-solving process to plan and build an original game!

Resources�Computer Science Practices - ReflectionMake Your Own Game - Activity GuideMake Your Own Game - Rubric Make Your Own Game - Peer Review - Activity GuideMake Your Own Game - Student Checklist - Resource Problem Solving with Programming - Resource

Levels: 1 Sample Games, 2-5 Project - Background and Variables, 6-10 Project - Sprites and Interactions, 11 Review Your Game, 12 End-Of-Unit Survey

50

Assessment(s):

Suggested Pacing:

8 (design, code, share, reflect)

51 of 66

Geometry Lessons & Math Standards

LESSON: 0-1 Changing Units of Measure Within Systems�PG#: P4�CCSS: 5.MD.1, 5.MD.2

LESSON: 0-2 Changing Units of Measure Between Systems�PG#: P6�CCSS: 6.RP.3, 6.RP.3d

Code.org Lesson 1: Representation Matters

Overview�Question of the Day: How does data affect decisions we make every day?�In this lesson, you will explore what data is and how it is used to solve problems.

Resources�Representation Matters - Activity Guide

Levels: 1 Check-In Survey

51

Assessment(s): Activity Guide

Suggested Pacing:

2

52 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�DA - Data & Analysis�2-DA-07 - Represent data using multiple encoding schemes.

Code.org Lesson 2: Patterns and Representation

Overview�Question of the Day: How can we create a system for representing information?�In this lesson, you will create a system to represent information by working with a group to create a system that can represent any letter in the alphabet using only a single stack of cards.

Vocabulary�Decode - to change how information is represented so that it can be read by a person�Encode - to change how information is represented so that it can be read by a computer

Resources�Animal Shapes Representing Information - Activity Guide

Levels: This lesson contains no levels.

52

Assessment(s): Activity Guide

Suggested Pacing:

1

53 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017) DA - Data & Analysis�2-DA-07 - Represent data using multiple encoding schemes.

Code.org Lesson 3: ASCII and Binary Representation

Overview�Question of the Day: What system do computers use to represent letters and words?�In this lesson, you will be learning about binary and the ASCII system used for representing text.

Vocabulary�ASCII - a popular system for representing text in binary�Binary System - a way of representing information using only two options�Bit - a single piece of binary information

Resources�ASCII Challenges - Activity GuideASCII Text - Resource

Levels: This lesson contains no levels.

53

Assessment(s): Activity Guide

Suggested Pacing:

1

54 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�DA - Data & Analysis�2-DA-07 - Represent data using multiple encoding schemes.

Code.org Lesson 4: Representing Images

Overview�Question of the Day: What system do computers use to represent images?�In this lesson, you will continue exploring how you can create systems to represent information using binary, this time images!

Vocabulary�Pixel - a tiny square or dot which contains a single point of color of a larger image.

Levels: 1-5 Representing Images

54

Assessment(s): Level 5(students draw their own image)

Suggested Pacing:

1

55 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)|�DA - Data & Analysis�2-DA-07 - Represent data using multiple encoding schemes.

Code.org Lesson 5: Representing Numbers

Overview�Question of the Day: What system do computers use to represent numbers?�In this lesson, you will learn about the actual binary number system!

Resources�Binary and Data - VideoNumber Cards - ManipulativeRepresenting Numbers 2021 - Activity Guide

Levels: 1 Binary Number Widget

55

Assessment(s): Activity Guide

Suggested Pacing:

1

56 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�DA - Data & Analysis�2-DA-07 - Represent data using multiple encoding schemes.

Code.org Lesson 6: Combining Representations

Overview�Question of the Day: How do computers tell the difference between binary codes for letters, numbers, or images?�In this lesson, you'll combine ASCII, binary, and images to explore ways to encode more complex types of information.

Resources�Activity Guide - Pet Records - Activity Guide ASCII to Binary Table - Reference

Levels: 1 8-Bit Binary Number Widget

56

Assessment(s): Activity Guide

Suggested Pacing:

1

57 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�NI - Networks & the Internet�2-NI-05 - Explain how physical and digital security measures protect electronic information.�2-NI-06 - Apply multiple methods of encryption to model the secure transmission of information.

Code.org Lesson 7: Keeping Data Secret

Overview�Question of the Day: How can we keep data secret and protect it from misuse?�In this lesson, you will explore different levels of security, look at the importance of privacy, and learn how to encrypt information!

Vocabulary�Decrypt - to change information so that its hidden meaning is shown�Encrypt - to change information so that its meaning is hidden

Resources�Medical Records - Activity Guide Secret Messages 2021 - Activity Guide

Levels

This lesson contains no levels.

57

Assessment(s): Medical Records Activity Guide, possibly Secret Messages as well.

Suggested Pacing:

1

58 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�DA - Data & Analysis

Code.org Lesson 8: Project - Create a Representation

Overview�Question of the Day: How can I represent complex information using binary systems?�In this lesson, you will explore how to use ASCII, binary, and image formats to represent your perfect day!

Resources�Computer Science Practices - ReflectionCreate a Representation Create a Representation - Rubric Create a Representation - Student Checklist

Levels: 1 Reflection

58

Assessment(s): Create a Representation Project Guide

Suggested Pacing:

2

59 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�DA - Data & Analysis�2-DA-08 - Collect data using computational tools and transform the data to make it more useful and reliable.

Code.org Lesson 9: Problem Solving With Data

Overview�Question of the Day: How can we use data to solve problems in our community?�In this lesson, you will decide what a city most needs to spend resources on as a way to see how to use data to solve problems.

Resources�Problem Solving with Data - Activity Guide

Levels

This lesson contains no levels.

59

Assessment(s): Activity Guide

Suggested Pacing:

1

60 of 66

Geometry Lessons & Math Standards

LESSON: 12-1 Representing Sample Spaces�PG#: 859�CCSS: S.CP.1

Code.org Lesson 10: Structuring Data

Overview�Question of the Day: how can we make it easier for computers to process data?�In this lesson, you will learn how to present data in different ways that can help people understand the data better as well as which parts of the process can be done by a computer and which parts need a human.

Resources�Structuring Data 2021 - Activity Guide

Levels: 1 Pizza Party Data

60

Assessment(s): Activity Guide

Suggested Pacing:

3

61 of 66

Geometry Lessons & Math Standards

LESSON: 12-2 Probability and Counting�PG#: 866�CCSS: S.CP.1

LESSON: 12-3 Probability with Permutations and Combinations�PG#: 872�CCSS: S.CP.9

Code.org Lesson 11: Interpreting Data

Overview�Question of the Day: How can patterns in data help us make decisions?�In this lesson, you will learn about cross-tabulation which will allow you to graph relationships between various pieces of data.

Resources�Interpreting Data - Activity GuideInterpreting Data - Resource

Levels: This lesson contains no levels.

61

Assessment(s): Activity Guide

Suggested Pacing:

1

62 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�DA - Data & Analysis�2-DA-08 - Collect data using computational tools and transform the data to make it more useful and reliable.

Code.org Lesson 12: Making Decisions with Data

Overview�Question of the Day: how can patterns in data help make a decision?�In this lesson, you will get a chance to practice the data problem-solving process you learned about in the previous lesson.

Resources�Making Decisions with Data - Activity GuideProblem Solving Process with Data - Resource

Levels: This lesson contains no levels.

62

Assessment(s): Activity Guide

Suggested Pacing:

2

63 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-10 - Use flowcharts and/or pseudocode to address complex problems as algorithms.�DA - Data & Analysis�2-DA-08 - Collect data using computational tools and transform the data to make it more useful and reliable.�IC - Impacts of Computing�2-IC-22 - Collaborate with many contributors through strategies such as crowdsourcing or surveys when creating a computational artifact.

Code.org Lesson 13: Automating Data Decisions

Overview�Question of the Day: How can computers help us make decisions about data?�In this lesson, you will examine how a computer could be used to complete the decision-making step of the data problem-solving process.

Resources�Automating Data Decisions - ResourceAutomating Data Decisions - Activity Guide

Levels: This lesson contains no levels.

63

Assessment(s): Activity Guide

Suggested Pacing:

3 (a day for researching)

64 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�IC - Impacts of Computing�2-IC-20 - Compare tradeoffs associated with computing technologies that affect people's everyday activities and career options.�2-IC-23 - Describe tradeoffs between allowing information to be public and keeping information private and secure.

Code.org Lesson 14: Problem Solving with Big Data

Overview�Question of the Day: How is our data collected and why is it useful?�In this lesson, you will get a look at how data is collected and used by organizations to solve real problems in the real world.

Resources�Amazon and Data - VideoData in the Real World - Activity GuideNetflix and Data - VideoWaze and Data - Video

Levels: This lesson contains no levels.

64

Assessment(s): Activity Guide

Suggested Pacing:

1

65 of 66

Geometry Lessons & Math Standards

Code.org Lesson 15: Data and Machine Learning

Overview�Question of the Day: How can machines "learn"?�In this lesson, you get to work with Artificial Intelligence and learn about Machine Learning.

Resources�Video: Impact on Society - VideoVideo: Machine Learning - VideoVideo: Training Data and Bias - Video

Levels: 1-3 AI for Oceans: Fish vs Not Fish, 4-5 AI for Oceans: Types of Fish, 4, 5

65

Assessment(s): Journal (have students journal about what they learned)

Suggested Pacing:

2

66 of 66

Geometry Lessons & Math Standards

CSTA K-12 Computer Science Standards (2017)�AP - Algorithms & Programming�2-AP-10 - Use flowcharts and/or pseudocode to address complex problems as algorithms.�2-AP-15 - Seek and incorporate feedback from team members and users to refine a solution that meets user needs.�2-AP-18 - Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts.�DA - Data & Analysis�2-DA-08 - Collect data using computational tools and transform the data to make it more useful and reliable.�IC - Impacts of Computing�2-IC-23 - Describe tradeoffs between allowing information to be public and keeping information private and secure.

Code.org Lesson 16: Project - Make a Recommendation

Overview�Question of the Day: How can I use data to make my own recommendations?�In this lesson, you will design a recommendation engine based on data that you collect and analyze from your classmates.

Resources�Computer Science Practices - ReflectionMake a Recommendation - Peer ReviewMake a Recommendation - RubricMake a Recommendation - Project GuideMake a Recommendation - Student Checklist

Levels: 1 Sample App, 2 End-Of-Unit Survey

66

Assessment(s): Project Guide

Suggested Pacing:

5(Develop project, peer review, Reflection, survey)