1 EXECUTIVE SUMMARY

This text discusses some aspects of curriculum for a proposed replacement of the traditional school algebra course by a new course which fully integrates algebra with informatics/programming. Approaching this issue from the basic principles of project management, we focus on two points from which development of any project starts:

(1) What are our aims? What do we wish to achieve?

(2) What is our starting position?

In the context of curriculum development, this becomes

Question 1. What are learning outcomes of the new course? What school graduates should be able to do on completion of the course?

Question 2. How the new course will relate to the primary school arithmetic?

In case of projects directed at work with children for considerable periods of time (in the case of algebra curriculum, this is perhaps 7 or even more years), point (2) and Question 2 attain larger importance than, say, in most industrial projects: the child has to be in the focus of the project, and the child grows, and all the proposed activities have to grow with him.

Both points need to be clearly described and illustrated by sample problems of the kind Learner is supposed to be able to solve (on their own, without guidance from teachers) at the start and at the end of their study. Only then we can start writing a curriculum, working in the direction from the answer to Question 1 to answer to Question 2, at every step including only the material which is definitely needed for further progression to a higher level.

1.1 Regarding Question 1, We Formulate the Following Recommendations

1.1.1. The most important issue of the 21st century is the relationship between people and computers.

Therefore we expect that on completing the course, Learner should

• have understanding of opportunities and dangers coming from saturation of every aspect of the economy, politics, warfare, media, entertainment, everyday life, by computers and computer systems which make decision on behalf of people;

• in navigating this dangerous world, understand what questions could and should be asked—and to whom;

• if necessary, be prepared to learn, and use, more technical and professional aspects of computer science and computer programming.

This could be compared with mathematical skills expected from secondary school graduates in Europe in the first half of the 20th century: they had to master enough of algebra and trigonometry for their subsequent training, if needed, as artillery officers or air pilots—after all, it was the era of mass conscription armies.

1.1.2. There is a simple and challenging criterion of Learner’s mastery of the required skills.

• From a relatively early stage of the course, Learner’s answer to an arithmetic or algebraic problem (including mathematical problems described as ‘real life’ problems) should be an executable computer code developed, almost in its entirety, by Learner—without use of standard packages such as Mathematica—which

—solves all problems of the same type;

—helps to check, analyze, and generalize the solution.

Problems which require a proof of some statement are naturally excluded from this requirement—but computer experiments should be welcome in construction of counterexamples and in formulation of conjectures.

1.1.3. The requirements for a computer language to be used in the course are quite demanding.

• If more advanced versions of it are used at later stages of learning, it needs to be backward compatible at all stages of school algebra—to allow a systematic revisiting, reusing, and rethinking of earlier learned material, problems solved, and codes written.

• But its small “starting” fragment should provide a simple, safe, and exiting playground for children at the first steps of learning algebra.

• The language should include sufficiently rich elements usually found in high level languages and provide efficient preparation for learning professional industry standard languages.

• All numbers have to be exclusively symbolic, including fractions and surds; if the result in some intermediate calculation is \(\frac{{1 - \sqrt 3 }}{2}\), it stays that way and is used in subsequent calculation. Of course, they have to include constants e and \(\pi \). No rounding, no floating point decimals.Footnote 1

This will require development of a bespoke Domain Specific LanguageFootnote 2 (DSL) for use in the course. Most likely, existing general purpose languages are not suitable for this role.

This texts represents first early steps in development of specifications for DSL.

1.1.4. The content of the algebra course should change and reflect the demands of computer programming, and include, for example, Boolean algebra, elements of number theory, modular arithmetic, and finite fields. Shaping the algebraic curriculum should go in step with development of the DSL.

1.1.5. Other parts of mathematics, for example, geometry, mechanics, and statistics need a separate discussion and are not touched here. Also, interactions with physics deserve most serious attention.

1.2 On Question 2, Our Principal Suggestions Are the Following:

\( \bullet \) Introduction of “computational” thinking in algebra should be prepared by development of algorithmic thinking in arithmetic.

• “Questions method” for word problems in arithmetic is suggested as an efficient tool for mastering an elementary level of algorithmic thinking—and has to be done.

• Use of a simple computer language (which still needs to be developed) is essential from the first day of learning algebra, in particular, for formulation of algorithms developed by the arithmetic ‘questions method’ in a compact form suitable for conversion into computer code.

• Typed variables and type inference are essential for a computer language that will be used in the course, and their introduction needs to be prepared by mastering ‘named numbers’ in arithmetic. It needs to be clarified that

named numbers are not numbers replaced by names and symbols,

they are numbers of units of various kind: 10 apples are not the same as 10 people and not the same as 10 km, and you do not add 10 apples and 10 people, see Fig. 6.

• However, there is a conceptual gap between

—formulation of an algorithm and its implementation in a code, and

—representation of the answer as a closed algebraic formula.

Therefore Learner will still need to master algebraic manipulations with formulae in algebra—which is conceptually parallel to use of evaluation by call by name in computer programming—as opposed to evaluation by call by value used in a direct implementation of an a arithmetic algorithm.

• A lot of attention needs to be given to arithmetic of named numbers. In particular, Learner should learn that they can freely introduce in their solutions intermediate parameters, and their values, if the names of these parameters (correspondingly, types of variables) are alien, appear neither in the data (conditions) of the problem, nor in the supposed answer. These additional parameters will disappear in the course of solution.

