Introduction to Programming

Lesson 1: Setting Up a Programming Environment

Preparing for Coding

Overview

In this lesson, students will be introduced to the basics that will help them be successful throughout the coding lessons. Students will create their mBlock accounts, create a glossary, and gain a basic understanding of coding concepts that they will dive into in the following lessons. 

Learning Objectives

By the end of class, students will be able to:

  • Set up their mBlock account 
  • Understand the vocabulary associated with coding 
  • Introduced to different concepts (Overview of concepts) 

Instructional Materials

Vocabulary

  • Conditionals: A set of rules performed if or when a condition/requirement is met
  • Input: Any information or data that is sent to a computer for processing
  • Output: Any data or display that is the result of a computer processing

Pre-Lesson Teacher Checklist

  • Double check that computers are fully charged 
  • Ensure that students will be able to access mBlock website 
  • Familiarize yourself with the powerpoint 
  • Familiarize yourself with Overview of Blocks 
  • Print out worksheets

Lesson Timeline (50 minutes)

Time Interval

Content

5 minutes

Introduction 

15 minutes

Create mBlock Account  

  • Create an mBlock account 
  • Practice saving a file on mBlock 
15 minutes

Coding Glossary 

  • Review vocabulary 
  • Create a glossary that students can refer back to 
15 minutes

Overview of Concepts   

  • Review the coding concepts 

* These activities can be made longer based on time

** These activities are optional and can be eliminated based on time

Activities

Introduction (Slides: 2-3), 5 Minutes
Objective: 
  • Students set up their mBlock account 
  • Students understand the vocabulary associated with coding 
  • Students are introduced to different concepts (Overview of concepts) 
Procedure: 

Slide 2

  • Review objectives

Slide 3

Create mBlock Account (Slides: 4-11), 15 Minutes
Objective:
  • Students set up their mBlock account 
Procedure:

Slide 4 – 11 

  • Guide students to create their own mBlock account 
  • Students will need the following:
    • School email address 
    • Permission slip signed by parents (if required by the school)
Coding Glossary (Slides: 12-14), 15 Minutes
Objective:
  • Students understand the vocabulary associated with coding 
Procedure:

Slide 12-14

  • Review the vocabulary that students will encounter in the following lessons
  • Students should be writing down the definitions in their coding glossary
    • Algorithm: A list of steps used to complete a task 
    • Coding: Step by step instructions that computers or devices can understand 
    • Input: Any information or data that is sent to a computer for processing 
    • Output: Any data or display that is the result of a computer processing
    • Hardware: The collection of all the parts of a computing system that can be  physically touched. (Examples: Computers, Sensors, Robots, Tablets, etc.)
    • Software: Programs and other operating information used by a computer
Overview of Concepts, 15 Minutes
Objective:
  • Students are introduced to different concepts (Overview of concepts) 
Procedure:

Slides 15-20 

  • Provide students with a brief overview of the concepts that they will be introduced to in the following lessons
  • Students continue to write down the definitions of the concepts in the Coding Glossary worksheet

Lesson 2: Introduction with Rock, Paper, Scissors

Introduction: Rock, Paper, Scissors

Overview

In this lesson, students will be introduced to the basics of coding. Students will learn about foundational coding concepts such as sequence, events, and loops. In this lesson, students will learn how to code both the software and hardware, ultimately creating a rock paper scissors game. 

Learning Objectives

By the end of class, students will be able to:

  • Understand concepts such as sequence, events, and loops 
  • Code the sprite and hand to move 
  • Upload the code from mBlock to the hardware 
  • Understand the relationship of software (mBlock) and hardware (hand) 

Instructional Materials

Standards Alignment

TypeIndicatorStandard
CSTA2-CS-01Recommend improvements to the design of computing devices, based on an analysis of how users interact with the devices
2-AP-11Create clearly named variables that represent different data types and perform operations 
2-AP-12Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals. 
2-AP-13Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs. 
2-AP-15Seek and incorporate feedback from team members and users to refine a solution that meets user needs.
ISTE4BStudents select and use digital tools to plan and manage a design process that considers design constraints and calculated risks.
4C Students develop, test and refine prototypes as part of a cyclical design process.
4DStudents exhibit a tolerance for ambiguity, perseverance and the capacity to work with open-ended problems.
5AStudents formulate problem definitions suited for technology-assisted methods such as data analysis, abstract models and algorithmic thinking in exploring and finding solutions.
5DStudents understand how automation works and use algorithmic thinking to develop a sequence of steps to create and test automated solutions.
NGSSMS-ETS1-4Develop a model to generate data for iterative testing and modification of a proposed object, tool, or process such that an optimal design can be achieved.

