# ALEX Classroom Resource

## Bug in the Water Cycle

Classroom Resource Information

Title:

Bug in the Water Cycle

URL:

https://www.barefootcomputing.org/resources/bug-in-the-water-cycle

Content Source:

Other
Barefoot Computing
Type: Lesson/Unit Plan

Overview:

In this activity, pupils are challenged to detect and correct the error in a number of water cycle programs (debugging). They use logical reasoning to do this, comparing what the program should do with what it does do, and systematically homing in on the error (bug) by ‘thinking through’ the code in the program.

PUPIL OBJECTIVES:
I can use logical reasoning to debug a program.
I can explain how I debugged a program.

TEACHING ASSESSMENT OPPORTUNITIES:
Informal teacher assessment of pupils as they tackle the debugging challenge: focus on pupils’ logical approach and ability to explain the bugs they found, why they are bugs and how they corrected them.
Summative assessment of pupils’ debugging challenge sheets.

Content Standard(s):
 Digital Literacy and Computer Science DLIT (2018) Grade: 3 4) Examine logical reasoning to predict outcomes of an algorithm. Unpacked Content Evidence Of Student Attainment:Students will: examine logical reasoning. predict the possible outcomes of an algorithm.Teacher Vocabulary:logical reasoning outcome algorithmKnowledge:Students know: to apply logical reasoning when predicting outcomes of algorithms. strategies to examine logical reasoning to predict outcomes of an algorithm.Skills:Students are able to: determine possible outcomes of an algortihm. recognize that an algorithm can have multiple outcomes.Understanding:Students understand that: logical reasoning is necessary when predicting outcomes of an algorithm. algorithms can have multiple outcomes. Digital Literacy and Computer Science DLIT (2018) Grade: 3 7) Test and debug a given program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs, in collaboration with others. Examples: Sequencing cards for unplugged activities, online coding practice. Unpacked Content Evidence Of Student Attainment:Students will: test a given program in a blockbased visual programming environment using arithmetic operators, conditionals, and repetition in programs. debug a given program in a blockbased visual programming environment using arithmetic operators, conditionals, and repetition in programs. collaborate with others.Teacher Vocabulary:test debug program block-based visual programming environment arithmetic operators conditionals repetitionKnowledge:Students know: strategies for debugging a given program. arithmetic operators create a single numerical solution from multiple oprations. conditionals are "if, then" statements that direct the program.Skills:Students are able to: test a given program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs, in collaboration with others. debug a given program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs, in collaboration with others.Understanding:Students understand that: a given program must be tested and debugged to run correctly. block-based visual programming uses arithemetic operators, conditionals, and repetition to function. Digital Literacy and Computer Science DLIT (2018) Grade: 4 4) Detect and debug logical errors in various basic algorithms. Example: Trace the path of a set of directions to determine success or failure. Unpacked Content Evidence Of Student Attainment:Students will: examine basic algorithms and determine where errors may exist.Teacher Vocabulary:detect debug logical errors algorithmsKnowledge:Students know: strategies to detect logical errors in various basic algorithms. strategies to debug or repair logical errors in various basic algorithms.Skills:Students are able to: detect and debug logical errors in various basic algorithms.Understanding:Students understand: how to detect and debug logical errors in various basic algorithms. strategies to detect and debug logical errors in various basic algorithms.
Tags: debug, logical reasoning, problem solving, scratch