Guess-Check-Generalize and the Scrubbing Calculator

Several other blogs have been talking about Bret Victor’s Kill Math website, including its Scrubbing Calculator.  I’d like to talk about how the Scrubbing Calculator is both very similar to and very different from an approach to solving word problems we call “Guess-Check-Generalize”.  Here’s a graphic from a sample problem solved Scrubbingly.

The challenge is to find the height of each bar, given the information about other heights.  When I first taught Algebra 1, my approach to this would be to get students to “translate” the problem into algebra, trying to get them to write an equation that would be true for the right height.  And the results were a mixed bag, for a lot of reasons that might be good for a different post.  I think there’s something inherently challenging about trying to write a fully symbolic statement immediately from a problem situation.

The concept of guess-check-generalize starts by changing the nature of the problem.  The question to start with changes:

from What is the correct bar height? …

to Is 100 the correct bar height?

Here, 100 could have been any number at all, it’s a total guess.  (Some teachers using this method ask students to write down their first guess before even presenting the problem, since students may be afraid to guess incorrectly.)

Now we see if the guess is right.  Up until now, I agree completely with the philosophy of the Scrubbing Calculator: make a guess at the bar height, then see if it’s right.  This is where things get interesting, because there’s more than one way to check the guess.  The most conventional way is to add up the heights on the right side, and a student might do this:

60 + 100 + 20 + 100 + 20 + 100 + 20 + 100 + 20 + 100 + 20 + 100 + 20 + 100 + 20 + 100 + 20 + 100 + 140 = nope

It doesn’t actually matter what that equals, as long as it doesn’t equal 768.  Guess-check-generalize is about determining a process you can use to check any guess; then, the process you’ve described becomes an equation to solve.  And the process can evolve from one guess to another, as students realize they’ve used the same number 8 times or that this thing is twice that thing.

So 100 was wrong; take a second guess.  It doesn’t have to be a better guess, because you’re not trying to nail the numeric answer, you’re trying to nail the process of checking a guess.  Let’s guess 36.  Checking this guess a student might notice they could combine some terms from before:

60 + (9 \cdot 36) + (8 \cdot 20) + 140 = 684, \text{nope}

No more guessing.  The third guess is h, a variable.  (Students may need more guesses, especially at first; eventually some only need one or zero guesses.)  Take all the places the guess was found and replace them with the variable, noting that the correct guess yields 768:

60 + (9 \cdot h) + (8 \cdot 20) + 140 = 768

Solving that equation and bringing the answer back into context are still issues, but I always found the largest difficulty with the dreaded “word problem” is an inability to take the situation and make a mathematical statement about it.  When almost every real mathematical situation an adult encounters is a “word problem”, this is a major issue that needs to be addressed.

Here’s why I think guess-check-generalize is a good way of dealing with word problems.

  • The method is general in nature.  The method presented here works equally well for linear and nonlinear situations, for problems with a variable on each side of the equation, for rates, coin values, painting houses, counting beans, whatever.  This is a general-purpose tool that is useful over many years, including some surprising topics like generating the equations of lines and circles.  (More on this some other time.)
  • This is what people do with problems.  When a problem is new or overly complicated, picking a few cases and following them through leads to an understanding of what happens in general.  Traditional word problem methods expect students to have the generalization at the ready, and it just doesn’t work that way in reality.  The concept of generalizing from repeated example is a fundamental one that all students should learn, not just those heading into STEM careers.
  • Students have a simple place to start from.  By asking students to guess at the answer, the difficulty level of word problems can be reduced by 2 or 3 grade levels immediately.  Students with language difficulty can learn what is happening by calculating with numbers, connecting the new language to the calculations they know, then advancing to symbols when appropriate.
  • There are no black boxes.  Students construct equations and can understand where they come from.  Multiple equations with the same answer can be found from different techniques used on the same problem, leading to good discussions about the basic moves of algebra and how different equations and formulas are related.
  • Connections between arithmetic and algebra are reinforced.  Bret Victor says this: “We are accustomed to assuming that variables must be symbols. But this isn’t true — a variable is simply a number that varies.”  I’d like this to change.  Too many students only see variables as symbols for manipulation, and not as numbers that vary.  Students make mistakes with variables they would never make with numbers.  When this happens, it is because they don’t see that the symbol represents a number.  Since arithmetic is at the heart of guess-check-generalize, students are asked to solidify their number skill and sense.  Students begin to guess “nice” numbers, like a multiple of 3 when they see that dividing by 3 will be part of the process.