Vocabulary

  • Algorithm: A list of steps used to complete a task
  • Coding: Step by step instructions that computers or devices can understand
  • Sequence: A set of ordered steps for completing a task
  • Loops: A sequence of instructions that is continually repeated until a certain condition is reached
  • Events: An action that causes things to happen
  • Hardware: The collection of all the parts of a computing system that can be physically touched. (Examples: Computers, Sensors, Robots, Tablets, etc.)
  • Software: Programs and other operating information used by a computer

Pre-Lesson Teacher Checklist

Lesson Timeline (50 minutes)

Time Interval

Content

10 minutes

Introduction 

  • Introduce coding, software, and hardware 
  • Warm-up 
15 minutes

Exploring software (mBlock)  

  • Introduce sequence, events, and loops 
  • Provide time for students to explore on mBlock 
  • Students code a sprite to introduce itself 
15 minutes

Exploring hardware (the Hand) 

  • Students code the hand for a rock paper scissors game 
  • Upload code to the hardware  
5 minutes

Game time   

  • Partner up to play others’ games 
5 minutes 

Reflection 

  • Complete exit-ticket 
  • Clean-up

* These activities can be made longer based on time

** These activities are optional and can be eliminated based on time

Activities

Introduction (Slides: 2-5), 10 Minutes
Objective: 
  • Understand concepts such as sequence, events, and loops 
  • Code the sprite and hand to move 
  • Upload the code from mBlock to the hardware 
  • Understand the relationship of software (mBlock) and hardware (hand) 
Procedure:

Slide 2

  • Review objectives 

Slide 3

  • Pass out worksheet
  • Introduce the concept of coding and algorithm, while students write down the definitions

Slide 4 

  • Introduce the software and hardware students will be working with 
  • Tips:
    • Show the students the robotic hand (hardware) students will be working with 
    • Explain that mblock is the software that students will be using to code 

Slide 5 

  • Complete warm-up with students.
    • Ask the students to look at the codes on the slide and predict what they are asking the user to do. 
    • Prompt the students to talk to their partners to compare and contrast their predictions 
    • Ask two students to share their predictions out loud
Exploring Software (Slides 6 – 11), 15 Minutes
Objective:
  • Understand concepts such as sequence, events, and loops 
  • Code the sprite and hand to move 
  • Understand the relationship of software (mBlock) and hardware (hand)  
Procedure:

Slide 6

  • Review the concept of sequence. Ask a student to read the definition out loud:
    • Sequence: A set of ordered steps for completing a task
  • Ask students to read the code and predict what the sprite will do. Call on a student to share their answer 

Slide 7

  • Review the concept of loops. Ask a student to read the definition out loud:
    • Loops: A sequence of instructions that is continually repeated until a certain condition is reached
  • Ask students to look at the two codes on the slide. Ask them to share their thoughts on the following statement:
    • True or false: the two codes accomplish the same task

Slide 8

  • Review the concept of events. Ask a student to read the definition out loud:
    • Events: An action that causes things to happen 
  • Stress to the students that every code needs to begin with event blocks 

Slide 9

  • Watch the video tutorial on changing changing sprites, background, and sounds on the mBlock software 

Slide 10

  • Watch the video tutorial  on coding the sprite on mBlock to move and introduce itself  

Slide 11

  • Provide work-time for students. Students should be filling out their worksheet during this time. Present the following challenge: code the sprite to move and introduce itself. 
  • Tips:
    • Walk around the classroom to make sure that students are starting with event blocks.  
    • For the advanced students, present the following challenges:
      • Add another sprite and their introductions 
      • Change the background 
      • Code the sprite with loops
Exploring Hardware (Slides 12 – 13), 15 Minutes
Objective:
  • Code the sprite and hand to move 
  • Upload the code from mBlock to the hardware 
Procedure:

Slide 12 

  • Watch the video tutorial on uploading the code to the hardware (the hand)  

Slide 13  

  • Provide work-time for students to create a game of rock, paper, scissors using the concept of sequence, events, and loops
  • Students should be filling out their worksheet during this time 
  • Tips: During this time, walk around the classroom to make sure that students are doing the following:
    • Starting with event blocks 
    • Using loops 
  • Tips: For those students who are struggling, pull a small group to facilitate step by step tutorial as others are working 
