Codey Rocky - Conditionals E4: Watch Out!
In this lesson, students will program Codey Rocky to avoid an obstacle in its path and eventually go around it.

Lesson
Overview
Description
In this lesson, students will program Codey Rocky to avoid an obstacle in its path and eventually go around it.
Objective
students will be able to describe what a conditional is
students will be able to program a conditional using Codey Rocky.
students will be able to use conditionals to help Codey Rocky avoid objects
Before the Lesson
Preparation
Review our introductory video to get accustomed to Codey Rocky's different features: https://www.youtube.com/watch?v=q7t-H7s7yYM&t=13s
Fully charge the tablets and robots.
Install mBlock 5 on a compatible Windows or Apple device: https://www.mblock.cc/en/download/
Review
Conditionals
Review Conditionals with your students as an action that occurs only under certain conditions. Have students recall real life conditionals such as the umbrella example in the previous lesson and any other real life conditionals they can think of.
Have students recall the last activity and what was done. Have them tell you the condition under which Codey Rocky woke up from sleeping.
Direct Instructions
Connecting to mBlock 5
Introduction to mBlock 5
Project your computer screen and open the mBlock 5 program. Point out the icon and how it can be found in your specific system or device. Discuss the wireless dongle and how it is used to connect a specific Codey Rocky to a computer. The dongle is required for the Codey Rocky to be connected to the computer, so keeping that dongle safe and with the proper Codey Rocky is very important.
(Optional) Work with the class to label their dongle and device if they are not labelled already. These can be permanent device identifiers using a label maker (i.e Codey Rocky 1) or have the class temporarily name their Codey Rocky and label it with a sticky note or piece of paper and tape. (even if a device has a permanent label, it is always fun to allow students to name their devices)
Model connecting Codey Rocky to mBlock 5 by performing the following steps:
Turn on Codey Rocky
Open mBlock 5 if it is not open already
In the area where it says "Connect your Device" click the BLUE connect button.

Plug in the USB dongle.
Select the USB dongle from the drop down. It will be listed as "/dev/tty.wchusbserial14xx" with the last two number being different depending on the port the USB is plugged in to (ex. 1410, 1420)

You will know the device is connected when the window in mBlock 5 changes, indicating a proper connection and your ability to now upload code to Codey Rocky.

(Optional) Have students connect and disconnect their Codey Rocky from mBlock 5 a number of times to practice the process so they can do it independently going forward when instructed.
Guided Practice
Demonstrate Watch Out!
Say "Codey Rocky can sense more than just light, it can also sense how close it is to something in front of it, and if we program a conditional, meaning not just the sensing of the object but what to do once an object is in front of Codey Rocky, we can program Codey Rocky to avoid obstacles and move on where it was going!"
Put the following code together in mBlock 5 and upload it to Codey Rocky. Place a small object in front of Codey Rocky as it is driving so that it senses the object and maneuvers around it to continue on in the same direction it was driving previously.

Independent Practice
Watch Out!
Keep the code used to demonstrate this lesson on your screen.
Say "Use the code we created together to help Codey Rocky avoid a small object you can place in front of it."
Say "Once you have mastered the code to have Codey Rocky go around the object you have, experiment with other objects of other sizes, or multiple objects of multiple sizes. See if you can master having Codey Rocky avoid any obstacle and continue driving. This ability could come in handy in a future lesson!"
Wrap Up
Wrap Up
Say "Now we know how to create a Sequence, a Loop, an Event and how to use a Conditional to have Codey Rocky do a certain action when something happens. We really have learned a lot of the most important aspects of programming!"
Say "In the next lessons we will build on these ideas doing fun activities that incorporate all the concepts we have learned so far."
Educational Standards
ISTE
ISTE
4d: Exhibit a tolerance for ambiguity, perseverance, and the capacity to work with open-ended problems.
5a: Formulate problem definitions suited for technology-assisted methods such as data analysis, abstract models and algorithmic thinking in exploring and finding solutions.
6b: Create original works or responsibly repurpose or remix digital resources into new creations.
7c: Contribute constructively to project teams, assuming various roles and responsibilities to work effectively toward a common goal.
CSTA
CSTA
1B-AP-10: Create programs that include sequences, events, loops, and conditionals..
1B-AP-11: Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.
1A-AP-12: Develop plans that describe a program’s sequence of events, goals, and expected outcomes..
1B-AP-15: Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended..
1A-AP-15: Using correct terminology, describe steps taken and choices made during the iterative process of program development.
Alberta - Grade 5 - CTF
Grade 5
CTF
Planning, creating, appraising and communicating in response to challenges.
Working independently and with others while exploring careers and technology
Ontario - Grade 5 - Mathematics
Grade 5
Mathematics
Algebra (Coding)
C3.1 solve problems and create computational representations of mathematical situations by writing and executing code, including code that involves conditional statements and other control structures.
Nova Scotia - Grade 5 - ICT
Grade 5
ICT
P2: Students will be expected to use digital tools to develop ideas and original works in innovative ways.
TOC1: Students will be expected to
safely use many forms of current technology for learning with growing competence
demonstrate conceptual understanding of how information and communication technology, digital tools, and authorized networks support their learning
use terminology related to information and communication technology
British Columbia - Grade 5 - ADST
Grade 5
ADST
• Make changes and test again, repeating until satisfied with the product
• Use materials, tools, and technologies in a safe manner, and with an awareness of the safety of others, in both physical and digital environments
• Identify the skills required for a task and develop those skills as needed
• Use familiar tools and technologies to extend their capabilities when completing a task
• Demonstrate a willingness to learn new technologies as needed