It is on this last point that I disagree deeply with the philosophy of the Scrubbing Calculator; students don’t really do any of the calculating.  In the end, a student might see that the answer produced by Scrubbing works, but if there is more than one answer, there’s no way for a student to discern this.  If the problem changes slightly from its original form (say, to a 1024-high screen), the Scrubbing solution method is to start from scratch, which doesn’t help students generalize toward functions and formulas (in this case, a relationship between the screen height and the bar height).

What if the correct answer to the equation is \sqrt 2 or even \frac 2 3?  I don’t see how the Scrubbing Calculator could get these answers.  I agree that too many students don’t see the real meaning of a variable, but this is no reason to ditch symbolic algebra, this is a reason to make the connections between arithmetic and algebra as strong as possible, as often as possible.

The Scrubbing Calculator’s method is an opportunity for students to make deep connections between arithmetic and algebra, between real problems and symbolic algebra.  I’m disappointed that its intended purpose is to remove symbolic algebra altogether, because it could be pretty cool.  What do you think?

For homework, solve this problem using guess-check-generalize or come up with a better one.  No scrubbing, please!

Nancy takes a long car trip from Boston.  In one direction she drives at an average speed of 60 miles per hour, and in the other direction she drives at an average speed of 50 miles per hour.  She’s in the car a total of 38 hours for the round trip.  How far from Boston was her destination?  (Bonus: what city did she drive to?)

Advertisements

Induction through Failure

I was inspired by a recent post from Ben Blum-Smith about induction to talk about an approach to induction I learned from Al Cuoco.  I don’t know its origins, but it really does a nice job of dealing with the issue Ben brings up: you assume you’re right then prove it.  But if you’re already right, why prove it?

Our curriculum (CME Project Precalculus Investigation 4A, for those playing at home) ties induction to the process of finding closed-form rules to match recursive definitions, such as this one:

f(n) = f(n-1) + 5, f(0) = 3

What is f(23)?  All the formula says is that f(23) = f(22) + 5, so that’s no good… except that it is, since now you do the same thing to f(22), eventually working your way back to the “base case”.  This actually works out pretty nicely:

f(23) = f(22) + 5

= [f(21) + 5] + 5

= f(20) + 5 + 5 + 5

\vdots

= f(0) + 5 + 5 + \cdots + 5

But how many fives?  Why is chasing it all the way back to f(0) a good idea?  What would change with f(117)? with f(n)?  This works to find closed-form rules for recursions surprisingly often.

Another way to find f(23) is to count off outputs: f(1), f(2), \dots until you reach 23.  More likely, you’ll figure out a pattern to the outputs before you get there… 3, 8, 13, 18…

So now you’ve got these two rules:

f(n) = f(n-1) + 5, f(0) = 3 \qquad \text{and} \qquad g(n) = 5n + 3

If I want to prove these two rules will always agree (whenever f is defined, anyway) it’s time for induction.  Before that, we really want to be sure the rules agree.  This is where technology comes in: using Excel or the TI-Nspire or several other tools, these functions can be entered then compared.  (For the Nspire, see page 3 of this document for an example.)  Now use the technology to compare f(23) and g(23) … f(500) and g(500) … f(100000) and g(100000).

No matter what piece of technology you use, at some point it is going to stop saying that these two functions agree.  (On Nspire hardware, this happens somewhere around 100, but depends on the device’s memory.)  Say for example that the technology agrees that f(105) = g(105) but f(106) is undefined.  How could you show that f(106) = g(106) anyway?

By doing this, the “induction step” process is one that actually happens with a numeric value.  So let’s work this one out… evaluating f(106) fails, but we know from its definition that

f(106) = f(105) + 5

Oh and we also know that f(105) = g(105), because the functions agreed up to that point.  So:

f(106) = g(105) + 5

= (5 \cdot 105 + 3) + 5

= 5 \cdot 106 + 3

= g(106)

The induction step happens naturally, based on the failure of the technology, and based on a numeric example.  (Now, try to show that f(107) = g(107)…)

The steps taken above also evolve quickly into a general argument for f(n) simply by using n instead of 106, and noting that 105 should be (n-1).

f(n) = f(n-1) + 5

= g(n-1) + 5

= (5(n-1) + 3) + 5

= 5n + 3

= g(n)

And, boom goes the dynamite.

I feel this method does a nice job of dealing with the “proving what you know to be true” issue that surrounds induction.  This method can also help with some of the issues around base cases, because it encourages the checking of several cases before trying to complete an inductive proof.  Lastly, the extension from the numeric calculation of f(106) to the algebraic calculation of f(n) lines up well with one of Common Core’s mathematical practices, “Look for and express regularity in repeated reasoning“.  After all, that’s what induction is all about…