Game Time (Slides 14), 5 Minutes
Objective:
  • Code the sprite and hand to move 
  • Upload the code from mBlock to the hardware 
Procedure:

Slide 14  

  • Students partner up with another team. Provide time for students to play each others’ rock, paper, scissors game 
  • Provide time for students to provide feedback to each other
    • What worked well? 
    • What parts could the other team improve on?
Reflection (Slides 15), 5 Minutes
Procedure: 

Lesson 3: Conditionals

Conditionals

Overview

In this lesson, students will be introduced to the concept of conditionals. Students will learn how to code an interactive game using multiple sprites. Through this lesson, students will gain a deeper understanding of coding, as they use various concepts such as conditionals, sequence, and loops. 

Learning Objectives

By the end of class, students will be able to:

  • Understand the concept of conditionals 
  • Create an interactive game using conditionals, sequence, and loops 
  • Code multiple sprites 
  • Explain how the conditionals, sequence, and loops impact their game 

Instructional Materials

Standards Alignment

Type

Indicator

Standard

CSTA2-AP-12Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals. 
2-AP-13Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs. 
2-AP-15Seek and incorporate feedback from team members and users to refine a solution that meets user needs.
ISTE4BStudents select and use digital tools to plan and manage a design process that considers design constraints and calculated risks.
4C Students develop, test and refine prototypes as part of a cyclical design process.
4DStudents exhibit a tolerance for ambiguity, perseverance and the capacity to work with open-ended problems.
6CStudents communicate complex ideas clearly and effectively by creating or using a variety of digital objects such as visualizations, models or simulations.
NGSSMS-ETS1-4Develop a model to generate data for iterative testing and modification of a proposed object, tool, or process such that an optimal design can be achieved.

Vocabulary

  • Conditionals: A set of rules performed if or when a condition/requirement is met
  • Input: Any information or data that is sent to a computer for processing
  • Output: Any data or display that is the result of a computer processing

Pre-Lesson Teacher Checklist

Lesson Timeline (50 minutes)

Time Interval

Content

10 minutes

Introduction 

  • Review objectives  
  • Warm-up (Rock, Paper, Scissors) 
10 minutes

Intro to Conditionals 

  • Learn about conditionals 
  • Conditional Game**
20 minutes

Creating an Interactive Game* 

  • Students learn about the game Catch the Fruit 
  • Students create their own interactive games 
5 minutes

Game time   

  • Partner up to play others’ games 
5 minutes 

Reflection** 

  • Exit Ticket
  • Clean-up

* These activities can be made longer based on time

** These activities are optional and can be eliminated based on time

Activities

Introduction (Slides 2 – 3), 10 Minutes
Objective: 
  • Understand the concept of conditionals 
  • Create an interactive game using conditionals, sequence, and loops 
  • Code multiple sprites 
Procedure: 

Slide 2

  • Review objectives 

Slide 3

  • Students log into mBlock account 
  • Students play rock, paper, scissors (continued from previous lesson)
Intro to Conditionals (Slides 4 – 6), 10 Minutes
Objective:
  • Understand the concept of conditionals 
Procedure:

Slide 4

  • Review the concept of conditionals. Ask a student to read the definition out loud:
    • Conditionals: A set of rules performed if or when a condition/requirement is met 
  • Explain the following:
    • Conditional statements will be in the form of “if_____, then______.”  
    • Conditional statements can be thought of as cause (if ______) and effect (then ______).  

Slide 5

  • Review the key points with students. Students should fill in the blank on their worksheet.
    • Conditional statements are important because it gives the computer different choices
    • If the conditional statement is true, the computer executes the action 
    • If the conditional statement is false, the computer does not execute the action
    • Conditional statements can be thought of as cause (if ______) and effect (then ______). 

Slide 6

  • Ask all the students in the classroom to stand up for a game. The students who are still standing after the statements are read will be the winners. 
  • Read the following statements:
    • If your birthday is from January to March, then sit down. 
    • If you are wearing green, white, blue, or orange, then sit down. 
    • If you are wearing glasses, then stand back up. (Even if you were sitting down!) 
    • If you have a black backpack, then sit down. 
    • If you are wearing a jacket, then sit down.
    • TIP: Feel free to customize the statements for your students.
