← Back to Library
Lesson PlanFreeEN

Codey Rocky - Functions F2: Dance Party 2

In this lesson, students will create a number of functions for various custom dance moves for their Codey Rocky that can be called on in any order to perform. By stringing different functions together, no dance party will be the same!

Gr. 6–6
Codey Rocky - Functions F2: Dance Party 2

Lesson

Overview

Description

In this lesson, students will create a number of functions for various custom dance moves for their Codey Rocky that can be called on in any order to perform. By stringing different functions together, no dance party will be the same!

Objectives

  • students will be able to describe what a function is

  • students will be able to program a function using Codey Rocky.

  • students will be able to combine movement and music in a coordinated fashion to make Codey Rocky dance

Before the Lesson

Preparation

Review

Functions

Say "In the last lesson we learned that Functions are a piece of code used to call a sequence over and over again."

Review real life functions that we use all the time such as the example of how to wash your hair.

Say "We are going to use this new knowledge to revisit an old lesson and ramp it up."

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.

Independent Practice

Dance Party 2

Say "In a previous lesson we wrote dance moves for our Codey Rocky. What if we could create Functions so that we could create a number of different dance moves and lighting combinations and then call them any time we wanted, being able to mix it up? In this activity we will do just that!"

Have students revisit the code for Dance Party, but instead of having the dance in a sequence, have the students place a dance move inside a Function with its own name.

Have student create other dance moves and naming them inside functions.

(Optional) If you want to take this activity to the next level, have all your students create a number of dance functions with the Codey Rocky with different lighting and eye movements. Turn the classroom lights down and turn some music on and then record their Codey Rocky Dance Party.

Wrap Up

Wrap Up

Say "We've learned Sequences, Loops, Events, Conditionals and Functions. Now we are going to spend some time learning the last important aspect of programming: Variables"

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 6 - CTF

Grade 6

CTF

Planning, creating, appraising and communicating in response to challenges. 

Working independently and with others while exploring careers and technology

Ontario - Grade 6 - Mathematics

Grade 6

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 6 - ICT

Grade 6

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 6 - ADST

Grade 6

ADST 

• Generate potential ideas and add to others’ ideas 

• Identify and evaluate the skills and skill levels needed, individually or as a group, in relation to a specific task, and develop them as needed 

• Select, and as needed learn about, appropriate tools and technologies to extend their capability to complete a task