• This approach inevitably requires Learner reflect on his/her work, analyze it, apply, in effect, some meta-thinking (that is, thinking about thinking)—and can be achieved only if Learner is psychologically comfortable and feels being in full control of the problem, its solution, and the computer.

Achieving all that is a challenging task. We would not advise to undertake it lightly.

1.3 Warning about the Scale and Cost of the Project

The first author has experience of working on large and complex research projects, see for example [1], a book of 550+ pages that he co-authored and which contained a proof of a single theorem—the proof was in making for about 15 years and used crucially important contributions from an informal team of 10 people. Closer to the theme ‘algebra + computer science for school’ is his work on computational symbolic logic, where his joint paper with Şükrü Yalçınkaya [11] was developed, step by step, over at least 10 years, and progress critically depended on systematic computer experiments.

Basing his assessment on this experience, he is quite confident that development of a software system supporting the proposed course and used on the scale of a nation is realistic, but could easily cost up to a few million dollars, demand work of a large interdisciplinary team of experts, and, with necessary test runs in schools, could take up to ten years. This estimate does not include the cost of re-education of the whole army of teachers, and time required for that.

We urge the reader to remember the words of H.L. Mencken:

For every complex problem there is an answer that is clear, simple, and wrong.

We warn:

Beware of snake oil merchants peddling cheap and easy recipes for revitalizing school mathematics by means of ‘digital technologies’!

We hope that our work could be used as an antidote against their promises.

***

The rest of the paper contains a more detailed discussion of Question 2:

How the proposed course will relate to the primary school arithmetic?

2 BUT WHAT IS ARITHMETIC?

School arithmetic contains two major parts.

• Formal written methods for arithmetic operations on decimals and fractions [15], that is, manual computation based on certain recursive algorithms.

• Solving word problems.

As explained in [6], “word problems” of arithmetic involve identification of mathematical structures and relations of the real world and mapping them onto better formalized structures and relations of arithmetic, or, in Igor Arnold’s formulation from 1946, when the words “structure” and “relation” were not yet en vogue [26], teaching arithmetic involves, as a key component, the development of an ability to negotiate situations whose concrete natures represent very different relations between magnitudes and quantities.

Even more important is Arnold’s characterization of arithmetic:

The difference between the “arithmetic” approach to solving problems and the algebraic one is, primarily the need to make a concrete and sensible interpretation of all the values which are used and/or which appear at any stage of the discourse.

Therefore the phase transition from algebra to arithmetic is an important turning point in learning mathematics.

3 THE BRIDGE FROM ARITHMETIC TO ALGEBRA

This is our principal thesis:

The merger of school mathematics with informatics should start simultaneously with the phase transition of mathematical learning from arithmetic to algebra, and should be rooted in those aspects of arithmetic which actually belong to computer science but are not usually recognized as such.

For example, arithmetic already contains

Abstraction. The concept of number is already a huge abstraction.