Creating an Interactive Game (Slides 7 – 10),20 Minutes
Objective:
  • Understand the concept of conditionals 
  • Create an interactive game using conditionals, sequence, and loops 
  • Code multiple sprites 
  • Explain how the conditionals, sequence, and loops impact their game
Procedure:

Slide 7

  • To get an idea of what an interactive game could look like, watch the video tutorial on Catch the Fruit Game 

Slide 8

  • Students will require knowledge about the coordinate plane to create an interactive game. Review the different quadrants. Call on students to locate the following points:
    • (3,-4), (0,6), (-3,2), (-5,-3)

Slide 9

  • Watch the video tutorial to understand how the conditionals, sequence, and loops come together to create an interactive game. 
  • The tutorial will dissect the codes (see Lesson Plan) and explain how each block is used to create the interactive (Catch the Fruit) game. 

Slide 10

  • Provide work-time for the students to create their own interactive game. 
  • Students pair up with their partners and plan out their games on the worksheet. 
  • Tips: Walk around the classroom to make sure students are on the right track by looking for the following
    • Starting with event blocks 
    • Using conditionals 
    • Clicking to code for each sprite 
    • For those students who are struggling, pull a small group to facilitate step by step tutorial as others are working 
Game Time (Slides 11), 5 Minutes
Objective:
  • Understand the concept of conditionals 
  • Explain how the conditionals, sequence, and loops impact their game 
Procedure:

Slide 11 

  • Students partner up with another team. Provide time for students to explore each other’s games 
  • Provide time for students to provide feedback to each other
    • What stood out about their game? 
    • What parts could the other team improve on? 
Reflection (Slides 12), 5 Minutes
Procedure: 

Slide 12 

Lesson 4: Functions and Variables

Functions and Variables

Overview

In this lesson, students will be introduced to the concept of functions and variables. Students will learn how to code variables onto the screen, adding another complex layer to their existing game from Lesson 3. Students will also learn how to create functions, and create functions for the hardware. 

Learning Objectives

By the end of class, students will be able to:

  • Understand the concept of variables and functions 
  • Code variables into the game  
  • Code functions in mBlock for the hardware 
  • Explain the role of variables and functions in coding 

Instructional Materials

Standards Alignment

Type

Indicator

Standard

CSTA2-AP-12Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals. 
2-AP-13Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs. 
2-AP-15Seek and incorporate feedback from team members and users to refine a solution that meets user needs.
ISTE4BStudents select and use digital tools to plan and manage a design process that considers design constraints and calculated risks.
4C Students develop, test and refine prototypes as part of a cyclical design process.
4DStudents exhibit a tolerance for ambiguity, perseverance and the capacity to work with open-ended problems.
6CStudents communicate complex ideas clearly and effectively by creating or using a variety of digital objects such as visualizations, models or simulations.
NGSSMS-ETS1-4Develop a model to generate data for iterative testing and modification of a proposed object, tool, or process such that an optimal design can be achieved.

Vocabulary

  • Variables: A container storing information that can be changed
  • Functions: A set of instructions that can be used to perform a specific task or routine

Pre-Lesson Teacher Checklist

Lesson Timeline (50 minutes)

Time Interval

Content

5 minutes

Introduction 

15 minutes

Intro to Variables 

  • Students learn about variables 
  • Students code variables into their game from Lesson 2 
15 minutes

Intro to Functions 

  • Students learn about functions 
  • Students code a function 
10 minutes

Predict the function 

  • Predict the other team’s function 
5 minutes 

Reflection** 

* These activities can be made longer based on time

** These activities are optional and can be eliminated based on time

Activities

Introduction (Slides 2), 5 Minutes
Objective: 
  • Understand the concept of variables and functions 
  • Code variables into the game  
  • Code functions in mBlock for the hardware 
  • Explain the role of variables and functions in coding 
Procedure: 

Slide 2

Intro to Variables (Slides 3 – 5), 15 Minutes
Objective:
  • Understand the concept of variables and functions 
  • Code variables into the game  
  • Explain the role of variables and functions in coding 
Procedure:

Slide 3

  • Review the concept of variables. Ask a student to read the definition out loud:
    •  A container storing information that can be changed 
  • Ask students to discuss the following question:
    • When can you see yourself using variables? 
  • Watch the variable tutorial 

Slide 4

  • Ask students to log into their Catch the Fruit game from previous lesson 
  • Students code variables into the game as a scoreboard.
  • See Example in Lesson Plan

