Lesson 12: If/Else with Bee

Overview

Up until this point students have been writing code that executes exactly the same way each time it is run - reliable, but not very flexible. In this lesson, your class will begin to code with conditionals, allowing them to write code that functions differently depending on the specific conditions the program encounters.

Purpose

After being introduced to conditionals in "Conditionals with Cards," students will now practice using them in their programs. The if / else blocks will allow for a more flexible program. The bee will only collect nectar if there is a flower or make honey if there is a honeycomb. Students will also practice and recognize a connection between if / else blocks and while loops in this set of puzzles.

Agenda

Warm Up (10 min)

Bridging Activity - Conditionals (15 min)

Main Activity (30 min)

Wrap Up (15 min)

Extended Learning

View on Code Studio

Objectives

Students will be able to:

  • Translate spoken language conditional statements into a program.
  • Solve puzzles using a combination of looped sequences and conditionals.

Preparation

  • Play through the puzzles to find any potential problem areas for your class.
  • Make sure every student has a journal.

Links

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

For the Students

Vocabulary

  • Conditionals - Statements that only run under certain conditions.

Support

Report a Bug

Teaching Guide

Warm Up (10 min)

Introduction

Review the "Conditionals with Cards" activity with your students.

  • What is a conditional statement?
  • When is a conditional useful?
  • What are some of the conditions you used in the last activity?

Now we're going to use conditionals with the Code.org bee to help him deal with some mysterious clouds. We don't know if his flowers have nectar or not, so we'll need to use conditionals to make sure that we collect nectar if it's there, but that we don't try to collect nectar from a flower that doesn't have any.

Bridging Activity - Conditionals (15 min)

This activity will help bring the unplugged concepts from "Conditionals With Cards" 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

Print and cut out 2-3 if / else and blank action blocks from Unplugged Blocks (Courses C-F) - Manipulatives and pull out a deck of cards. Ask the class to come up with a couple of conditionals to use with the deck of cards like they did in "Conditionals with Cards." When the conditionals have been decided on as a class, fill in the blank part of the if block with the various card values that the kids came up with. Examples include "King of Hearts", "Even Numbered", or "Diamonds". Fill in the action blocks with the actions the students came up with. Make sure the students know the action blocks need to be directly under the if or else block. Below is an example.

Now shuffle the deck of cards and play "Conditionals with Cards" again. Flip through the deck card-by-card, reacting to cards if a conditional has been made for it.

Preview of Online Puzzles

Pull up a puzzle from this lesson, we recommend puzzle 9.

  • Ask the class what the bee should do when it gets to the cloud.
    • The bee should use a conditional to check for a flower or a honeycomb.
  • Use the if at flower / else block. Ask the class what the bee should do if there's a flower. If there's not a flower, there will be a honeycomb. What should the bee do then?
    • The bee should get nectar if there is a flower and make honey if there is a honeycomb.

Fill in the rest of the code and press Run. Discuss with the class why this worked.

Main Activity (30 min)

Online Puzzles

These puzzles might sprout some questions, so have the students work in pairs or implement the "Ask three before you ask me" rule (have the students ask three other peers for help before they go to the teacher.) This will spark discussions that will develop each student's understanding.

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 today's lesson make you feel?
  • What conditionals did you use in your code today?
  • What are some other conditionals a bee might use? Examples include:
    • if there is a tree in front of me, buzz out of the way
    • if my wing is hurt, rest on the ground
    • if I see another bee, say "Hello!"

Extended Learning

Use these activities to enhance student learning. They can be used as outside of class activities or other enrichment.

True/False Tag

  • Line students up as if to play Red Light / Green Light.
  • Select one person to stand in front as the Caller.
  • The Caller chooses a condition and asks everyone who meets that condition to take a step forward.
    • If you have a red belt, step forward.
    • If you are wearing sandals, take a step forward.
  • Try switching it up by saying things like "If you are not blonde, step forward."