Algorithms. First of all, long division, etc. are algorithms. But they are given to children as something God-sent, just as rules to follow. However, what will be shown here, the ‘questions method’ of yesteryear arithmetic (now almost universally forgotten (one of its rare clear exposition is [28]) allows children to develop their own algorithms which solve many types of arithmetic problems.

Recursion. The notorious long division is a recursive algorithm, as well as long multiplication, as well as addition and subtraction of decimals. Euclid’s algorithm for finding the greatest common divisor of two integers is also recursive.

Typed variables. “Named numbers” of arithmetic perfectly map to typed variables of computer programming.

Reification: This is a high level concept from computer science, but its toy version appears in arithmetic as introduction of intermediate parameters (“helpful numbers” is a better term for kids’ use), see Section 5.5. Or as “fantasy units of measurement” (see [12], Sections 3.1 and 3.3; [9], Solutions and Notes to Problems 89 and 90) (in the latter they are called “hidden parameters”) for discussion and historic examples.

In computer science, reification is a widely used concept. This is how Wikipedia defines reification.

Reification is the process by which an abstract idea about a computer program is turned into an explicit data model or other object created in a programming language. A computable/addressable object—a resource—is created in a system as a proxy for a non computable/addressable object.Footnote 3

In school algebra, the notorious \(x\) as a notation for the unknown is a typical example of reification: it is a proxy for a number not given to us, but a proxy nevertheless allowing algebraic manipulations with it.

The rest of this text concentrates on this issue: the “questions method” and algorithms in transition from arithmetic to algebra. Its principal point is:

Fusion of algebra and computer science should be prepared by development of algorithmic thinking in arithmetic.

We shall explain, that, in school arithmetic of yesteryear, there was an approach to an efficient development of algorithmic thinking: the so-called “questions method” for solving word problems.Footnote 4 We further claim that it could serve as a bridge between arithmetic and algebra, especially if algebra is merged with computer science/coding.

We shall also try to demonstrate that the questions method allows us to reach a number of didactic targets:

• Emphasis on detection and analysis of structures and relations of the real world and their representation in mathematical terms.

• Systematic analysis of data given in a problem.

• Correspondence between named numbers in algebra and typed variables in code writing.

• An answer to an arithmetic or algebraic problem being an executable computer code which

—solves all problems of the same type;

—helps to check and analyze the solution; and

—uses evaluation by call by name and by call by value.

If these targets are achieved, we will be able to claim that

The child is in control of the problem, of its solution, and of the computer [5].

And we have to achieve that—otherwise, no further progress is possible.

We do not discuss here why a fusion of algebra with computer science could be desirable in school education—this was discussed in [10, 19].

4 A SAMPLE PROBLEM FROM ARITHMETIC: BOWL OF CHERRIES

Let us consider a simple problemFootnote 5, see Fig. 1. Of course, at school children should start with much simpler, 1 or 2 step problems like in Fig. 1 should come at a later stage. We use this example because it provides a wider overview of the arithmetic/algebra boundary.

Let us approach this problem step by step in compliance with the methodology that we have just formulated.

5 ANALYSING DATA

5.1 Parsing of the Problem

Let us now to ask the all-important question:

What is the data and what is the question?

Indeed, this question is well justified because the correct parsing of the problem is the following:

Data. Bob fills the bowl in 8 min, Alice in 24 min.

Now they work together.

Question. In what time they will fill the bowl?

We shall call the question in the problem that we separated from the data the target question.

5.2 Questions Method and Step Questions

And now we shall give an example of a questions method. In the 1960s in Russia, students were supposed to master it by the age of 11 or 12 and be able to produce, for a word problem, a short sequence of simpler step questions, which resulted in answering the target question. This could also be described as a formulation of a multi-step solution to a problem as a composition of solutions to much simpler one step problems.

One of many possible step question sequences for the Bowl of cherries problem is shown in Section 6.1. We shall try to explain now how it could be obtained.

5.3 Generic Guiding Questions

Teaching children to formulate step questions in a questions method focuses on development of each child’s ability to start his/her “questions” attempt at a solution by asking himself or herself appropriate self-directed guiding questions (they were called auxiliary questions in the Russian pedagogical literature, but in England, the words “an auxiliary question” are loaded with expectation that the question is asked by a teacher to help a struggling pupil).

Generic questions (or meta-questions) recommended by the questions method could be data-centered [25, 2729], for example,

• What questions can be asked about these data?Footnote 6

• What can be learned from these data?

• And a more specific question: how to express mathematically “working together”?

Beloshistaya ([28], p. 303) calls this approach synthetic. It is interesting to compare Beloshistaya’s analysis with Gerofsky [17].

There are also more advanced guiding questions. Those found in the modern literature appear to come directly from a project management manual [29].

Analyze the task working backwards from the target back to the current situation.

Indeed look for yourself at questions of the synthetic approach.

• What additional quantities it would be useful to know for finding the answer? This question could lead to introduction of a “helpful number,” see Section 5.5.

• What do you have to do for finding these additional quantities?

• How can they be deduced from the data given?

5.4 The Crucial Point: To Whom These Questions Were Addressed?

In the old tradition of the “questions method.”

• At the first stages of learning the questions method, guiding questions were addressed by a teacher or a textbook to students, aged 11—12.

• At later stages, students were expected to formulate there guiding questions themselves, thus developing their own step questions directed at solving a specific problem.

• Put together, student’s step questions formed in fact an algorithm (although this word was not mentioned): any problem of the same type, but with different data, could be quickly answered by following the same steps.

• This algorithm had to be developed by the student.

5.5 Introduction of an Intermediate Parameter (or a “Helpful Number”)

Answering a guiding question

How to express mathematically “working together”?

after some thought or discussion it could be discovered that “to work together” means, in mathematical terms, that

• productivities, or speeds of picking cherries, add up.

This should immediately trigger further questions:

• How to measure the speed of picking?

Of course, in cherries per minute!

• How many cherries we have in the problem?

And the last question leads to a critically important step:

A helpful number: Let us assume that the bowl contains 72 cherries.

This choice, 72, appears to be arbitrary and made just for the convenience of division by 8 and by 24, which allows to avoid fractions in further calculation. We shall soon see that this is well justified. Also, as it has already been mentioned in Section 3, it is an example of reification, one of concepts of computer science already present, in disguised or hidden form, in arithmetic. Later, in Section 6.2, it will be explained why this step is safe.

6 SOLUTION

6.1 The Sequence of Step Questions

The following solution is a sequence of questions and answers formulated on the basis of analysis of the data and in response to generic guiding questions described in Section 5.

Question 1. What is Alice’s picking speed?

$$3\frac{{{\kern 1pt} \textsf{cherries}{\kern 1pt} }}{\textsf{min}} = \frac{{72{\kern 1pt} \;{\kern 1pt} \textsf{cherries}{\kern 1pt} {\kern 1pt} }}{{24\;{\kern 1pt} \textsf{min}{\kern 1pt} }}.$$

Question 2. What are is Bob’s picking speed?

$$9\frac{{{\kern 1pt} \textsf{cherries}{\kern 1pt} }}{\textsf{min}} = \frac{{72{\kern 1pt} {\kern 1pt} \textsf{cherries}{\kern 1pt} {\kern 1pt} }}{{8\;{\kern 1pt} \textsf{min}{\kern 1pt} }}.$$

Question 3. What is their picking speed working together?

$$12\frac{{{\kern 1pt} \textsf{cherries}{\kern 1pt} }}{{{\kern 1pt} \textsf{min}{\kern 1pt} }} = 3\frac{{{\kern 1pt} \textsf{cherries}{\kern 1pt} }}{{{\kern 1pt} \textsf{min}{\kern 1pt} }} + 9\frac{{{\kern 1pt} \textsf{cherries}{\kern 1pt} }}{{{\kern 1pt} \textsf{min}{\kern 1pt} }}.$$

Question 4. In what time they will fill the bowl?

$$6\;{\kern 1pt} {\kern 1pt} \textsf{min} = 72{\kern 1pt} \;\textsf{cherries}\,{\kern 1pt} \div 12\frac{\textsf{cherries}}{{{\kern 1pt} \textsf{min}{\kern 1pt} }}.$$

6.2 Elimination of Intermediate Parameters of Independent Types

But what will happen with the answer to the problem if we change the number of cherries—it was not given to us, it was selected by us just for convenience?

Nothing will happen.

The data given is of type min, the answer is also of type min. The extra parameter is of completely independent type cherry. The answer does not depend on the numerical value of the extra parameter, because its change can be treated simply as the change of unit of measurement: instead of 72 cherries we can talk about 32 pairs, or 24 spoons, or 12 cups of cherries, etc.—all these different numbers describe the same physical quantity.

This simple observation gives us

Freedom of choice of intermediate parameters. We need only to make sure that their types are independent from types of data.

6.3 The Resulting (Pseudo)Code

This is the setup of the problem which uses letters instead of numbers:

Bob fills the bowl in B min, Alice in A min

Working together, they fill the bowl in T min.

A “questions method” solution can be easily rewritten as a pseudocode:

input A, B                                        % Alice’s and Bob’s times

input C                                                 % number of cherries

U := C:A; V := C:B;                              % Alice’s and Bob’s speeds

W := U + V;                          % Their picking speed working together

T := C:W                             % The time in which they fill the bowl

return T;

But how to simplify it to a one line pseudocode:

input A, B; T:= (A*B):(A+B); return T

that is,

$$T: = \frac{{AB}}{{A + B}}?$$

This is a serious issue.Footnote 7 In the early algebra, writing code is much easier than developing an algorithm. Indeed the answer

$$T: = \frac{{AB}}{{A + B}}$$

—the shortest expression of the algorithm—is non-trivial.

6.4 Solution in Symbolic Variables

Compression of the code obtained by the questions method into a compact formula could be done either manually, or maybe even automatically; for the latter case, the code has to be embedded into a symbolic algebra system which automatically simplifies algebraic expressions. We think it would be desirable to achieve a didactically efficient balance of the two approaches.

Setup: \(A\): Alice’s speed, \(B\): Bob’s speed, \(C\): number of cherries.

Question 1. What are Alice’s and Bob’s picking speeds?

$$\frac{C}{A}\quad {\kern 1pt} and\quad \frac{C}{B}.$$

Question 2. What is their picking speed working together?

$$V: = \frac{C}{A} + \frac{C}{B}.$$

Question 3. In what time they will fill the bowl?

$$T: = \frac{C}{V} = = \frac{C}{{\frac{C}{A} + \frac{C}{B}}} = = \frac{{AB}}{{A + B}}.$$

Notice that this is “call by name” evaluation.

Also notice that variable C disappeared from the answer—as it was inspected, because it was of type independent from the type of data.Footnote 8

6.5 A Completely Different Solution

Of course, the questions method can produce other solutions as well. Here is one of them.

Question 1. In how many times Bob is faster than Alice?

$$\frac{{24\;{\kern 1pt} \textsf{min}{\kern 1pt} }}{{8\;\textsf{min}{\kern 1pt} {\kern 1pt} }} = 3\quad {\kern 1pt} or\quad \frac{A}{B}.$$

Question 2. In how many times the two of them working together, are faster than Alice working alone?

$$3 + 1 = 4\quad {\kern 1pt} {\text{or}}\;{\kern 1pt} \quad \frac{A}{B} + 1.$$

Question 3. In what time they will fill the bowl?

$$24\;\textsf{min}{\kern 1pt} {\kern 1pt} \,:4 = 6\;\textsf{min}{\kern 1pt} \quad {\kern 1pt} {\text{or}}\quad \frac{A}{{\frac{A}{B} + 1}} = \frac{{AB}}{{A + B}}.$$

7 USER’S STORY

We hope that this “questions method” solution can be naturally converted into a computer code with the help of a child friendly GUI interface. What follows is a brief discussion of a desirable functionality of this interface, a “User’s Story,” in terminology of software development, written in accordance with recommendations of User experience design.Footnote 9

Assuming that a student (we call him/her Learner) types everything in some computing device (smartphone, tablet, laptop) with the course software installed, as soon a number is entered, the GUI starts a dialogue with Learner asking whether this number is a datum, or a helpful number, or the answer to the problem and what is its type. Also, in this dialogue a number of various ambiguities are resolved—we omit these details here. In simple problems, this dialogue is likely to be very short—we shall explain in the next our paper.

The GUI assigns internal variables to all numbers on the screen, and converts numbers into cells whose values could be changed by the code or edited by Learner The values of data and helpful numbers remain editable by Learner see Fig. 2. It is an executable code represented in a GUI. The “Hamburger’ icon is a pop-up menu with many additional functions.

figure 1

Fig. 1.

Fig. 2.
figure 2

GUI after entering the solution. The “Hamburger” icon is a pop-up menu with very additional functions.

If Learner chooses button in the menu and presses it, the cells become alive and the GUI looks as in Fig. 3.

Fig. 3.
figure 3

The code goes alive. This is something that could be proudly shown to a parent.

The Learner is invited to experiment with changing data and auxiliary parameters; it the helpful number is changed from 72 to 48, and the button is pressed, the Learner gets another screen, Fig. 4—with exactly the same answer!

Fig. 4.
figure 4

Manipulation with ‘helpful number’: \(72{\kern 1pt} \;\textsf{cherry}{\kern 1pt} \) replaced by \(48{\kern 1pt} \;\textsf{cherry}{\kern 1pt} \)—the answer did not change.

Even more important: it should be possible to substitute letters in the cells (or in just one cell) for data and helpful numbers, thus automatically getting a symbolic solution of the kind offered in Section 6.4. See Fig. 5 for what happens if the time for Alice to fill the bowl is denoted by letter \(A\).

Fig. 5.
figure 5

Substitution of a letter for a datum.

Fig. 6.
figure 6

The First Law of Arithmetic: you do not add fruit and people. Giuseppe Arcimboldo, Autumn. Wikipedia Commons. Public do main.

The course software should help Learner to move from arithmetic to algebra: a solution of an arithmetic problem can be converted into a code which solves the same problem, but with symbolic inputs.

8 NAMED NUMBERS

8.1 Types of Named Numbers

Merging Algebra with Computer Science requires development of an appropriated Domain Specific Language which should support calculations with named numbers, of the kind as in the situation when we share 10 apples among 5 people:

$$10\,{\kern 1pt} {\kern 1pt} \textsf{apples}{\kern 1pt} {\kern 1pt} \, \div 5\,{\kern 1pt} {\kern 1pt} \textsf{people} = 2\,\,\frac{\textsf{apples}}{\textsf{people}}.$$

Obviously, we need a typed language where variables could be of arbitrary type assigned to them, say apple, or people, where only variables of commensurable (or comparable) types could be added, say \(1{\kern 1pt} \,\textsf{m} + 1{\kern 1pt} \;\textsf{cm} = 101{\kern 1pt} \;\textsf{cm}{\kern 1pt} \), but not apples and people (see Fig. 6); this restriction is possible to achieveFootnote 10; however, division of apples by people automatically produces a variable of a different type, \(\frac{{{\kern 1pt} \textsf{apples}{\kern 1pt} }}{{{\kern 1pt} \textsf{people}{\kern 1pt} }}\). Some types, such as Sı units or currencies, need to be standard, built in the DSL—but Learner has to be able to create any types of fancy, say ducat or piastre and declare exchange rate \(1{\kern 1pt} \;\textsf{ducat} = = 5{\kern 1pt} \;\textsf{piastre}{\kern 1pt} \), so the types ducat and piastre become commensurable.

A more sophisticated manipulation with types is needed when we dispense 10 apples, 2 apples a person, and wish to know how many people will get their apples:

$$10\,{\kern 1pt} {\kern 1pt} {\kern 1pt} \textsf{apples}\,{\kern 1pt} {\kern 1pt} {\kern 1pt} \div \,{\kern 1pt} 2\,{\kern 1pt} \frac{{{\kern 1pt} \textsf{apples}{\kern 1pt} }}{{{\kern 1pt} \textsf{people}{\kern 1pt} }} = 5{\kern 1pt} \,{\kern 1pt} \textsf{people}{\kern 1pt} .$$

8.2 A Bit of History

Actually, it was clearly understood by the father of modern (symbolic) algebra, François Viéte who in 1591 wrote in his Introduction to the Analytic Art [23, p. 16] that

If one magnitude is divided by another, [the quotient] is heterogeneous to the former… Much of the fogginess and obscurity of the old analysts is due to their not paying attention to these [rules].

Alas, these words remain true in the XXI Century.

This is the dirty secret of school arithmetic: it lives in an intimate relationship with the arithmetic of types which is carefully hidden from children (and from many teachers). However, this is well known in physics where types are called dimensions, and where dimensional analysis is a simple, but powerful method of understanding of relations between quantities and magnitudes of different nature, which, in particular, gives a way to produce quick, frequently even quick mental estimates of magnitudes. For example, [4, Section 8.4] contains a one page deduction of the legendary Kolmogorov’s “5/3” law for the energy spectrum of turbulent movement of gas or liquid.

8.3 An Elementary Example from Physics

Let us look at one of simpler applications of dimension (type) analysis in physics.

Galileo Galilei observed that the period of pendulum does not depend on the amplitude (span) of its movements.

So, the period \(T\) (of type second) of pendulum depends on its length L (of type meter) and acceleration of gravity g (of type \(\frac{{{\kern 1pt} \textsf{meter}{\kern 1pt} }}{{{\kern 1pt} \textsf{second}{{{\kern 1pt} }^{2}}}}\)).

The only type-consistent formula which can be made out of that is

$$T = C\sqrt {\frac{L}{g}} ,$$

where C is dimensionless constant. Even if we do not know the value of C (this requires more subtle arguments), we may draw very interesting consequences.

For example, bipodal walking can be modeled as a sequence of falls in which a leg (of length \(L\)) which moves forward behaves as a pendulum of period T. Hence the speed \(V\) is proportional to \(\frac{L}{T}\) and

$$V \sim \frac{L}{T} \sim \frac{L}{{\sqrt {\frac{L}{g}} }} \sim \sqrt {gL} .$$

Hence walking on stilts increases speed (anyone who tried to walk on tilts knows that), Fig. 7, while walking on the Moon is \(\sqrt 6 \) slower than on Earth (since the acceleration of gravity on the Moon is about \(\frac{1}{6}g\)).

Fig. 7.
figure 7

Walking on stilts increases speed. Habitants des Landes. Jean Louis Gintrac (1808—1886). Source: Wikipedia. Public domain.

Dimension analysis should be part of the school course of Physics. It is simple, beautiful, and has a potential to produce revelations.

8.4 Type Analysis in Arithmetic

Let us apply the type analysis to a classical old problem, a part of mathematical folklore:

\({\text{RABBIT}}\,{\text{AND }}\,{\text{CHICKEN}}\). Mary has pets, some rabbits and some chicken. Together her pets have 12 heads and 32 legs.

How many rabbits and how many chickens does Mary have?

It is more open to type analysis because it obviously involves more than one type.

First of all, we have to carefully assign types to every piece (datum) of quantitative data that we are given, or know from out lived experience.

Of course, we are given data of types leg and head. So, we have to introduce variables \({\text{LEGS}}\) and \({\text{HEADS}}\) of these types, respectively, and we are given their values.

Since every rabbit and every chicken has exactly one head, we have variables \({\text{RABBITS}}\) and \({\text{CHICKEN}}\) which could be safely thought of being of type head.

Not much so far. Perhaps we have to turn to our lived experience: comparative anatomy of rabbits and chicken. Perhaps it means

$${\kern 1pt} {\text{RABBITANATOMY}} = 4\,\,\frac{{{\kern 1pt} \textsf{leg}{\kern 1pt} }}{{\textsf{head}{\kern 1pt} }}$$

and

$${\kern 1pt} {\text{CHICKENANATOMY}} = 2\,\,\frac{{{\kern 1pt} \textsf{leg}{\kern 1pt} }}{{\textsf{head}{\kern 1pt} }}$$

So all data that we have are

$${\kern 1pt} {\text{HEADS}} = 12{\kern 1pt} \,\textsf{head}{\kern 1pt} ,{\kern 1pt} $$
$${\kern 1pt} {\text{LEGS}} = 32\,{\kern 1pt} {\kern 1pt} \textsf{leg}{\kern 1pt} {\kern 1pt} {\text{,}}$$
$${\kern 1pt} {\text{RABBITANATOMY}} = 4\,\,\frac{{{\kern 1pt} \textsf{leg}{\kern 1pt} }}{{\textsf{head}{\kern 1pt} }},$$
$${\kern 1pt} {\text{CHICKENANATOMY}} = 2\,\,\frac{{{\kern 1pt} \textsf{leg}{\kern 1pt} }}{{\textsf{head}{\kern 1pt} }}.$$

We have to understand, that for a child, this analysis of data is challenging—but exactly this skill,

ability to see mathematical structures and relations in the real world

—is missing in the mainstream mathematics education. But it has to be taught, and systematically.

Taking into account François Viéte’s advice, and the natural limitations of type arithmetic, we have very little choice of sensible arithmetic operations between these values, we emphasize, we have very little choice. One of the very few actions that we may try is to compute

$$\begin{gathered} {\kern 1pt} {\text{HEADS}}\,\, \times \,\,{\text{RABBITANATOMY}} \\ = 12\,\,\textsf{head} \times 4\,\,\frac{{{\kern 1pt} \textsf{leg}{\kern 1pt} }}{{\textsf{head}{\kern 1pt} }} = 48{\kern 1pt} \,\,\textsf{leg}{\kern 1pt} {\kern 1pt} . \\ \end{gathered} $$

What we see here is type inference, in terminology of computer science. But does it have a real life meaning? Yes, it does. This is the number of legs Mary’s pets would have it all of them were rabbits. This is more than the given number of legs. By how much more?

$$\begin{gathered} {\kern 1pt} {\text{EXCESSIVELEGS}} \\ = {\text{HEADS}} \times {\text{RABBITANATOMY}} - {\text{LEGS}} \\ = 16{\kern 1pt} {\kern 1pt} \,{\kern 1pt} \textsf{leg}{\kern 1pt} {\kern 1pt} . \\ \end{gathered} $$

Where do these excessive legs come from? From chicken, each getting extra

$$\begin{gathered} {\kern 1pt} {\text{RABBITANATOMY}} - {\text{CHICKENANATOMY}} \\ = 4\,\,\frac{{{\kern 1pt} \textsf{leg}{\kern 1pt} }}{{\textsf{head}{\kern 1pt} }} - 2\,\,\frac{{{\kern 1pt} \textsf{leg}{\kern 1pt} }}{{\textsf{head}{\kern 1pt} }} = 2\,\,\frac{{{\kern 1pt} \textsf{leg}{\kern 1pt} }}{{\textsf{head}{\kern 1pt} }} \\ \end{gathered} $$

legs. So, what is the number of chicken?

$$\begin{gathered} {\kern 1pt} {\text{CHICKEN}} \\ = \frac{{{\text{EXCESSIVELEGS}}}}{{{\kern 1pt} {\text{RABBITANATOMY}} - {\text{CHICKENANATOMY}}}} \\ \end{gathered} $$
$$ = 16\,{\kern 1pt} {\kern 1pt} \textsf{leg}{\kern 1pt} \, \div 2\,\,\frac{{{\kern 1pt} \textsf{leg}}}{{{\kern 1pt} \textsf{head}{\kern 1pt} }}$$
$$ = 8{\kern 1pt} \;\textsf{head}{\kern 1pt} .$$

Of course, the number of rabbits after that is obvious:

$$\begin{gathered} {\kern 1pt} {\text{RABBITS}} = {\text{HEADS}} - {\text{CHICKEN}} \\ = 12\,\textsf{head} - 8\,{\kern 1pt} {\kern 1pt} \textsf{head} = 4{\kern 1pt} \,\textsf{head}{\kern 1pt} . \\ \end{gathered} $$

One of the very few other available options to start our solution could be

$$\begin{gathered} {\kern 1pt} {\text{HEADS}} \times {\text{CHICKENANATOMY}} \\ = 12{\kern 1pt} \,{\kern 1pt} \textsf{head} \times 2\,\,\frac{\textsf{leg}}{{{\kern 1pt} \textsf{head}{\kern 1pt} }} = 24{\kern 1pt} \,\textsf{leg}{\kern 1pt} , \\ \end{gathered} $$

but it leads to essentially the same solution.

This is not the shortest way to solve this problem but it has an advantage of being very formal, with every step forced on us, and leading to a computer code manipulating with named numbers—this solution is already almost a code.

Alternative approaches are possible. Recently, the first author had one of his regular chats on \({\text{GOOGLE}}\) \({\text{MEET}}\) with a small group of Ukrainian refugee children (of ages about 8 to 11), and discussed with them this problem, and one of the kids suggested to look at extremity, or a limb, that is, leg or wing, which leads to a more efficient solution—but only because a deeper insight in the real world is applied, and more types are used. Indeed, just three straightforward questions:

(1) What is the number of extremities?

(2) What is the number of wings?

(3) What is the number of chicken?

lead to a solution.

9 WE NEED FUSION OF ALGEBRA AND COMPUTING, NOT CONCATENATION OF THE TWO

A paper by Ian Benson and Jim Thorpe [2] advertises the old paper by Trevor Fletcher [14] Thinking with Arrows as “conceptual mathematics”, and a way to “represent and reason” about mathematical patterns.

Perhaps driven by the law of nominative determinism, Fletcher was enthusiastic about use of arrows in school mathematics. This is a fragment from his paper given by Benson and Thorpe as an example of “thinking with arrows”.

If you have a tap that fills a bath in 3 min and a tap that fills the same bath in 6 minutes, you have to know how to decide that together they would take 2 min. Likewise if you are told 10 and 10 min you have to be able to reply 5 min. How is the calculation done? This time the operation of getting 2 from 3 and 6 may be called tap, and the associated diagram is

(1)

Here, we do not see how the answer to the problem was found; we see only that the answer to the problem is represented by a commutative diagram which reduces the answer (treated as a binary operation) to the binary operation of addition of positive real numbers; please notice that the word “operation” is used by Fletcher.

We have objections to this approach.

• We think the aim of mathematics education should be teaching the child the art of solving problems and getting answers.

• Interpretation of answers should play important role; however, insistence on a particular form of representation of the answer is undesirable; after all

• There should be a smooth transition between the arithmetic/algebraic thinking in solving a problem and computer science/computer programming thinking in representing the solution as an algorithm.

• We need fusion of algebra and computing, not concatenation—but Diagram (1) is a concatenation of two disjoint conceptual areas.

We wish to demonstrate, that, in the case of a class of problems on the arithmetic/algebra boundary where the tap problem naturally belongs, the commutative diagram representation of a solution is misleading and counterproductive.

Indeed, consider the “tap problem” together with three other problems from the same stable: proportionality dependencies between time, speed, and distance (where “distance” could perhaps be “level of water in the bath”).

Problem 1. If you have a tap that fills a bath in \(a\) min and a tap that fills the same bath in b min, in how many minutes they would fill the bath together? This is, of course, Fletcher’s problems with answer represented in diagram (1).

Problem 2. If a car travels from \(A\) to \(B\) at speed of \(a\) miles per hour, and then returns from \(B\) to \(A\) at speed of \(b\) miles per hour, what is the average speed of the car on the whole journey?

Problem 3. Two cars started their journeys at sunrise, one from \(A\) to \(B\), and another one from \(B\) to \(A\). They met at noon and completed their journeys at \(a\) hours p.m. and \(b\) hours p.m., correspondingly. By how much was sunrise earlier than the noon on that day?

Problem 4. There are two cities on a river, one is upstream of another. It takes for a steamboat \(a\) days to get from one city to another, and \(b\) days to return back. How many days it will take a raft to drift from the city which is upstream to the downstream city?

We give here answers to these problems in random order:

$$({\text{a}})\,\,\sqrt {ab} ;\quad ({\text{b}})\,\,\frac{{ab}}{{a + b}};\quad ({\text{c}})\,\,\frac{{2ab}}{{{\text{|}}a - b{\text{|}}}};\quad ({\text{d}})\,\,\frac{{2ab}}{{a + b}}.$$

How would the child know which answer is for which problem? Being told by the teacher? Where do these answers come form? Fletcher’s commutative diagram is indeed commutative, but, we are afraid, this is a bad example of theoretical-methodology-driven approach to teaching, not a child-focused approach to child’s learning. On the contrary, we suggest, for the critical stage of moving from arithmetic to algebra, a smooth way from an algorithmic solution of an arithmetic problem to its algebraic expression and coding. Commutative diagrams could come into the play a few years later, not now.

If we go into the underlying mathematics, we quickly discover that only one of these answers (a)—(d) can be represented by a commutative diagram similar to diagram (1). Indeed, if \( \circ \) and \(\lozenge\) are two binary operations on the set of positive real numbers \({{\mathbb{R}}^{{ > 0}}}\) satisfying the commutative diagram

(2)

for some map \(\phi :{{\mathbb{R}}^{{ > 0}}} \to {{\mathbb{R}}^{{ > 0}}}\), then

$$\phi (a\circ b)=\phi (a)\,\,\phi (b),$$
(3)

that is, \(\phi \) is a homomorphism from monoid A = \(\{ \,{{\mathbb{R}}^{{ > 0}}}, \circ \} \) to monoid \(B=\{{{\mathbb{R}}^{>0}},\}\). In answers (a) and (d)—by the way, these are the geometric and harmonic means, quite important concepts on their own—the monoid \(A\) is idempotent, that is, \(a \circ a = a\) for all \(a \in A\). But then the image \(\Im (\phi )\) of \(\phi \) is also idempotent. Hence \(\lozenge\) cannot be, for example, the standard addition because \(\{ {{\mathbb{R}}^{{ > 0}}}, + \} \) has no idempotents, and if \(\lozenge\) is the standard multiplication then \(\Im (\phi ) = \{ 1\} \) and \(\phi (a) = 1\) for all \(a \in A\). This is the trivial homomorphism which carries no information about the operation \( \circ \).

Answer (c) is not even an operation: it is not defined at a = b. It has a singularity there, which makes it even more difficult to represent it by a commutative diagram of kind of diagram (1) with a nice, and familiar to children, binary operation \(\lozenge\) in the arrow at the bottom.

Equation (3) provides a way of constructing an unbelievable variety of commutative diagrams of the kind of diagram (2). You have to start with an arbitrary binary operation \(\lozenge\) on \({{\mathbb{R}}^{{ > 0}}}\) and take an arbitrary 1—1 bijection \(\phi \) on (permutation of) \({{\mathbb{R}}^{{ > 0}}}\) and define

$$a\circ b={{\phi }^{-1}}(\phi (a)\,\,\,\,\phi (b)),$$
(4)

then diagram (2) is obviously commutative. And we are spoilt for choice: there are at least \({{2}^{{{{2}^{{{{\aleph }_{0}}}}}}}}\) permutations \(\phi \). The only question is

How many of these commutative diagrams are relevant to school arithmetic and elementary school algebra?

We are afraid, just a handful. Some of them are interesting, but still rather isolated.

For example, we can take \(\,\,=+\), and \(\phi (x) = {{x}^{n}}\), n a natural number. We get a commutative diagram

(5)

The case n = 2 is exhibited by Fletcher as “Pythagorean map”:

(6)

—but the diagram gives no indication of how the Pythagoras’ theorem has been proved.

10 CONCLUSIONS

In this brief discussion, it has to be emphasized:

Questions in the solution are supposed to be formulated by Learner, not by a teacher. Learner has to be in control [5].

What we have seen:

• Careful analysis of data.

• A sequence of “questions” which naturally becomes an algorithm.

Also, concepts from Computer Science:

• Typed variables, aka “named numbers.”

• Evaluation by call by name and by call by value.

• Reification as a way of introduction of intermediate parameters.

11 SOME SOCIO-POLITICAL COMMENTS

L’enfer, c’est les autres.

Jean-Paul Sartre, Huis Clos, 1943

The old (1996!) paper by Neil KoblitzFootnote 11The case against computers in K-13 math education [20] is well worth re-reading. His warnings are still relevant and fully apply to the possibility of badly prepared, underfunded, hastily introduced computerization of mathematics education in schools:

The downside can be divided into several broad areas:

\( \bullet \) drain on resources (money, time, energy);

\( \bullet \) bad pedagogy;

\( \bullet \) anti-intellectual appeal;

\( \bullet \) corruption of educators.

We hope this paper may serve as a warning: proper introduction of “computational thinking” in school mathematics is an immensely complex and highly expensive task.

We can only applaud the heroic efforts of hundreds of teachers in various countries who are trying to do something in this direction, and we think it is very important to help them in every way available, their experience needs to be studied, systematized, and fed into the development of a potential reform. Very often they are some of the best teachers in their countries. Unfortunately, this usually means that methods and approaches discovered and developed by them are, by default, not scalable and not transferable to the entire country, and for a basic reason: most other teachers are not like them, they are less educated, less motivated, and frequently demoralized by the daily grind of school work.

A serious reform requires a systematic re-education of a whole army of teachers and providing them with (paid, of course) time for personal professional development. An immediate consequence: we will need more teachers.

Lessons of Kolmogorov’s reform of school mathematics curriculum in Russia in the 1970s [8] need to be learned. Andrey Kolmogorov was the world famous mathematician, he had best intentions, but his reform spectacularly failed, and one of the reasons for that was underestimating the role of teachers, even direct neglect of teachers. What is really sad is that Russia at that time had a well developed and functional system of preparing mathematics teachers via a numerous pedagogical colleges (4 years or tertiary education) and mathematics departments in regional universities (5 years)—but this resource had not been engaged. Arguably, this educational powerhouse degenerated over the years, but still the situation in Russia is unlikely to be as bad as that in the UK where, in the words of Tony Gardiner (the best expert in mathematics education in Britain) [16],

We know of no other system that pretends to train mathematics teachers by placing small groups of trainees at the mercy of teachers with no relevant ITE [Initial Teachers’ Education] experience beyond being themselves teachers, with much of the input being “generic” rather than subject-specific. England appears to be alone among developed nations in embracing such an approach.

Recalling again the tragic fate of Andrei Kolmogorov and his reform [8], we reiterate our warning:

Any attempt of a deep reform of mainstream mathematics education is a huge task. It is dangerous to undertake it lightly.