14

Course 3 | Lesson 14

Bee: Debugging


Lesson time: 30 Minutes

Lesson Overview

Debugging is an essential element of learning to program. In this lesson, students will encounter puzzles that have been solved incorrectly. They will need to step through the existing code to identify errors including missing blocks, extra blocks, and misordered blocks.

Teaching Summary

Getting Started

Introduction

Activity: Bee: Debugging

Bee: Debugging

Extended Learning

Extension Activities

Lesson Objectives

Students will:

  • Predict where a program will fail
  • Modify an existing program to solve errors
  • Identify an algorithm that is unsuccessful when the steps are out of order
  • Reflect on the debugging process in an age-appropriate way

Getting Started

Introduction

Ask students about problems they solve in everyday life.

  • How do you fix something that isn't working?
  • Do you follow a specific series of steps?
  • The puzzles in this unit have already been solved for you (yay!), but they don't seem to be working (boo!)
  • We call the problems in these programs "bugs," and it will be your job to "debug" them.
  • Brainstorm different ways to find and fix bugs.

Activity

Bee: Debugging

As your students work through the puzzles, observe how they search for bugs. Identify different strategies used and ask students to share with the whole class. This helps students to recognize that there are many ways to approach these problems. Have students follow the path described by the code with their fingers to find potential bugs.

Extended Learning

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

Planting bugs

Have students go back through previous levels, purposfully adding bugs to their solutions. They can then ask other students to debug their work. This can also be done with paper puzzles.

Connections and Background Information

PARCC / Smarter Balanced Assessment Skills

  • Click / tap
  • Drag and drop
  • Select object
  • Use video player

ISTE Standards (formerly NETS)

  • 1.a - Apply existing knowledge to generate new ideas, products, or processes.
  • 1.c - Use models and simulation to explore complex systems and issues.
  • 4.b - Plan and manage activities to develop a solution or complete a project.
  • 4.d - Use multiple processes and diverse perspectives to explore alternative solutions.
  • 6.a - Understand and use technology systems.
  • 6.c - Troubleshoot systems and applications.
  • 6.d - Transfer current knowledge to learning of new technologies.

CSTA K-12 Computer Science Standards

  • CL.L1:3-02. Work cooperatively and collaboratively with peers teachers, and others using technology.
  • CT.L1:3-01. Use technology resources (e.g., puzzles, logical thinking programs) to solve age appropriate problems.
  • CT.L1:6-01. Understand and use the basic steps in algorithmic problem-solving.
  • CPP.L1:6-05. Construct a program as a set of step-by-step instructions to be acted out.
  • CPP.L1:6-06. Implement problem solutions using a block-based visual programming language.
  • CT.L2-01. Use the basic steps in algorithmic problem solving to design solutions.
  • CT.L2-06. Describe and analyze a sequence of instructions being followed.
  • CT.L2-08. Use visual representations of problem states, structures, and data.
  • CT.L2-12. Use abstraction to decompose a problem into sub problems.
  • CT.L2-14. Examine connections between elements of mathematics and computer science including binary numbers, logic, sets, and functions.
  • CT.L3A-03. Explain how sequence, selection, iteration, and recursion are building blocks of algorithms.

Next-Gen Science Standards

  • 3-5-ETS1-2. Generate and compare multiple possible solutions to a problem based on how well each is likely to meet the criteria and constraints of the problem.

Common Core Mathematical Practices

  • 1. Make sense of problems and persevere in solving them.
  • 2. Reason abstractly and quantitatively.
  • 4. Model with mathematics.
  • 5. Use appropriate tools strategically.
  • 6. Attend to precision.
  • 7. Look for and make use of structure.
  • 8. Look for and express regularity in repeated reasoning.

Common Core Math Standards

  • 3.OA.3 - Use multiplication and division within 100 to solve word problems in situations involving equal groups, arrays, and measurement quantities.
  • 4.NBT.B.4 - Fluently add and subtract multi-digit whole numbers using the standard algorithm.
  • 5.NBT.B.5 - Fluently multiply multi-digit whole numbers using the standard algorithm.

Common Core Language Arts Standards

  • L.3.6 - Acquire and use accurately grade-appropriate conversational, general academic, and domain-specific words and phrases, including those that signal spatial and temporal relationships.
  • L.4.6 - Acquire and use accurately grade-appropriate general academic and domain-specific words and phrases, including those that signal precise actions, emotions, or states of being and that are basic to a particular topic.
  • L.5.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.