A Mathematical-Algorithmic Approach To Sets: A Case Study.
Judith Gal‐Ezer, Orna Lichtenstein · Mathematics and computer education · 1997
The aim of this paper is to show, by means of a mathematical example, how algorithmic thinking and mathematical thinking complement each other, and how an algorithmic approach leads to questions that deepen the understanding of mathematical material by students. Following influential scientists like Knuth, Ralston and Maurer, we think that the cultivation of algorithmic thinking a main and natural component of the computer science curriculum, is also a central part of mathematical education. We believe that interweaving mathematical thinking and algorithmic thinking, will constitute a crucial contribution to the students’ education. Introduction It is often difficult to draw precise boundaries between disciplines, and it is even harder when it comes to mathematics and computer science: Is computer science a branch of mathematics? Is algorithmics, the central part of computer science merely a branch of mathematics? Is mathematics perhaps a branch of computer science? We will not go into these issues, which have been thoroughly discussed by Knuth in [K1], for example. We will only mention that valid arguments can be made for either propositions. However, and despite what has been just said, artificial boundary lines are drawn between these two disciplines in school and university mathematics or computer science study programs. We want to try to remove these artificial boundary lines, and demonstrate how algorithmic thinking and mathematical thinking can be integrated either in the mathematics curriculum or in the computer science curriculum. Algorithmic thinking and mathematical thinking have been discussed by mathematicians and computer scientists such as Knuth, Maurer and Ralston [K2,M,MR]. Knuth for example, sums up the common features shared by algorithmic thinking and mathematical thinking in a table. These include formula manipulation, representation of reality, reduction to simpler problems, abstract reasoning, information structures and detailed descriptions of algorithms. He also points out that while mathematical thinking deals with infinity and algorithmic thinking does not it ignores completely issues such as computational “cost”, which is always one of the concerns of algorithmic thinking. Algorithmic thinking encourages learners to construct a solution, prove its correctness, and analyze its complexity. This contributes to the understanding of problem solving, and therefore has pedagogical value, as emphasized by Knuth in [K1]: “... a person does not really understand 1 The Open University of Israel, e-mail: [email protected] 2 Center for Technological Education, Israel, e-mail: [email protected]