Slide 5

  • Provide time for students to play Catch the Fruit game as a whole class. Challenge the students to reach 20 points as soon as possible. 
  • Discuss the following questions:
    • Did you change your code to help you reach 20 points faster? If yes, what did you do? 
    • Tips: Answers could range from:
      • Coding the sprites to move faster 
      • Coding the sprites to be bigger (so they take up more room)
Intro to Functions (Slides 6 – 9), 15 Minutes
Objective:
  • Understand the concept of variables and functions 
  • Code functions in mBlock for the hardware 
  • Explain the role of variables and functions in coding 
Procedure:

Slide 6

  • Review the concept of functions. Ask a student to read the definition out loud:
    • A set of instructions that can be used to perform a specific task or routine 
  • Watch the function video tutorial 

Slide 7

  • Review the reasons why functions are useful in coding. Students take notes on their worksheet 
    • Organization
      • Functions helps to reduce longer and complicated programs into more manageable parts 
    • Testing
      • Functions reduce code redundancy and save time 
    • Reusability
      • It can be used multiple times and in different algorithms 
  • Ask students to discuss the following question with their partners:
    • When can you see yourself using these functions?

Slide 8

  • Provide work time for students to create functions in mBlock for the hand. 
  • Students begin by brainstorming and planning out their functions on the worksheet. Students should name the function and jot down specific notes on the movements that are in each function. (This will later be referenced back to for Game Time) 
  • Students code the function for the Hand on mBlock 
  • The functions that students make will be handed over to another team during Game Time for them to guess the purpose of the function  

Slide 9

  • Provide an example of what the completed chart on their worksheet will look like vs. what the other team will need to fill out as they predict the functions 
  • TIPS: As students work, walk around the classroom and look for the following
    • Students starting with the correct event blocks for the hardware 
    • Students coding wait times between each motion 
    • Students ending with the “reset hand’ block at the end of their code 
    • Students have the hand turned on while uploading the code
Guess the Function (Slides 10), 10 Minutes
Objective:
  • Understand the concept of variables and functions 
  • Code functions in mBlock for the hardware 
  • Explain the role of variables and functions in coding
Procedure:

Slide 10

  • Provide game time for students to pair up with another team. Pass out Predict the Function worksheet
  • Each team will write the name of the functions on the word bank at the top of the worksheet. Students will predict the other team’s function. 
  • Students will check their work by comparing their predictions with what the team had planned
  • Students provide feedback to one another through the following questions:
    • What was unique about their functions?
    • What could be improved? 
Reflection (Slides 11), 5 Minutes
Procedure: 

Slide 11 

Lesson 5: Programming Project Part 1

Final Project: Games Part 1

Overview

In this lesson, students will be introduced to their final project. Students will be challenged to create a game on the software that uses all the previous concepts such as sequence, loops, conditionals, variables, and functions. In this lesson, students will mainly focus on developing the software portion of the game. 

Learning Objectives

By the end of class, students will be able to:

  • Understand concepts such as sequence, loops, conditionals, variables, and functions
  • Code on mBlock software to create an interactive game 

Instructional Materials

Standards Alignment

Type

Indicator

Standard

CSTA2-CS-01Recommend improvements to the design of computing devices, based on an analysis of how users interact with the devices
2-AP-11Create clearly named variables that represent different data types and perform operations 
2-AP-12Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals. 
2-AP-13Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs. 
2-AP-15Seek and incorporate feedback from team members and users to refine a solution that meets user needs.
ISTE4BStudents select and use digital tools to plan and manage a design process that considers design constraints and calculated risks.
4C Students develop, test and refine prototypes as part of a cyclical design process.
4DStudents exhibit a tolerance for ambiguity, perseverance and the capacity to work with open-ended problems.
5AStudents formulate problem definitions suited for technology-assisted methods such as data analysis, abstract models and algorithmic thinking in exploring and finding solutions.
5DStudents understand how automation works and use algorithmic thinking to develop a sequence of steps to create and test automated solutions.
NGSSMS-ETS1-4Develop a model to generate data for iterative testing and modification of a proposed object, tool, or process such that an optimal design can be achieved.

