Codey Rocky - Conditionals E3: Wake Up!
In this lesson, Codey Rocky will sleep until there is enough light in the room to wake it up!

Lesson
Overview
Description
In this lesson, Codey Rocky will sleep until there is enough light in the room to wake it up!
Objectives
students will be able to describe what a conditional is
students will be able to program a conditional using Codey Rocky
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
Prior Concepts
Sequences and Events are both covered in this activity. Review those concepts prior to this lesson by having the students share that a Sequence is a list of steps in order to finish a task and an Event is an action that causes something to happen. Lead students towards explaining that we cause Codey Rocky to perform action by pressing the buttons.
Direct Instruction
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
Introduce Conditionals
Say "In this lesson we are going to program what is called a Conditional. A Conditional is a sequence that only happens under certain conditions. We use Conditionals, just like sequences every day in our own lives. Here is an example: If it is raining, bring an umbrella. If it is sunny, don't bring an umbrella. You can see that this is a real life conditional. We only bring an umbrella with us if it is raining!"
Ask students to share other real life conditionals.
Today we are going to have Codey Rocky sleep if the lights are out, and wake up when it is bright enough to wake up.
Demonstrate Wake Up!
Show the following code on your screen for the class and explain it as you are building it.

Have fun with the student fine tuning the light intensity to suit your specific environment. The goal of this program is to have Codey Rocky display the first image when the space is dark and the second image, along with the red light, when the space is lit up.
Independent Practice
Wake Up!
Keep the demonstrated code on screen and say "Now that we have fine tuned our code for our room, let's have you do this code and add your own elements to it as well. Copy the code on the screen to give your Codey Rocky the base code and then think about how you wake up in the morning. Maybe you want to add a different facial expression, or add sound. Whatever you add, keep in mind it needs to happen as a Conditional, meaning it should only occur when the lights come on!"
Give students 2-3 minutes to iterate and then turn off the lights and back on to allow them to see how their coding is functioning. You may also advise them that in some environments they can simply put their hand in front of the sensor to get the effect of turning off the lights - this doesn't work effectively in every environment with all students.
Repeat turning off and on the lights as needed until your students are happy with they code.
Wrap Up
Wrap Up
Say "Now we see that conditionals are actions that only happen under certain conditions. They are also something that we do every day in our own lives. Conditionals are an incredibly important part of coding."
Say "Our next lesson is going to take advantage of some of the other sensors in Codey Rocky, and use conditionals, in order to avoid objects in our way"
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
