The purpose of this website is to present animated visual models that run in a web browser and help explain concepts and methods from the elementary math curriculum. (Such models are sometimes called “mathlets”.) Models play much the same role in mathematics that images and ideas play in literature. Unless they are interpreted in terms of mental images, the words in a book are so much nonsense. Unless a mathematical theory can be interpreted in terms of models, the theory is essentially pointless. Models are the means by which we understand theories and the means by which we apply those theories to solve problems.
In presenting a theory to a mathematically mature audience one may sometimes choose to present the theory without reference to its models. The audience will usually accept on faith that the instructor wouldn’t be presenting the theory unless it had interesting models and that the instructor will sooner rather than later provide examples of such models. This audience is familiar with the mathematical process. They know how theories are interpreted as models. They understand the process of deductive reasoning and that the results of that process lead to truths about the corresponding models.
But of course we have no such foundation to build on when we are teaching elementary mathematics. The problem of the teacher in this context is similar to that of the monolith attempting to evolve prehumans to dominate their environment and extend that environment to outer space in Kubrick’s “2001 A Space Odyssey”. The monolith didn’t have a lot to work with. Its “students” had limited language skills and little if any concept of abstract reasoning. The goals were not something that could be met by training the creatures to perform a collection of predefined tricks. As depicted so beautifully in the movie the solution to the problem (see http://www.youtube.com/watch?v=mM6OIlreneA), was to endow the creatures with the ability to see and manipulate images in their minds. It is this ability, which we call “imagination”, that allows us to explore a multitude of possible solutions to problems before actually committing to one. It also allows us to compare the behaviors of a variety of systems and discover patterns across those systems. These patterns become the basis for higher level concepts including the concepts that are the basis for mathematics and reasoning.
Fortunately our students come preendowed with imagination. So our idea is to seed that imagination with images tailored to evoke those patterns that are the basis of the elementary mathematics curriculum. Our hope is that those seeds will grow like the seeds of a crystal as the student observes these patterns in a variety of contexts arising from experience.
This is a long term project. We are beginning at the beginning with the concepts relating to numbers and base ten arithmetic. While the current set of mathlets touch on some of the other Common Core Math Standards (http://www.corestandards.org/Math/Content) the primary focus is on those falling under the “NBT category” (Numbers and Base Ten Operations) for grades K through 3. Even for this modest goal our coverage is far from complete. We will keep plugging away as time and resources permit.
We will be very grateful for any comments and suggestions users may have. We will especially appreciate bug reports (please give as much detail as possible including browser and computing platform), suggestions for improving existing mathlets and ideas for new mathlets. Please send these to dave@CommonCoreMathlets.com.
Though these applets were originally written in Java, I have since converted them to Java Script so that they should run on virtually any browser and platform. The “Base10 Clock” mathlet and other mathlets that use pulleys and belts work best on browsers like the latest Google Chrome browser that have support for “dashed lines”. Since this feature is now part of the W3 spec the other browsers should provide support soon. The mathlets use a screen area of up to 600 x 600 pixels. Each mathlet has a simple set of behaviors and simple UI with a minimal amount of text. The input is all pointerbased (i.e. mouse or touch) and should be easy to figure out because there aren’t that many buttons to try.
Here is a list of categories of mathlets implemented so far with links to the corresponding pages and mathlets. Clicking on the heading for each category takes you to a guide to the mathlets in that category.
Below this list we make some additional remarks regarding the intended use of the mathlets and future projects. Below that we present some articles and discussions that are indicative of our philosophy of elementary mathematics education and education in general.
Place Value and Base Ten
Counting
Addition as Continued Counting
· Three Place Compound Borrowing Subtraction
· Four Place Compound Borrowing Subtraction
Skip Counting and
Multiplication
· Fraction Wheel Multiplication
· Addition
·
Composing Three
Machines: Associate Left
·
Composing Three
Machines: Associate Right
·
The Associative
Law of Composition
·
Properties of the Identity Machine:
·
The Compound Inverse
Problem
·
Properties of Inverse
I/O Machines
· Inverse of a Compound I/O Machine.
Of course you are encouraged to use these mathlets in any way you like but here is what I had in mind.
Conceptually, the instructions for each mathlet are the following:
1. Figure out what the mathlet does.
2. Observe the behavior of the mathlet.
3. Look for patterns in the behavior.
4. Articulate those patterns as rules that describe the behavior.
5. Communicate your observations to someone else.
The idea is that as much as possible the students should try to discover the relevant patterns on their own. The reasons should be clear.
· Discovering patterns is fun  certainly much more fun than having them presented.
· Patterns that you discover are far more meaningful than things you are told because you remember not only the thing but the process that led you to discover it which will help you to discover the same and similar patterns elsewhere.
· Observing behavior, finding regularity, and articulating those discoveries is the essence of science.
The process described here requires a high level of mental processing. Our best efforts to create artificial intelligence that can carry out this kind of pattern discovery is extremely limited. But by a fortuitous coincidence this process is exactly what our brains are “prewired” to do. Of course this is not an accident at all. It is a result of millions of years of evolution. Understanding patterns of behavior allows us to predict and control events. Articulating these patterns has allowed us to share and accumulate these discoveries and these capabilities are what has allowed our species to survive and, so far at least, dominate our environment.
In order to illustrate these ideas let us step through some of the place value mathlets.
The first mathlet in this group, Grouping by tens, presents the system in the first image below.

The only active element on the display is the square button labeled “+1”. After a little playing around, the student should discover that clicking this button releases a ball from the top tube while at the same time incrementing the counter next to the top tube. The ball then continues down until it falls into the bottom tube incrementing the counter next to the bottom tube. If we click it again the same thing happens. We have the beginnings of a pattern. Each time the button is clicked a ball is released from the top ultimately falling into the bottom tube and incrementing the counter next to it. (The top tube is replenished after each click.) The second image shows the situation after two clicks. If we continue clicking until the bottom tube is filled to its capacity – 10 – we observe the behavior in the third image. The bottom tube along with its contents is removed from the container labeled “ones” and sent to a box in a container labeled “tens.” At the same time a fresh empty tube is placed in the ones container and the counter is reset to 0. When the tube of ten balls arrives at the tens container the corresponding counter is incremented. The fourth image above shows the configuration after thirty five clicks. At this point we have three tubes containing ten balls each in the tens container and five individual balls in the ones container. The ones counter reads “5” reflecting the number of balls in the ones container and the tens counter reads “3” reflecting the number of groups of ten in the tens container. The counter at the top tracking the total number of clicks reads “35”. We can observe a pattern involving the digits in the total count and the values in the counters. We can continue in this way until we run out of balls, (which happens to occur after ninety nine clicks.)
In the second mathlet, grouping by tens and hundreds, illustrated above, we have extended the system to include a “hundreds” container and counter. In addition we’ve added a “+10” and a “+100” button which allows us to release multiple balls with one click. The first image shows a state after the hundredth ball has been released. The ones container has been cleared out and the tube of ten balls inserted into the tens container causing it to become filled to its capacity of ten tubes causing the box of tubes to be removed and sent to the hundreds. We observe a pattern for the tens container on becoming filled to capacity that is similar to the behavior of the ones container on becoming filled. The only difference is that in the one case we are dealing with individual objects and in the other with groups of objects. By abstracting the concept of “object” to include a group of objects we can recognize these two patterns as instances of the same pattern. This ability to recognize similarity and capture that similarity as an abstract concept is again something our brains are wired to do. Another pattern we can observe here is that of a “cascade of consequences” when the count reaches a multiple of one hundred where the last ball causes the ones container to “carry” which in turn causes the tens container to carry. The third image shows the state after 257 clicks. We observe the correspondence between the digits in the total and number of objects in the containers. In the fourth image we show the result after clicking the “+100” button. We observe that the ones and tens are left in the same state they had before the hundred elements were added.
The same patterns appear in the third mathlet, tokens for groups, except that now we have used tokens to represent groups and groups of groups of objects.
In the sixth mathlet, base 10 clock, we extend the model to account for the digits in the base 10 numeration by representing counters in the form of decimal clocks.






The screen shots above illustrate how we use compound pulleys to model numbers and operations on numbers. A compound pulley consists of two pulleys, generally of different sizes, joined so that they turn together. Each of the pulleys can be connected to another pulley. In our examples the smaller pulley (the black part in the pictures) is always taken to be a fixed unit size. The outer pulley can be of various sizes. The number represented by a pulley is determined by the ratio of the size of the outer pulley to the inner pulley and how the pulley is connected to other pulleys. In our examples the pulley(s) will be driven by the “paddle wheel” in the top left of the images. The paddle wheel can turn one full revolution to the right (addition) or one full revolution to the left (subtraction.) The paddle wheel is connected to an assembly of one or more compound pulleys which is then connected via a pulley of unit size to some “device” which changes state as the unit pulley is turned. In the screens above there are two kinds of devices: a robot moving along a number line and a fraction wheel. When the mathlet starts, the device will be in a state representing “0”. We then view rotations as instructions to the device to change state. One full turn to the right of the unit pulley represents the instruction that causes the device to increase its state by one unit, e.g. move the robot one unit to the right.
We can view a compound pulley as a kind of input/output machine. The input to the machine and the output of the machines are instructions to rotate the unit pulley by some amount and in some direction (right or left). The belt coming from the paddle wheel or some pulley driven by the paddle wheel is called the input belt. In our diagrams the input always comes from the left. The belt which goes out to the right to turn the unit pulley or some other intermediate pulley is called the output belt. The part of the compound pulley attached to the input belt is called the input pulley and the pulley attached to the output belt is called the output pulley.
If the input pulley is the smaller of the two pulleys, as in the first picture immediately above, then the compound pulley will magnify the amount of rotation by the ratio of the output pulley size to the input pulley size. For example, if the output pulley has diameter ten times the diameter of the unit pulley then one rotation of the pulley will result in ten rotations of the unit pulley. If on the other hand the output pulley is the smaller of the two as in the second diagram, then the amount of rotation will be reduced by the ratio of the larger pulley to the smaller pulley. So if the input pulley is ten times the size of the output pulley then it will require ten unit pulley rotations of input to produce one unit pulley rotation of output. In order to represent negative numbers we put a twist in the output belt so that the direction of rotation is reversed  rotations to the right are converted to rotations to the left and vice versa. For example, if we input a unit rotation to the right to the pulley representing 10 then it will produce unit rotations to the left in the unit pulley which will drive the robot 10 units to the left on the number line.
Using real pulleys
While it is difficult to build real pulley systems with exactly specified ratios I believe it would be useful for students to have experience with real pulleys to establish and reinforce their intuitions. A simple way of building simple pulley system:
·
Embed the pegs in a board or other stationary
base several inches apart.
·
Place spools or other cylindrical objects over
the pegs so that they can turn.
·
Mark the pulleys with a zero position so that it
will be possible to count turns and compare rates of turn
You can then connect pairs of pulleys with different ratios
and observe the behavior. One good
exercise would be start to line the pulley up at the start and continue
rotating until the pulleys are lined up again, counting the number of full rotations of each pulley. This will give the ratio of the sizes of the
pulleys which can be verified by measurement.
Note that the fraction computed in this way is reduced and so could be
used to help explain the idea of equivalent fractions and reduced form. Putting a twist in the belt will allow them
to observe that rotations are reversed in that case and connecting 3 pulleys in
sequence with a twist in each will demonstrate that the rotational direction is
preserved, illustrating that “a negative
times a negative is positive.”
Of course a
tenspeed bicycle provides another example of a pulley system. Changing “gears” will then change the
ratios. Allowing the bicycles to roll
(without freewheeling!) and measuring distance traveled per rotation of the
crank would be a way of connecting ratios to fractional distances.
Models of Numbers
These models give us three ways of thinking about numbers:
· The state of a device (e.g. the position of the robot or the pointer on fraction wheel.)
· An instruction or action which causes a device to change state (the rotations of the unit pulley.)
· An operator (the compound pulley assembly) on instructions, i.e. a machine that accepts instructions as input and produces possibly different instructions as output.
These different views of number are closely related to the different ways in which we use numbers which themselves are associated with the different operations we perform on numbers:
1. Naming/Enumeration (=). In this mode we use numbers as distinct labels for objects. (State model.)
2. Comparison (<,>). In this mode we make use of the order theoretic properties of numbers. (State model for device with natural ordering.)
3. Sequencing actions (+). In this mode we view a number as a sequence of actions. (Instruction model with addition as sequencing.)
4. Repeat operators (x). In this mode we view a number as an operator that constructs sequences of actions by repeating. (Operator model with multiplication as composition)
Assigning a model number to an appliance or numbering the items in a list are examples of the first view. Here we are using the fact that numbers represent an unbounded collection of distinct objects that can be used as names. Any model of numbers as states of a device can be used for this purpose. The usual device for this purpose is a “decimal numeral” device which changes state according to the rules of decimal enumeration. In the second view we use the order theoretic properties of numbers to ordering of some collection of objects or actions, perhaps the events in a story or the instructions in an assembly guide. For this purpose we can use a model in which the states of a device have a natural ordering, e.g. length or height or distance, and such that the unit instruction always causes the device to pass from one state to a larger state.
In the third and fourth views we model numbers as operators
and interpret addition and then multiplication as forms of the composition operator. In the third view we model numbers as instructions to some device which when
executed cause the device to pass from one state to another. For example if the device is the “robot” in
our examples then we would interpret “2” as the instruction to move two units
to the right and “2” as the instruction to move two units to the left. In this model addition is interpreted as the operation on instructions which
given instructions I and j forms the new instruction “I + j” whose meaning is “perform
instruction I and then perform
instruction j.” In computer programming this operator is
called the sequencing operator and is
the simplest way of constructing programs.
Thus in our robot model we would interpret “2 + 3” as the program “go
two steps to the left and then go three steps to the right” which can be
reduced further by expressing 2 as 1 + 1 and 3 as 1 + 1 + 1 to “(go
one step to the left and then go one step to the left) and then (go one step to
the right and then go one step to the
right and then go one step to the right.))
Most uses of numbers to represent quantity
fall under this view. Consider how I
understand the concept of “3 apples.”
While it’s true I can interpret it as a state of an apple collecting
device the state model gives me no information how I would go about creating
that state where interpreting as the instruction “get an apple; get an apple;
get an apple” does. Further, while, assuming my apples are uniform in
size, I could use a balance scale to
compare the state of having 3 apples to the state of having 5 apples to
conclude “3 apples is less than 5 apples” this gives me no information about
“how much more”, i.e. what action would be required to pass from the state of
having 3 apples to the state of having 5 apples. Note that an instruction itself can be viewed
as an operator on states that accepts as
input a state s of its device and
produces as output the state of the device that results from executing the
instruction with the device in state s. For example, for an apple collecting model I
would interpret “2” as an operator that “adds two more apples.” If I input the “3 apple state” it produces
the “5 apple state”; if I input the “10 apple state” it produces the “12 apple
state.” Under this view I would
interpret “2 + 3” as the operator that given an input state (say “10 apples”)
first applies “2” (“add two apples”) to get a new state (“12 apples”) and then
applies “3” (“add three apples”) to the new state to get the final output (“15
apples”.) (See diagram below.) This is an example of a general method for
combining operators to form a new operator by connecting the output of one to
the input of the second. This method for
combining two operators to create a new operator is called composition.
12 apples 10 apples apples
12 12
The first 3 views of number are tied to specific devices. For example an instruction for a robot or a fraction wheel is not an appropriate instruction for an apple collecting machine. The fourth view gives us a way of understanding numbers that is independent of any particular device. In this view I think of a number not as an operator on the states of some device but as an operator on instructions. For example suppose my mother sends me to the store to “get 12 apples”. This instruction is a program which I am to execute. (We’ll ignore the going to the store part of the program and just focus on the “get 12 apples” part.) Using the instruction model we would express this program as “get an apple; get an apple; get an apple; get an apple; get an apple; get an apple; get an apple; get an apple; get an apple; get an apple; get an apple; get an apple.” It is far easier to express this instruction as “repeat 12 times {‘get an apple’}”. What we have done is to represent “12” not as a specific instruction but as an operator on instructions which given any instruction as input creates a new instruction by repeating the instruction 12 times. Like sequencing, repeating is an essential construct in most programming languages and often is the second program constructor one learns. We’re going to extend the idea of repeating to more general kinds of operators on instructions so instead of “repeat 12 times” we will write “times 12”.
Now what happens when we compose two repeat operators? For example suppose we compose “times 3” with “times 4”. Below we show the result of inputting the instruction “Get an apple” to the composition. The “times 3” operator repeats the instruction three times and outputs the instruction “Get 3 apples” which the “times 4” operator repeats four times to produce the equivalent of “Get 12 apples”. In general the result of composing the “Times n” operator with the “Times m” operator is the “Times m x n” operator. So in this model of numbers composition represents multiplication. In programming parlance we have modeled multiplication as nested loops (a “repeat 4” inside a “repeat 3” loop).
Because the interpretation of number as operator on
instructions is independent of any particular device it can be used to relate
information from different devices.
Probably the most important application of this is unit conversion.
Consider two examples of a device represented by a mixing bowl. For one of these devices we take the unit instruction to be “add one liquid ounce”. In the other we take the unit instruction to be add one cup. Suppose we are given an instruction for the cup device, say add 3 cups, and want to execute it on the ounce device. We know that there is a relationship between the cup and the ounce instruction namely adding one cup is equivalent to adding eight ounces, “add one cup” = “add eight ounces” = times 8 {“add an ounce”}. So we can express the program “times 3{‘add a cup’}” as “times 3 {times 8 {add an ounce}}”12 12
Now
suppose we want to execute ounce instructions on the cup machine. For this we need to convert ounces to
cups. We have an operator that converts
cups to ounces.
Cup oz.
For
this we need an inverse operator for Times 8.
The operator model of number is useful for any applications involving ratios as for example in rate of change problems. Suppose a car is traveling at 60 miles per hour. We model this speed as an operator that converts hours to miles.
There are at least a few things I’d like to do in the future.
For some reason the current standards want us to introduce “variables” and “equations” before introducing functions. I think this is a bad idea because without the concept of function (modeled as an input/output machine) we don’t have any concrete interpretation of variables or equations (in the way that numbers and operations on numbers can be given concrete interpretations.) Using functions we can model these concepts and give a foundation for how and why we use them. The first step is to introduce input/output machines that take numerical values as input and produce numerical values as output. An “Add 8” machine accepts numbers as input and produce numbers as output, e.g. producing 12 for input 4 and 13 for input 5. Similarly a “Subtract 8” machine subtracts from its inputs. We can then observe that “Add 8” and ‘Subtract 8” are examples of inverse operations. We can then have the same discussion about multiplication and division. We can then consider the behavior when we compose these machines. For example we can compare the result of composing “Times 8” with “Add 3” vs. “Add 3” with “Times 8”. Now this naturally the problem of how we can name or describe the behavior of these composite machines. We could just name them by writing out the compositions but those get pretty long, especially as our compositions get longer, composing three machines or four machines. We can then introduce the notion of variable as a name for an input to an input/output machine and using that name as a way of specifying what the machine does. We can then compare identical machines with different names for the input and that the specific name chosen doesn’t matter.
We then can use our understanding of how to invert composite machines and the inverse relationships among the arithmetic operations to invert composite numerical functions noting the order in which the operations are applied, e.g. for f(x) = 3x+2 vs. f(x)=3(x+2).
We can then model equations as input/output machines that return true or false so that equation solving can be seen as our standard inversion problems (finding inputs that produce a given output). We can then relate solution of linear equations to the inversion of composite functions discussed earlier.
I’d like to simulate an “etchasketch” style graphing machine for functions that will look something like the picture below.
There are two hidden pulleys, one very far to the right and the other very far above the visible pulley. The horizontal belt turns and rolls the inner unit pulley along the horizontal (“x”). A vertical pole with a sliding marker is attached and moves with the inner pulley. The marker is attached to the vertical belt so that it will move up and down with the belt leaving a trace as the pulley is moved. The marker is attached to the left side of the belt when for positive pulleys and the right side for negative pulleys. We can then observe the graphs for differing ratios and starting points for the marker. For fixed size pulley the result will be straight line whose steepness varies with the magnitude of the ratio and whose direction, up or down, is determined by the sign.
It’s natural then to ask: “how do we make ‘curvy’ curves?” To do that we’ll have to vary the size of the pulley. The second image immediately above is an attempt to indicate how this might be done. We have one curve (the blue line in the diagram) which is used as a “control” for the size of the pulley. As the pulley moves it will expand or contract according to the height of the curve. The red “curve” represents (very poorly!) the resulting (which of course should be a nice smooth parabola!). We’ll allow the control curve go to zero and negative with the pulley changing sign appropriately so that the resulting graph can increase and decrease. The student will observe that while the graph can be started at any vertical position its shape will be the same. The student will be able to experiment with different control curves (for example the graphs generated by other control curves) and draw his own. We’re not trying to teach calculus at this point but merely the idea that (at least nice) curves have rate of change associated at any point and that rate of change determines the shape of the curve. The student should be able to recognize patterns in the shape of the graph depending on whether the control pulley is expanding or contracting and what happens when the pulley reaches 0 and either crosses or doesn’t etc.
This is an article by Susan Ohanian was published in the Phi
Del Kappan Journal of Education. It was based
on a letter I wrote that was published in the San Jose Mercury News and caused
quite a bit of controversy. Some
professors at Stanford had invented a “metric” called the “Academic Performance
Metric” or “API” for comparing the quality of teaching at schools. This was used initially in California and
eventually was adopted by the No Child Left Behind as the measure of teacher
competence. My kids were going to schools in a “disadvantaged school
district” at the time and yet another superintendent had just been
appointed. (They came and went every
couple years.) He came in promising that he would raise the district API by
some outrageous amount. This got me
thinking about what it would take to achieve such an improvement which led to
the letter. I had thought it was clear
that the letter was intended as satire but I was castigated by one and all,
including my own family! (The newspaper
felt obliged to publish an explanation.)
This led to Susan’s article.
This article appeared along with Susan’s article in the Phi Delta Kappan along with Susan’s article. It was an attempt to analyze how education needs to adapt to the revolution in automation and computer technology and why much of what people were and still are proposing is way off point.
This article was also published in the Phi Delta Kappan and has been republished many times. According to the “law of the instrument”, if all you have is a hammer everything looks like a nail. For bureaucrats and industrial manager types the hammer of choice is “statistical quality control” (“SQC.”) This is the technology used to increase chip yields and the quality of automobiles. A prerequisite for using SQC is a “quality metric.” In applying SQC to education the obvious metric to use is standardized testing and this has led to what is called “high stakes testing” in schools. The “stakes” in this case are people’s employment and futures. What the advocates of high stakes testing seem to forget (over and over again) is that the evolutionary strategies used by adaptive organisms in the presence of harsh selection criteria may not be what you intended. “Teaching to the test” is one such strategy. This got me to wondering what the evolutionary consequences of teaching to the test might be.
This appeared on Susan Ohanian’s website (http://www.susanohanian.org.) I wrote it after reading Full House: The Spread of Excellence
from Plato to Darwin by Stephen Jay Gould. Gould’s
point is that the unit of evolution is the “spectrum of variation” rather than
the individual. For example the quality
of baseball play has improved in spite of the fact that we no longer have
players with batting averages over 400.
While this is fine baseball or survival of cockroaches this also
provides another survival mechanism for the teachers subject to high stakes
testing. I call it teaching to the
“statistic.” As an example the
statistical measure used by the “API” is based on aggregating test results into
quintiles. So teachers get no credit for
a student’s improvement unless he crosses a quintile boundary. Therefore it would be in a teacher’s
survival interest to focus attention on students close to crossing a
boundary. When I pointed this out to
the purveyors of the API statistic they scoffed. They were sure that no teacher would stoop to
that level of manipulation. What they
forgot or never knew is that teachers are only cogs in the education
machine. They are subject to the whims
of administrators and the pressure on administrators can be more intense on
then on teachers. (This pressure even
led some districts to employ blatant test cheating and others to adopt policies
which eliminated “undesirable” students.)
What they also forgot is that education is a big business and there are
plenty of entrepreneurs out there offering products and services to help
schools meet their “challenges.” So it
wasn’t a complete surprise to me when my wife who was teaching third grade told
me that she had been required to attend a commercial on how to determine your
“bubble students.” Naturally I had to
write and tell Susan about this.
It’s natural to look for easy solutions to hard problems. School uniforms are one of the most popular of these kinds of gimmicks. I had the misfortune of running into this approach in the context of a very willful eighth grade daughter in the early ‘90s. This “selfpublished” article describes my own experience with and analysis of the value of school uniforms. I confess it does not show me at my best.
I wrote this article after helping my wife, who was a student teacher at the time, prepare a perfectly awful lesson assigned to her by her master teacher. (My wife was in her forties and the “master” her twenties so there was a bit of tension there anyway.) The idea of the lesson was to introduce algebra to third graders. Without any preliminaries it consisted of writing down an equation like “3x + 5 = 20” and then, without explanation, showing the steps (“subtracting 5” then “dividing by 3” etc.) There was no attempt to explain what a “variable” or “equation” was or where such a thing might come from nor was there any explanation or justification for the “solution” procedure or even what it meant to be a “solution.” The teacher was in effect supposed to program the students to carry out a meaningless sequence of manipulations of symbols. Independent of whether it has any value it was not my wife’s idea of a fun lesson to demonstrate her pedagogical skills.
In thinking about the problem I realized that it was fundamentally about inverting functions and that we might be able to explain the concept of function to the students as a kind of input/output machine starting with real simple machines like one that would just “Add 2”. Then we could introduce the concept of “inverse function” as an “unmachine” that “undid” whatever the machine “did” and have them realize that “Subtract 2” was the unmachine for “Add 2” and “divide by 3” the unmachine for “times by 3”. Then she could talk about connecting machines (as the model of composition) and how to build the unmachine for a composite machine noting that you had to reverse the order of undoing by appealing to their intuition about putting on and taking off socks and shoes.
Well of course this was way too much to cover in one lesson. But she did get as far as introducing the concept of input/output machine (for some reason they preferred “intake” and “exhaust”) and the concept of unmachine with the subtraction as an example. Just as she was finishing one of the students asked if division was the unmachine for multiplication. All agreed it was a wonderful lesson and I was excited because it meant that third graders could understand the concept of function and inverse function when given a model to visualize the concept. While my wife didn’t get a chance to talk about connecting input/output machines it seemed likely to me that would be a natural idea which you could model in terms of factories for example.
This was exciting to me because if you can grasp intuitively the concepts of function and inverse function and composition then you’re in a position to have a much deeper understanding of elementary mathematics which would serve as much better preparation for what was to come. The primary example of a concept which they could understand at a much deeper level was that of number itself.
Allow me to digress for a moment. I entered seventh grade in 1960 (yes I’m old!) at the very beginning of the “new math” era. As you may have heard or read in history books, new math was an attempt to teach “math with understanding.” (I don’t know if that exact phrase was used but that was the intention.) One of the things they wanted us to understand was the distinction between a number and a name for a number which was called a numeral. This was important because we were going to learn about different numeration systems using different bases. (Google Tom Lehrer New Math if you want to know more.) Surprisingly, when my teacher explained that there is a distinction between numbers and names for numbers I understood. I had an image in my mind of a black squiggle that was my image of a number surrounded by a collection of names. Now of course it was natural to wonder the blob in the center was, i.e. if it’s not a numeral then what is it? I didn’t actually pose the question to the teacher but the question stayed with me.
Well I now know that numbers can be understood in different ways but the most powerful are as operators, aka functions, and since we were successful in modeling functions for third graders then maybe we could model numbers for them and give them a more or less concrete model of arithmetic. While pondering that I happened watch the movie “stand and deliver” about Jaime Escalante’s efforts to teach higher mathematics to disadvantaged students. At one point in the movie the teacher has the students recite the laws for signed multiplication and after the students say: “a negative times a negative is a positive”, the teacher says “But why?” Of course the question isn’t answered in the movie. But I thought if the students had a concrete model of what a number was they could understand “why” at an intuitive level.
So I wrote up my ideas in the “Using the concept” paper and submitted it to a journal called “The Arithmetic Teacher” or something like that figuring they would love to be able to give a concrete meaning to their basic object of study. But of course it was rejected as too weird. So I put it up on “articles base” where it sometimes gets reprinted next to ads about washing machines.
I tried writing more extensively (see below) about my ideas but eventually decided building models, even if they are virtual, was more useful than talking about them and that led to the focus of this site.
Here are some chapters I wrote in an attempt develop a model based introduction to arithmetic. I never got straight who my audience was (if any) so I gave up on it but for what it’s worth here they are.