Wednesday, 12 November 2014

What is Wrong with an Algorithm?

Nothing! Yes I said nothing! Let me elaborate.

In conversation today I was asked, "What is wrong with an algorithm?"  I get this question a lot. Now this question was asked because like us all we were taught to do an algorithm so we always do what is familiar for us. The question also came about because they were afraid of teaching their child the wrong way.

This inspired me to write this blog post. There is nothing wrong with learning an algorithm; there are some risks in only learning this but there is nothing wrong.

An algorithm was first invented in order to make math easier to do. We have to remember that calculators were not invented at this time and may people were using abacuses and basically counting by ones or a base 16 system. With the use of an algorithm counting became procedural and easier to do.  However, those using it understood mathematical foundations of why the algorithm worked.

This is the problem with introducing the algorithm to early. Let's just reflect on our own understanding of basic addition. We honestly did not learn how to add by using an algorithm first and to be fair our first insistence of remembering an algorithm (at least in my guess) was probably around grade three maybe four. This means that for four-five years, depending if you were in the pre-school or JK error you had a lot of experimentation and exploring in counting, saying numbers, ordering numbers and subitizing.  The problem is that we often forget all of the steps it took us in learning an algorithm.

For the past ten years I have been looking closely at how students learn mathematics. One of the foundation research pieces have been Fosnot and Dolk's landscape of Learning (2000). (full file)



I know that the picture is small but you can see all of the learning that a student has to go through in order to get to an understanding of algorithms.

Now here is my problem with starting with algorithms to early:

1) It doesn't teach proper number sense:

Now you may question me on this but in my honest opinion it doesn't teach proper number sense. The problem is that when a person does an algorithm it forces you to only look at numbers from 1-9. There is no true understanding of our base ten system. Students do not really understand why or how 1 group of ten can be ten things yet 1 ten. This is often seen when you ask a student tell you the value of a two digit number (let's say 24). When you point to the ten's column they will say the value is two. They will even go as far as counting 24 objects then pulling two of them to signify the value. This can also be seen when students use base ten blocks and they count the rods as two instead of twenty.

2) Basic procedural errors:


Now these errors may be dismissed as, they just have to learn the proper procedure. However, these are troubling errors because students not only are procedurally doing the operations wrong they are also struggling with reason-ability of answers or what I like to call no number sense.  

What I propose instead:

In my math class we work hard on developing a number line.  Learning this strategy does a lot of things: 

1) It allows all students to grasp a strategy whether they are counters by one or able to skip count proficiently. 

2) It teachers all of the rudimentary learning of number sense. Students learn one to one tagging, cardinality, subitizing, magnitude and many more options all in one strategy.

3) Eventually they develop more proficient mental strategies because they can conceptually understand what is happening to the numbers.

4) There is no need to regroup and or borrow with a number line, just the use of number sense.  I find this to be the biggest problem with algorithms. For example, let's take 56-49=7. Now for many of us we may not need to use an algorithm but ask your child or a younger student they will start by borrowing from the 5 (not fifty) to make 16 because you cannot take 6 from 9 (which we also no is not true-- ask anyone in debt or who has a mortgage) and then they will realize the answer is five. However, if students are taught proper number sense, they realize that they can just count up to the answer.

A number line also develops efficient mental math strategies that are far faster then whipping out a piece of paper and borrowing or regrouping.  Take a look at some of my grade twos thinking (all done 


By allowing my students to explore, question and develop their number sense they are better mathematicians and yes we have discussed an algorithm, we have developed an understanding of how to use it but my students make less mistakes with a number line then with an algorithm. And to be honest they much prefer the number line then the algorithm, most of the time they do this because that is what they think they need to do.

One of the biggest problems in our math programs today is that we often jump to far into the abstract without thinking about the concrete work that people need to develop in order to understand these concepts.

What do you think? When and where should algorithms be taught? How do you develop number sense? Love to hear your thoughts.

For further reading I recommend reading:

1) Fosnot, C. T., & Dolk, M. L. A. M. (2001). Young mathematicians at work. Portsmouth, NH: Heinemann.

2) Anghileri, J., Beishuizen, M., & Van Putten, K. (2002). From informal strategies to structured procedures: mind the gap!. Educational Studies in Mathematics,49(2), 149-170. 

3) Kami and Dominck: The Harmful effects of Algorithms in 4-9