Nesting

  • Break students up into pairs or small groups.
  • Have them write if statements for playing cards on strips of paper, such as:
    • If the suit is clubs
    • If the color is red
  • Have students create similar strips for outcomes.
    • Add one point
    • Subtract one point
  • Once that's done, have students choose three of each type of strip and three playing cards, paying attention to the order selected.
  • Using three pieces of paper, have students write three different programs using only the sets of strips that they selected, in any order.
    • Encourage students to put some if statements inside other if statements.
  • Now, students should run through all three programs using the cards that they drew, in the same order for each program.
    • Did any two programs return the same answer?
    • Did any return something different?
  • Conditionals: If Statements
  • 1
  • (click tabs to see student view)
  • Prediction
  • 2
  • (click tabs to see student view)
View on Code Studio

Student Instructions

The cloud is blocking the view. There could be a flower under this cloud. If there is a flower, the bee will need to collect nectar once. If there is not a flower the bee should do nothing. Take a good look at the code below. What do you think will happen after you click "Run"?

The bee will move to the cloud and try to get nectar, no matter what.

The bee will move to the cloud and only try to get nectar if there is a flower underneath.

The bee will move to the cloud and then do nothing, no matter what.

I don't know.

View on Code Studio

Student Instructions

More clouds!

Check underneath every cloud to see if it is hiding a flower before you get nectar. If there is a flower underneath the cloud, the bee will need to get nectar once.

Remember: Not all clouds hide the same thing!

View on Code Studio

Student Instructions

You can only collect nectar from flowers, but you can check any space to see if there is a flower. If there is a flower under any of these clouds, the bee will need to collect nectar once.

View on Code Studio

Student Instructions

In this puzzle, we know that every flower has exactly one nectar, but the flowers aren't spaced evenly.

Get all of the nectar using as few blocks as possible.

View on Code Studio

Student Instructions

View on Code Studio

Student Instructions

"Now I just want to make honey."

Some of these clouds might have honeycombs under them. Be sure to check if a honeycomb is hiding behind each cloud! If there is a honeycomb, the bee will only need to make honey once.

  • Conditionals: If and If/Else Statements
  • 8
  • (click tabs to see student view)
  • Practice
  • 9
  • (click tabs to see student view)
View on Code Studio

Student Instructions

Sometimes a cloud covers a flower, sometimes it covers a honeycomb!

Use the ifelse block to collect nectar at flowers and make honey at honeycomb. Remember: if there is a flower, the bee only needs to get nectar once. If there is a honeycomb, the bee only needs to make honey once.

  • Prediction
  • 10
  • (click tabs to see student view)
View on Code Studio

Student Instructions

Look carefully at the code below. What do you think will happen after you click "Run"? Remember: there will only ever be one honeycomb or one flower behind each cloud.

The bee will get nectar at each flower and make honey at each honeycomb.

The bee will try to get nectar from both flowers and honeycomb.

The bee will try to get honey from both flowers and honeycomb.

I don't know.

  • Challenge
  • 11
  • (click tabs to see student view)
View on Code Studio

Student Instructions

Challenge: There will be either a flower or a honeycomb under each of those clouds!

Collect nectar once if there is a flower. Otherwise, make honey once (because there is a honeycomb).

  • Practice
  • 12
  • 13
  • (click tabs to see student view)
View on Code Studio

Student Instructions

Collect all of the nectar or make all the honey. You can only collect nectar from flowers and make honey from honeycombs. Check any space to see if there is a flower or honeycomb. There will only ever be one flower or one honeycomb behind each cloud.

View on Code Studio

Student Instructions

Conditionals can be helpful, even when you know exactly what is in each spot!

Collect all of the nectar and make all of the honey.

View on Code Studio

Student Instructions

Collect all of the nectar and make all of the honey. You can only collect nectar from flowers and make honey from honeycombs. Check every space to see if there is a flower or honeycomb.

View on Code Studio

Student Instructions

Collect all of the nectar and make all the honey. You can collect all of the nectar in one flower by using the while nectar > 0 loop.

Standards Alignment

View full course alignment

CSTA K-12 Computer Science Standards (2017)

AP - Algorithms & Programming
  • 1B-AP-11 - Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.