# Lesson 16: Variables in Artist

## Overview

In this lesson, students will explore the creation of repetitive designs using variables in the Artist environment. Students will learn how variables can be used to make code easier to write and easier to read. After guided puzzles, students will end in a freeplay level to show what they have learned and create their own designs.

## Purpose

Variables are essentially placeholders for values that are unknown at the time that you run your program or for values that can change during the execution of a program. These constructs are vital to creating dynamic code because they allow your program to change and grow based on any number of potential modifications. This stage teaches students what variables are, using the most basic capabilities of setting and using them.

## Objectives

### Students will be able to:

• Assign values to existing variables.
• Utilize variables in place of repetitive values inside of a program.
• Use variables to change values inside of a loop.

## Preparation

Heads Up! Please make a copy of any documents you plan to share with students.

## Vocabulary

• Variable - A placeholder for a piece of information that can change.

# Teaching Guide

## Warm Up (15 min)

### Introduction

This is the first online lesson dealing with variables, so it might be a worthwhile exercise to review the "Envelope Variables" unplugged activity from last time, as well as the vocabulary that was introduced in that lesson.

• What is a variable? (A placeholder for a piece of information that can change.)
• When can a variable be helpful? (When you don't know what information is going to be used in a certain place until runtime, or when you have lots of places that one piece of information will be used, but that information might change someday.)

Ask the class when they could see a variable being helpful in programming. When would they NOT want to use a variable?

If the class seems interested, continue the discussion. Otherwise, move on to one of the bridging activities.

## Bridging Activity - Variables (15 min)

This activity will help bring the unplugged concepts from "Envelope Variables" into the online world that the students are moving into. Choose one of the following to do with your class:

### Unplugged Activity Using Paper Blocks

Start with a sentence or paragraph on the board that contains at least one (and up to five) named blanks. Give paper blocks to each student group. Challenge each group to "set" their variables for each blank. Call on different student groups to share their assignment of each variable and see what happens!

Now, change the sentence to a math equation. What happens to the sentence "X + Y =" when students assign different values to the variables X & Y?

### Preview of Online Puzzles as a Class

Display a puzzle to the class. We recommend the 3rd puzzle. Build the code the long way first (use exact numbers for each value, instead of utilizing variables) then suggest that you should try making the squares only 50 pixels. What a pain! What have students learned that will let them give something a name and use it as often as they want later in the program? Go back and add a variable to the beginning. Set the variable to 80, and substitute all occurrences of 80 in the program. Next, change it to 50. That was easy!

## Main Activity (30 min)

### Course F Online Puzzles - Website

Notice that this stage first covers the idea of a variable as a constant (a variable that you use in many places, but it does not change.) Once that idea has been presented, it flips to show how you can include a variable for information that changes after the program is run.

Watch out for puzzle #5. It is the first time that students will be expected to set a variable on their own. This can be tricky if they don't have a true grasp on the concept. If they're having trouble, send them back to the prediction level (#4) and have them explain to their partners why the answer ended up what it was. Once both partners are convinced, let them continue back to puzzle #5.

## Wrap Up (15 min)

### Journaling

Having students write about what they learned, why it’s useful, and how they feel about it can help solidify any knowledge they obtained today and build a review sheet for them to look to in the future.

#### Journal Prompts:

• What was today’s lesson about?
• How did you feel during today’s lesson?
• What is a variable? Why is it helpful in programming?
• How well do you think you understand variables? (Answer on a scale from 1-5 or with an emoticon.) If you're having troubles, can you put into words what you don't understand?

## Standards Alignment

#### CSTA K-12 Computer Science Standards

AP - Algorithms & Programming
• 1B-AP-09 - Create programs that use variables to store and modify data.
• 1B-AP-11 - Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.

## Cross-curricular Opportunities

This list represents opportunities in this lesson to support standards in other content areas.

#### Common Core English Language Arts Standards

L - Language
• 5.L.6 - Acquire and use accurately grade-appropriate general academic and domain-specific words and phrases, including those that signal contrast, addition, and other logical relationships (e.g., however, although, nevertheless, similarly, moreover, in addition).
SL - Speaking & Listening
• 5.SL.1 - Engage effectively in a range of collaborative discussions (one-on-one, in groups, and teacher-led) with diverse partners on grade 5 topics and texts, building on others’ ideas and expressing their own clearly.
• 5.SL.1.a - Come to discussions prepared, having read or studied required material; explicitly draw on that preparation and other information known about the topic to explore ideas under discussion.
• 5.SL.4 - Report on a topic or text or present an opinion, sequencing ideas logically and using appropriate facts and relevant, descriptive details to support main ideas or themes; speak clearly at an understandable pace.
• 5.SL.6 - Adapt speech to a variety of contexts and tasks, using formal English when appropriate to task and situation.

#### Common Core Math Standards

G - Geometry
• 5.G.2 - Represent real world and mathematical problems by graphing points in the first quadrant of the coordinate plane, and interpret coordinate values of points in the context of the situation.
• 5.G.3 - Understand that attributes belonging to a category of two- dimensional figures also belong to all subcategories of that category. For example, all rectangles have four right angles and squares are rectangles, so all squares have four right angles.
MP - Math Practices
• MP.1 - Make sense of problems and persevere in solving them
• MP.2 - Reason abstractly and quantitatively
• MP.6 - Attend to precision
• MP.7 - Look for and make use of structure
• MP.8 - Look for and express regularity in repeated reasoning
NBT - Number And Operations In Base Ten
• 5.NBT.5 - Fluently multiply multi-digit whole numbers using the standard algorithm.

#### Next Generation Science Standards

ETS - Engineering in the Sciences
ETS1 - Engineering Design
• 3-5-ETS1-1 - Define a simple design problem reflecting a need or a want that includes specified criteria for success and constraints on materials, time, or cost.