Vocabulary

  • Algorithm: A list of steps used to complete a task
  • Sequence: A set of ordered steps for completing a task
  • Loops: A sequence of instructions that is continually repeated until a certain condition is reached
  • Conditionals: A set of instructions performed if or when a condition/requirement is met
  • Functions: A set of instructions that can be used to perform a specific task, or routine
  • Variable: A container storing information that can be changed
  • Hardware: The collection of all the parts of a computing system that can be physically touched. (Examples; Computers, Sensors, Robots, Tablets, Cell Phones, etc.)
  • Software: Programs and other operating information used by a computer
  • Input: Any information or data that is sent to a computer for processing
  • Output: Any data or display that is the result of a computer processing

Pre-Lesson Teacher Checklist

Lesson Timeline (50 minutes)

Time IntervalContent
5 minutes

Introduction 

  • Introduce the final project to students 
  • Review objectives 
  • Give students time to pair up with partners 
10 minutes

Review Concepts  

  • Review the following:
    • Sequence, loops, conditionals, variables, and functions
30 minutes

Work-time 

  • Pass out worksheet 
  • Review objectives 
  • Give students time to pair up with partners
5 minutes

Reflection 

* These activities can be made longer based on time

** These activities are optional and can be eliminated based on time

Activities

Introduction (Slides 2 – 3), 5 Minutes
Objective: 
  • Understand concepts such as sequence, loops, conditionals, variables, and functions
  • Code on mBlock software to create an interactive game 
Procedure: 

Slide 2

  • Review objectives 

Slide 3

  • Introduce the Final Project challenge:
    • Create a game on the software that uses all the previous concepts such as sequence, loops, conditionals, variables, and functions
  • Remind students that in this lesson, students will be creating the game on the software, and in the next lesson students will incorporate the robotic hand.
    • Tip: Call on a student to tell the difference between hardware and software
Review Concepts (Slides 4 – 8), 10 Minutes
Objective:
  • Understand concepts such as sequence, loops, conditionals, variables, and functions
Procedure:

Review the following concepts. Review the definition of the concept, and give students the opportunity to share with their partner what they remember about the concept and how they have used it in the past. 

Slide 4

  • Review sequence: A set of ordered steps for completing a task

Slide 5 

  • Review loops: A sequence of instructions that is continually repeated until a certain condition is reached

Slide 6

  • Review conditionals: A set of instructions performed if or when a condition/requirement is met

Slide 7

  • Review variables: A container storing information that can be changed.

Slide 8

  • Review functions: A set of instructions that can be used to perform a specific task, or routine
Work-time (Slides 9 – 11), 30 Minutes
Objective:
  • Code on mBlock software to create an interactive game 
Procedure:

Pass out the worksheet. Provide time for students to get into partners. 

Slide 9  (5 minutes) 

  • Students brainstorm the type of game that they want to create on the software on the worksheet. 
  • Students understand that part of the game will have to incorporate the robotic hand 
  • Tips: For students who are struggling, provide them with the following options:
    • Create a game where sprites are passing the ball back and forth to each other 
    • Create a game where the color of an object changes based on sprite’s actions 
    • Create a game where different sounds are made based on the sprite’s decisions 

Slide 10  (5 minutes) 

  • Students share their game idea with another group for feedback, and revise their ideas
  • Tips: This is an opportunity for students to reflect on their work. For students who need extra support, provide the following question stems:
    • Why did you choose ____? 
    • How does this show ____ concept? 

Slide 11  (20 minutes) 

  • Provide students with work-time 
  • Review of expectations:
    • Stay on task 
    • Be hard on content, soft on people 
    • Raise hand if you need help
  • Tips: Float around the classroom and check-in on students who are struggling. For groups who need additional support, pull a small group where you can guide them through the coding process.
Reflection (Slides 12), 5 Minutes
Objective:
  • Understand concepts such as sequence, loops, conditionals, variables, and functions
Procedure:

Slide 12 

  • Set goals for the next lesson 
  • Complete exit ticket 
  • Clean-up 

Lesson 6: Programming Project Part 2

Final Project: Games Part 2

Overview

In this lesson, students will continue to work on their final project. Students will complete an interactive game that uses all the previous concepts such as sequence, loops, conditionals, variables, and functions. In this lesson, students will incorporate the robotic hand (hardware portion) into the game. 

Learning Objectives

By the end of class, students will be able to:

  • Understand concepts such as sequence, loops, conditionals, variables, and functions
  • Code the robotic hand (hardware) on mBlock as part of the interactive game 
  • Showcase their game and explain the coding concepts used 
  • Students understand the distinction between hardware and software

Instructional Materials

Standards Alignment

Type

Indicator

