What comes to mind when we hear the word algorithm? We may think of it as a procedure, an efficient method, or a rule for computation. From our own formal school experiences, we may recall pages of skill drill and practice, or lengthy efforts to accomplish rote memorization. Those of us fortunate enough to have experienced and understood the power of an algorithm may recognize its usefulness as a problem-solving tool. For those of us who have learned algorithms without meaning and understanding, practicing algorithms reinforces the view that the imposition of methods, rules, and procedures will ensure the accuracy and efficiency of computation and symbol manipulation.
The instructional implications of the research literature on learning related to acquiring conceptual/meaningful knowledge and procedural/mechanical knowledge can be described from several different perspectives. From one point of view, teachers are advised to build understandings before presenting an algorithm (Brownell 1987; Driscoll 1981; Fehr 1988). The intent is to balance the logic of the algorithm with its use, recognizing that one without the other leaves the learner at a disadvantage. In contrast, another position suggests that the relationship between conceptual and procedural knowledge is so complex that for the most part, developing conceptual knowledge does not guarantee the acquisition of related procedures (Baroody and Ginsburg 1986; Silver 1986). From this perspective, designing instructional tasks to support the development of conceptual and procedural knowledge in tandem is a challenge. From still another point of view, we as teachers are advised to suspend the "show and tell" method so that children may invent their own rules and algorithms (Kamii and Lewis 1993). Those taking this approach would expect that children will draw on their prior experiences and understandings to create and construct their own rules through the processes of observing and analyzing mathematical relationships.
What we as teachers share with these approaches is a concern that students develop an understanding of a core of necessary and useful algorithms in a timely way. We also share with these approaches a belief that understanding an algorithm, either its logic or the sequence of the procedural steps, leads to a more secure mastery than simple rote memorization. Since time in school is insufficient for students to build all the mathematical algorithms required to progress through the mathematics curriculum outlined for the school years, it seems wise to find an approach that balances invention with the development of traditional and alternative algorithms to foster students' understanding. In the interest of balance, students need opportunities to experience the inventiveness of mathematics - getting a feel for creating a method, rule, or procedure by discussing and analyzing patterns and relationships, recognizing consistencies, and formulating conjectures and generalizations. In this way, they can develop and appreciate the power of mathematical thinking at each new level of their understanding.
Algorithms have an important place in the mathematics curriculum. Consequently, issues surrounding the teaching of algorithms focus not on whether to teach them but rather on balancing and connecting the development of algorithmic thinking involving inventions with the more traditional and standard algorithms that permeate the curriculum. Most of the strategies for teaching conventional algorithms tend to be traditional, shaped by years of practice and guided by widely used teacher manuals accompanying school-mathematics-program textbooks and workbooks. We are much more tentative in using strategies that support the process of generating initial rules of relationship leading to fully defined and useful algorithms. Our knowledge and understanding of the mathematics embedded in an algorithm and our knowledge about how algorithmic thinking manifests …