Standard

CSTA2-CS-01Recommend improvements to the design of computing devices, based on an analysis of how users interact with the devices
2-AP-11Create clearly named variables that represent different data types and perform operations 
2-AP-12Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals. 
2-AP-13Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs. 
2-AP-15Seek and incorporate feedback from team members and users to refine a solution that meets user needs.
ISTE4BStudents select and use digital tools to plan and manage a design process that considers design constraints and calculated risks.
4C Students develop, test and refine prototypes as part of a cyclical design process.
4DStudents exhibit a tolerance for ambiguity, perseverance and the capacity to work with open-ended problems.
5AStudents formulate problem definitions suited for technology-assisted methods such as data analysis, abstract models and algorithmic thinking in exploring and finding solutions.
5DStudents understand how automation works and use algorithmic thinking to develop a sequence of steps to create and test automated solutions.
6CStudents communicate complex ideas clearly and effectively by creating or using a variety of digital objects such as visualizations, models or simulations.
NGSSMS-ETS1-4Develop a model to generate data for iterative testing and modification of a proposed object, tool, or process such that an optimal design can be achieved.

Vocabulary

  • Algorithm: A list of steps used to complete a task
  • Sequence: A set of ordered steps for completing a task
  • Loops: A sequence of instructions that is continually repeated until a certain condition is reached
  • Conditionals: A set of instructions performed if or when a condition/requirement is met
  • Functions: A set of instructions that can be used to perform a specific task, or routine
  • Variable: A container storing information that can be changed
  • Hardware: The collection of all the parts of a computing system that can be physically touched. (Examples; Computers, Sensors, Robots, Tablets, Cell Phones, etc.)
  • Software: Programs and other operating information used by a computer
  • Input: Any information or data that is sent to a computer for processing
  • Output: Any data or display that is the result of a computer processing

Pre-Lesson Teacher Checklist

Lesson Timeline (50 minutes)

Time Interval

Content

5 minutes

Introduction 

  • Review objectives 
  • Review the final project challenge
    • Remind students that they will be incorporating the robotic hand into the game 
25 minutes

Work-time   

  • Pass out worksheet 
  • Give students time to pair up and work 
10 minutes

Showcase/ Gallery Walk  

  • Students present their work in front of their peers in the form of a gallery walk 
5 minutes

Feedback 

  • Provide feedback   
  • Reflect on ways to improve the project 
5 minutes

Reflection 

  • Complete metacognition 
  • Clean-up 

* These activities can be made longer based on time

** These activities are optional and can be eliminated based on time

Activities

Introduction (Slides 2 – 3), 5 Minutes
Objective: 
  • Students understand concepts such as sequence, loops, conditionals, variables, and functions
  • Students code the robotic hand (hardware) on mBlock as part of the interactive game 
  • Students showcase their game and explain the coding concepts used 
  • Students understand the distinction between hardware and software
Procedure: 

Slide 2

  • Review objectives 

Slide 3

  • Introduce the Final Project challenge:
    • Create a game on the software that uses all the previous concepts such as sequence, loops, conditionals, variables, and functions
  • Remind students that in this lesson students will incorporate the robotic hand into their game
Worktime (Slides 4 – 5), 25 Minutes
Objective:
  • Understand concepts such as sequence, loops, conditionals, variables, and functions
  • Code the robotic hand (hardware) on mBlock as part of the interactive game
  • Students understand the distinction between hardware and software
Procedure:

Pass out the worksheet. Provide time for students to get into partners. Provide work time for students 

Slide 4 (5 minutes)

  • Students review the worksheet from the previous lesson. Students brainstorm how the hardware will be incorporated on the worksheet with their partners 
  • Tips: For students who are struggling, provide them with the following options:
    • Code the hand to show rock/paper/scissors when the sprite performs a certain action 
    • Code the hand to do the wave when the sprite communicates with another sprite 
    • Code the hand to move certain fingers through an if-then statement 

Slide 5  (20 minutes)

  • Review of expectations:
    • Stay on task 
    • Be hard on content, soft on people 
    • Raise hand if you need help
  • Tips: Float around the classroom to ensure that the hand is connected and functioning on mBlock. Pull a small group if necessary. Check-in on students who are struggling with the following prompts:
    • Can you share your plan on how to incorporate the hand? 
    • What are you having trouble with? 
    • What concepts are you planning on using?
Showcase/ Gallery Walk (Slides 6 – 7), 10 Minutes
Objective:
  • Students showcase their game and explain the coding concepts used 
Procedure:

In pairs, decide on Partner A and Partner B.

Slide 6-7 (5 minutes each) 

  • Partner A stays at the work space, while partner B circulates around the room participating in the Gallery Walk. 
  • Prompts:
    • What is the objective of your game? 
    • What concepts did you use to program your software? 
    • What concepts did you use to program the hardware? 
    • What was the most challenging?
Feedback (Slide 8), 5 Minutes
Objective:
  • Understand concepts such as sequence, loops, conditionals, variables, and functions
Procedure:

Slide 8

  • Pass out feedback worksheet
  • Students write down feedback for other groups
  • Students review the feedback that they receive from peers
Reflection (Slides 9), 5 Minutes
Procedure:

Slide 9 

Extension Lesson

Games

Overview

In this lesson, students will understand how games can be used as a tool that serves various purposes. Students will have the opportunity to think more in depth about the impact of games and the effects it can have on certain populations. 

Learning Objectives

By the end of class, students will be able to:

  • Understand that games can have an impact on different populations
  • Identify features that make games accessible to those with differences
  • Discuss their opinions with textual support
  • Write a reflection with textual evidence

Instructional Materials

Standards Alignment

Type

Indicator

Standard

CCSSCCSS.ELA-LITERACY.RI.7.1Cite several pieces of textual evidence to support analysis of what the text says explicitly as well as inferences drawn from the text.
CCSS.ELA-LITERACY.W.7.2.AIntroduce a topic clearly, previewing what is to follow; organize ideas, concepts, and information, using strategies such as definition, classification, comparison/contrast, and cause/effect; include formatting (e.g., headings), graphics (e.g., charts, tables), and multimedia when useful to aiding comprehension. 
CCSS.ELA-LITERACY.W.7.2.DUse precise language and domain-specific vocabulary to inform about or explain the topic. 
CCSS.ELA-LITERACY.W.7.9Draw evidence from literary or informational texts to support analysis, reflection, and research.

Vocabulary

  • Curvature: The amount or degree to which something is curved
  • Confront: To face a challenge or problem head on
  • Context: The specific situation or place it is in
  • Beneficial: Favorable or advantageous; resulting in good
  • Stimulate: To encourage or help it to get started
  • Analysis: A detailed study of something
  • Receptive: Willing to consider or accept new suggestions and ideas

Pre-Lesson Teacher Checklist

Lesson Timeline (50 minutes)

Time Interval

Content

5 minutesIntroduction 

 

  • Introduce objectives 
15 minutesReading Articles 

 

  • Choose an article to read 
15 minutesDiscussion  

 

  • Discuss the articles with given prompts in a small group 
15 minutesReflection 

 

  • Writing assignment 

* These activities can be made longer based on time

** These activities are optional and can be eliminated based on time

 

Activities

Introduction, 5 Minutes
Objective: 
  • Understand that games can have an impact on different populations 
  • Identify features that make games accessible to those with differences 
  • Discuss their opinions with textual support 
  • Write a reflection with textual evidence 
Procedure: 
  • Review objectives and agenda 
  • Introduce the two articles, and how the articles will help students to understand the role of video games in different people’s lives 
Reading Articles, 15 Minutes
Objective:
  • Understand that games can have an impact on different populations 
  • Identify features that make games accessible to those with differences 
Procedure:

Pass out the two articles and the student worksheet. Ask students to choose one of the articles to read. Provide silent reading time for students to read the article of their choice. Students should be taking notes on what they are reading. 

  • Tip: Have the vocabulary words on the screen for students
  • Tip: For struggling readers, pull a small group and review the questions before reading.
Discussion, 15 Minutes
Objective:
  • Discuss their opinions with textual support 
Procedure:

Group students in small groups (max 4 students) who have read the same articles. Ask them to answer the following questions: 

  • What role does the video game play for the population?
  • How does the video game help people in this group?
  • What features of the video games allow games to be beneficial to this group? 
  • Tip: Float around the classroom to make sure students are on topic. If students are struggling, provide them with the following prompts: 
    • What was the article about?
    • Who was the article talking about?
    • What happened in the article?
Reflection, 15 Minutes
Objective:
  • Write a reflection with textual evidence
Procedure:

Provide students the time to write a reflection on the following question:

  • How did video games help the population? What features of video games helped the population? What are other ways that games can help others?