1 INTRODUCTION

1.1 Statement of the Problem

Task encountered by the digital economy and, more broadly, the digital civilization form fundamentally new ideas about the competence of both professionals and wide public. This competence is based on the so-called computational thinking, or digital functional literacy. In this case, a key element is, on the one hand, the ability to design algorithmic processes, i.e., programming in a manufacturing or conditional environment, for example, in a game environment (A wolf, a goat, and cabbage, etc.). On the other hand, computational thinking implies the presence of views that make it possible to evaluate the feasibility of implementing certain algorithms and the computational complexity of certain tasks.

One of the first baseline tasks a person faces is the enumeration of variants. The associated rigorously formulated problem—the universal search problem [1]—is the number one item in the list of Millennium Prize Problems [2]. Note that in modern mathematics answers to the questions of whether an object exist, how many objects there are, and how to construct an object are often closely related in meaning. In this context, the term “enumeration” is used (see, e.g., the book Graphical Enumeration by Harary and Palmer [3], which begins with the epigraph to Roget’s classical Thesaurus [4] (left untranslated in the Russian edition): “Enumerate, count, number, call over, run over, take an account of, call the roll, muster, poll, sum up, cast up, tell off, cipher, reckon, reckon up, estimate, compute, calculate.” Probably, the Russian list would be shorter, but would also contain at least ten words and concepts.

Let us specify the educational context. We believe that the task of constructing all objects satisfying a certain condition always was and still is a universal problem of mathematics. Of course, an example of such a problem is the traditional school mathematical one of solving an equation, or, as written in more detail in some problem books, “find all solutions and prove that there are no other ones.” However, the modern system of teaching school algebra masks the general formulation: this system prompts the student to immediately do transformations and then to check the domains of the arguments. In student’s system of views, this check has no relation to the logical proof of the fact that all solutions of the equation (and no extraneous ones) have been found.

In traditional school courses, the task of correctly finding a finite set of discrete objects is usually addressed in high school in the context of a topic called combinatorics. Unfortunately, in school and college courses, this topic, as a rule, quickly turns into a set of addition rules and multiplication rules; for university students, into the computation of binomial coefficients and obtaining asymptotic estimates. As a rule, the main task in a course of combinatorics is not the construction of the necessary set, but rather answering questions like “How many ways are there to do something?” or “How many variants are there for…?». Here is an example on this topic chosen at random from a methodical letter of the Ministry of Education of the Russian Federation. Everything is says about combinatorics is “Solving combinatorial problems: enumerating variants, calculating the number of variants using multiplication rules” [5]. There are a number of grounds for this setting, but some of them make no sense today. Focusing on calculations, i.e., answering the question of “how many” simplifies the formal verification of the numerical answer by the teacher, while pushing students to guess: “combinations?,” “partial permutations?,” “what formula should be used?” Moreover, students have no possibility to calculate, even less to construct (which we call to  enumerate) sufficiently large sets of objects, for example, samples with replacement or paths in a graph.

At the same time, the question remaining unclear and often leading to errors is which of the objects constructed are regarded as identical, i.e., that do we count? Practice shows that the school set of concepts is often insufficient for a meaningful discussion of even the simplest properties of numbers and figures. For example, what does it mean that the order of terms or factors in an expression is not important? In what sense is the factorization of a number unique? The triangle ABC and the triangle CВA—the same object in the picture—are they the same triangle or different ones? Are the quadrilaterals ABCD and ABDC the same, or are they different?

Sporadic attempts to place combinatorial problems in elementary school (see [6]) are blocked by the excessive abstractness of the initial approach: it is difficult for young students to count the abstract number of ways, rather than particular objects, unless the problem is reduced without understanding to substitution into a formula. In this case, even less attention is paid to the identity of objects.

1.2 Proposed Solution

In this paper, we consider a set of problems concerning the enumeration of variants used in a modern course of mathematics and computer science taught in tens of schools in Russian Federation within the program launched by the USSR Academy of Sciences in the second half of the 1980s [7].

The importance in education of going beyond arithmetic knowledge–abilities–skills and fixed algorithms for solving arithmetic problems of given types was realized and emphasized as early as the beginning of the 1980s by Feigenberg [8]. Even earlier this was noted by well-known mathematicians engaged in school education (see [9], [10]). In elementary school we begin to introduce combinatorial objects, rather than discussing how-many questions. It is part of the general approach of the course: shifting the focus from several types of arithmetic problems of the 19th century to a wide variety of questions of modern mathematics and computer science. More precisely, we mean the general approach used in the following two courses: Mathematics and Informatics, Grades 1–4 [11], coauthored by Semenov, Posicelskaya, Posicelsky, Soprunova, Khovanskaya, Mikhailova, and Rudchenko, which takes 4–5 hours of work per week, and Informatics, Grades 1–4 [12], coauthored by Semenov and Rudchenko, which requires 1 h per weak. Both courses were created within the same concept under the general guidance of Academician Semenov.

We introduce strings (finite sequences), sets (bags, finite multisets), cyclesFootnote 1, trees, and tables as objects uniquely understood and used by all students and teachers. At the same time we define their identity (avoiding the overloaded term “equality”). In elementary school, all these objects are assumed to be finite. This makes considerations of numbers and figures much more ordered and systematic and set them in the wider and more modern context of modeling and computational thinking [13]. The study of these objects makes it possible to introduce a wide variety of recreational mathematical problems into the general school curriculum, to give uniquely understood statements and logical formulations, and to develop big ideas embodied in these problems [14], [15].

Note that the finiteness of the set of objects constructed is not the most severe limitation, although, a finite set of solutions is of course the basic model in elementary school. The consideration in elementary school of problems with all solutions to be found serves as a preparation for problems with an infinite solution set.

The problem of finite set construction naturally arises in continuous mathematics as well, for example, in geometry. A classic example is a triangle with a median drawn in it. The question is how many triangles are there in the picture? At first glance, there are two triangles, but there is also the large triangle made of two smaller ones. This problem leads to a series of tasks developing geometric vigilance and continues the development of skills concerning systematic enumeration of variants, which are useful in middle and high school.

In this paper, the problem of constructing (enumerating) all objects satisfying a prescribed set of conditions is the enumeration problem. The enumeration problem is discussed in [3]. It is possible to enumerate triangles in a picture, wallets with a given sum of money, strings in which every number is greater than the preceding one by at least 2, and so on.

In our course Mathematics and Informatics, students enumerate all strings consisting of two 2’s and three 1's or binary trees with a given number of vertices, writing or drawing them in the workbook. It may happen that the number of objects is known, but this does not make the problem senseless: to enumerate all objects without repetition, it is necessary to devise an enumeration principle. Note that understanding the enumeration principle is a direct path to a deep understanding of combinatorial formulas from conventional combinatorics problems in the future.

In our view, the construction of objects before counting them would be useful not only for children, but also for college students. A reasonable approach for them to write a code printing one by one all combinatorial objects with given properties (see, e.g., Shen’s programming course [16]).

Let us discuss the important issue of uniqueness in understanding the formulation of the enumeration problem. For example, how can we count the number of ways to decompose a (natural) number into a sum of ordered terms? Does it mean that the terms are arranged in increasing order (i.e., the partition 10 = 2 + 3 + 2 + 3 is not suitable) or that the order of the terms is important (i.e., 10 = 2 + 2 + 3 + 3 and 10 = 2 + 3 + 2 + 3 are different partitions)?

In our course, this issue is resolved at the level of separation of concepts: in the former case, we enumerate all sets (multisets) summing to 10, while, in the latter case, we enumerate all strings (sequences) summing to 10. A systematic exposition of the used system of objects can be found in another paper of this issue, namely, in “Mathematical elements of elementary education,” by Posicelskaya, Semenov, and Rudchenko, while examples of their use are given in the textbooks of courses Mathematics and Informatics [11] and Informatics [12].

Thus, the baseline objects of our course significantly expand traditional arithmetics. This is associated with another, more significant circumstance. The main goal of arithmetics in elementary school 150 and100 years ago was to teach a child to mechanically perform arithmetic operations in a given context, for example, to add up the amount of goods sold over a week. This had to be done quickly and unmistakably, using an abacus and a sheet of paper with a pencil. To some extent, this task corresponded to the general task of teaching a human to follow received instructions accurately and quickly. This goal continued to be translated into school 50 years ago, when its pragmatic importance nearly disappeared: a human who needed to calculate something used a calculator or computer. In the 21st century, the role of independent decision making in a rapidly changing reality is increasing sharply, while the role of formal obedience is reducing. Taking this into account, we expanded the subject content of the course and the class of original objects to significantly enhance the novelty of problems to be solved by children, so that they more often encounter problems that are not-known-how-to-solve (for more details, see [17]). Of course, in solving such problems, the pleasure of discovering new things mixes with enjoyment in showing yourself and others how you can do something. Both cases involve positive motivation. The corresponding general pedagogical guidelines can be considered to belong to the Russian tradition of mathematical circles and schools. They are considered in [17], [18].

In terms of classroom management, enumeration problems have another, somewhat unexpected advantage: they can and, in most cases, even need to be solved by the whole class or in several groups; moreover, everyone masters the material at the individual level. These problems are sometimes too lengthy to be solved by an elementary school student individually, but problem solving can be effectively organized in a group. Here, collective work is an organizational, psychological, and life implementation of a major idea of modern computer science and computing practice—divide-and-conquer: mathematical ideas are mastered by studying particular, clearly formulated mathematical issues combined with human interactions and communication. In solving the problem of finding/constructing all objects with prescribed properties, there appears a wide range of participation activities for everyone. Some students only check that all statements hold for a found/constructed object. Other students can create objects with the necessary properties. The third group of students can filter out identical (repeated) objects and try to find principles for systematizing the search. The fourth group explicitly formulates these principles as a result of a discussion, which makes it possible to check the completeness of the search. Finally, the fifth group can prove that the enumeration has been completed and there are no other objects with given properties. From time to time, representatives of each groups report their actions and findings in a general discussion. As a result, each student receives experience of participating in solving the enumeration problem and an understanding of how the enumeration process was organized. More details on this subject can be found in Posicelsky’s article [19]. This issue will also be addressed later in this paper.

Note also that our approach to constructive combinatorics has meaningful parallels with Piaget’s constructivism [20] and Papert’s constructionism [21].

The subsequent presentation begins with a description of baseline problems underlying the whole system of enumeration problems. Then we give examples of enumeration problems, each being an entirely new nonstandard one for students, and discuss the general cognitive strategies and big ideas that are formed in solving this problem.

2 CONSTRUCTION OF AN OBJECT, CHECK OF ITS PROPERTIES, AND ENUMERATION

Mathematics begins when a human begins to think and draw conclusions: we want to teach children to reason. Elementary school students can rarely construct faultless and nice arguments, and it is impossible to ask them to do so. However, we can ask them to create an object that cannot be built without reasoning. Even before that, it is possible to see reasoning in understanding and explaining that an object has some property.

The construction of an object having some property, in other words, satisfying a certain condition (set of conditions) is involved in most problems addressed in this paper.

In both actual computations and abstract mathematical arguments, the construction of an object can be a rather complicated process, while the check of its properties can be a simple task. Sometimes the check is obvious by construction: this is how we have built the given object. In mathematics and computational tasks, such a situation is faced in enumeration problems, search problems, etc. A detailed discussion of this issue will be given in the last part of the paper.

Now we consider in more detail the elements of solving problems of object construction.

2.1 True and False Statements

Statements can be made about any object. Examples of true statements about a string are given in Fig. 1.

Fig. 1.
figure 1

Definition of true statements: examples.

A fundamental task of elementary school education that is desirable to solve at the beginning of the course is to introduce children, on examples, to the idea of true or false statements (see Fig. 2).

Fig. 2.
figure 2

True and false statements.

There are also statements about which we do not know for some reasons if they are true or false, but they are avoided in the base line of our courses.

2.2 Problems: Construction of an Object with Given Properties and Enumeration

When children become familiar with checking whether an object has given properties, a more challeging task arises, namely, to construct an object with given properties.

Coloring of a cycle. The task can look as follows: color the beads in a string (bag, cycle) so that certain conditions hold, or certain statements are true (see Fig. 3).

Fig. 3.
figure 3

Problem of constructing an object with given properties.

Figure 3 shows that all beads are round. We invite the reader to try to solve this problem and observe what strategies they use for this purpose. One strategy is to try and see what happens. It contradicts the traditional public and school stereotype of the solution process as “doing it right from the beginning.” Of course, by thinking more, it is possible to come up with the idea of taking two different beads in the cycle; they are necessarily followed by a yellow one. Then two variants are considered: the last of the two beards is yellow and not yellow, etc. However, the same consideration can be obtained through an experiment, namely, by examining all possibilities and discarding the ones for which some the conditions does not hold.

The habitual picture-coloring format of the task makes it possible for the child to focus on the task’s substance. A sequence of such coloring tasks can begin with the simplest ones, and a task might be unexpected, not-known-how-to-solve even if the condition looks simple.

The task described above is not easy, and most students might not be able to solve it at once. It can be preceded by a number of tasks, each solvable by the student, but contains something new as compared with the preceding ones. An example of such a preparatory task is to color some bead red, and the other green (a cycle of two beads is displayed).

Arrangement of points on a segment. Another type of search problems is concerned with relative positions of points on a segment. In this case, enumeration appears spontaneously: one way is not suitable, let us try another one (see Fig. 4).

Fig. 4.
figure 4

Problem about relative positions of points on a segment.

Placing points P and Q at random, we can start checking the first condition to understand the relative positions of P and Q on the segment. Using the last condition, it is possible to see that we need to examine the location of only one (any) of the two points, since the location of the other is uniquely determined, as mathematicians say. Now we can start examining and experimenting again, placing P arbitrarily, constructing Q, and comparing two resulting segments by counting unit segments. A hypothesis emerges regarding to which side P should be shifted to improve the situation (if we were not lucky). After several attempts, we achieve our goal. Note that the statement of the problem does not require checking (proving) that there are no other solutions (although we see that there is no one indeed).

Note that the points in this problem have names. The issue of naming mathematical objects is beyond the scope of this paper. We only say that names are introduced in a visual context, when it can be seen that the value of a name is a certain object, for example, a string, figure, or point. In this problem, it is also seen that an object already has a name (it is given in the problem statement), but its value is to be found by searching points.

This problem may be difficult for a child dealing with it for the first time, since it is of the not-know-how-to-solve type. It is useful for all children in the class to face this problem and try to solve it. If the problem is too difficult to solve for someone, they can solve a series of problems, each being also not-known-how-to-solve, but manageable for the students. The series can begin with determining the length of the drawn segment by counting the unit segments it contains. Additionally, the series can include problems, such as drawing a segment of given length, choosing a point on the segment with a given distance to one of the endpoints, finding the distance to the other endpoint, and finding by enumeration (trial and error) a point with a given difference of the distances: the distance to one endpoint is longer by a certain value than to the other.

For a mass teacher, a sufficient number of tasks of varying complexity are prepared in advance and are contained in the educational literature of the course. On the other hand, problems can also be prepared by the teacher, which becomes part of pedagogical culture of a good teacher. Problems of both types can be stored in a digital version of the course.

Geometry of rectangles. As an example, we consider the problem of constructing an object involving arithmetics of small numbers and geometry of rectangles even in the first class. In this problem, P(…) denotes the perimeter of a figure, i.e., the length of its boundary (see Fig. 5).

Fig. 5.
figure 5

Problem of constructing an object with given properties.

This problem is also not the first in a series of problems that are not-known-how-to-solve. It is also supplemented with a series of problems with the same property of novelty for each step. First, the tasks are simply to construct rectangles with named vertices. The examples help understand that the vertex names in the name of the whole rectangle go clockwise. Next, the concept of perimeter is given in examples and the task is to find the perimeter of three (say) rectangles that include a square and a rectangle of width 1. Note that P is now not an object name, but rather the name of an operation over objects taking a geometric object to a number in visual context. Here, the complexity of using this name is reduced thanks to the fact that the value of the name is fixed; it is possible just to say “perimeter” where P is met. The teacher should fix (explicitly for themselves and less explicitly for each the students) an advance in the big idea of assigning names to objects, operations, and relations.

Next, the problem of constructing a rectangle with a given perimeter is considered. Here, in principle, it is possible to start a research project determining perimeters for which the problem has a solution—the discovery of even numbers (the sides of the rectangles are still integer; we draw them on squared paper).

The problem of constructing all rectangles with a given perimeter appears. It is necessary to think up how to do search in the construction process. The next problem in the project is as follows: for particular numbers, find how many different rectangles with a given perimeter there are. We face the above-mentioned problem as to what rectangles should be regarded as identical. Solving this problem is helped by cutting rectangles from squared paper. Going back to the original problem, we do not require the proof of the uniqueness of the answer. This result can easily be obtained from the solution, but the construction of the whole logical chain is too difficult for first-grade learners.

Fixed number of true statements. We use a sequence of problems in which the task is to construct an object that satisfies a given number of statements (see Fig. 6).

Fig. 6.
figure 6

Problem of constructing an object satisfying a given number of true statements.

Fig. 7.
figure 7

Problem of finding two identical objects.

Here, it is unclear among what objects (numbers) we should do search. Actually, there are infinitely many numbers; too many for a child. The “try any” strategy also helps in this case. When successfully repeated many times, this strategy no longer add a significant element of novelty. This is a general mathematical and, broader, life strategy. It is a big idea, i.e., a child’s acquisition that will be useful in the subsequent life. However, every subsequent application leads to “fixing” this strategy and to satisfaction from this application if it is successful.

Having taken an arbitrary number, the student will be able to find true and false statements for this number. Highly likely, the number will be small, smaller than all involved in the formulation of the problem. However, it is still unclear how to do a further search, since this problem is not-known-how-to-solve. Of course, there is a sequence of simpler problems leading to this one. This sequence can bring the student to another big idea: trying to solve not the whole problem, but rather a simpler part of it and experimenting with this part. For our problem, the first step of this strategy can be as follows: we leave one out of eight statements: it is easy to find a number for which this statement is true and a number for which it is false. The next step is to choose any two out of eight statements and check them for different numbers. It turns out that there are numbers for which both are true, both are false, etc. If we draw the corresponding numbers on the number line, we can find a way of solving new problems that are not-known-how-to-solve.

Of course, the solution of this problem also gives an intra-mathematical result, namely, it develops the sense of numbers and intuition in the transition from an internal visual representation of a number as an extended object (ruler) if you like, unary number notation, to a number as a string of decimal digits with its length being the logarithm of the number.

Search for identical objects. Search for identical objects even in a rather small set can be a difficult problem. An example of such a problem is given in Fig. 7.

Here, the first idea is also to act at random, specifically, to see if two letters are similar and then confirm that they are indeed identical. However that to do if this approach fails? An idea arises, for example, of comparing the first letter to the others, then the second, etc. Following this approach in the given problem, we need to search all letters of the first row and pass to the letters of the second row. The solution is found in comparing the second letter of the second row. We have invented a search strategy.

This problem is preceded by another one in the course: given a bag of letters, find a letter in the bag that is the same as a given one. Solving these two problems is an excellent introduction to problems of mathematical and life complexity: the complexity of the search for the given object is linear, while the complexity of the search for two identical objects is quadratic.

Of course, there is an additional problem, namely, the organization of search; we already wrote about this above. In the linear case, you need to carefully view a series of pictures arranged line by line or tick the viewed elements of the bag. In the quadratic case, the situation is more complicated. It can simplify on a computer screen, where we can make two copies of the bag and check, having fixed the current object in the first bag, etc.

2.3 Divide-and-Conquer Principle

According to this principle, a problem is divided into subproblems that are solved independently and the solution of the entire problem is then built from the solutions obtained for the parts. The name of this principle was coined in social practice (politics), but its use in programming, mathematics, and everyday life is important for us.

Search for identical bags. The problem is to find two identical bags among 11 ones and write down their names (see Fig. 8).

Fig. 8.
figure 8

Problem of finding two identical bags.

In solving this problem, images of the bags are cut out of paper and are placed on the desk. Then we begin to classify them. For example, some bags contain a violet triangular bead, while the others do not; some bags contain a round red bead, while the others do not. Relying on these two conditions, we divide all the bags into four groups (see Fig. 9).

Fig. 9.
figure 9

Solving the problem of finding two identical bags.

Clearly, identical bags should be sought within a single group. These are bags B and I.

Problems that can be divided into independent subproblems are well suited for group work, in the whole class, and even in a lecture hall. For example, at a lecture at the MPGU, each student of the Faculty of Elementary Education (there were about 300 people) was given a bag (transparent zipped one) with round multi-colored M&M candies (there are M&Ms of six colors). Each bag contained eight candies. The task was to find identical bags among hundreds of them. The students quickly came up with self-organization methods to find groups with identical bags. Some of the bags were available in two copies, some, three and four copies. (It is easy to understand that, with random filling, there were rather few identical bags.) Of course, it is easier to carry out the work of this kind in a 30-people class, but if they are first-graders, this adds specificity to the organization of the work as compared with college students.

2.4 Construction of All Objects with Specified Properties

Explanation. In Russia, there are coins of 1 ruble, 2, 5, and 10 rubles. They have largely disappeared from circulation, since our textbook was first published. Accordingly, some our problems have lost their daily meaning. However, “paper coins” are still a convenient and visual material for use in school. Note that the solution of this problem, as well as others, has specific features depending on the environment of students’ activities. In another paper of this issue (M.A. Posicel-skaya, T.A. Rudchenko, and A.L. Semenov, “Mathematical elements of elementary education”) we listed the types of environments for work with our combinatorial objects: material, visual, and screen-based. In this problem, it is natural to use paper coins. Children can cut them out of thick paper. In a screen environment, the sum of money in a wallet can be calculated automatically, so that the learners can focus on the combinatorial aspect of the problem. Automated summation can be switched off. Then mental calculation is trained in parallel with combinatorics.

Problem of a wallet with 6 rubles. The task is to draw all wallets with a sum of 6 rubles. As was mentioned above, a major general ability that children should learn and begin to apply systematically in elementary school is the ability to try to do something. In the given case, first it is possible to construct a certain (any) wallet. If we calculate the money in it, we can obtain 6 rubles. If this is not the case, we can try once again and a wallet with six rubles will eventually be obtained.

The next issue is how to organize the construction of all wallets? In this case, the students can make their own invention (or at least with a teacher’s tip) to try to search all possible numbers of 1-ruble coins in the wallet.

In this case if the wallet contains several 1-ruble coins, we see that there is at most one way of adding coins of other value to obtain a sum of 6 rubles. It turns out that there can be zero to six 1-ruble coins in the wallet, except for five and three (see Fig. 10):

Fig. 10.
figure 10

Solving the problem of constructing wallets with 6 rubles.

• zero 1-ruble coin: 2+2+2;

• one 1-ruble coin: 1+5;

• two 1-ruble coins: 1+1+2+2;

• three 1-ruble coins: no variants;

• four 1-ruble coins: 1+1+1+1+2;

• five 1-ruble coins: no variants;

• six 1-ruble coins: 1+1+1+1+1+1.

The chosen property (parameter)—the number of 1-ruble coins—completely determines the object constructed. A one-dimensional table is described by a single parameter of classification of objects and possibilities of their construction.

All three-beads strings. The task is to draw all three-bead strings for which the following statements are true:

The first and third beads in the string are triangular.

The second bead in the string is round.

Each bead in the string is red, yellow, or green.

All beads in the string are different.

The first two statements can be expressed graphically by drawing a string template with uncolored beads and we do not need to revisit them any more (see Fig. 11).

Fig. 11.
figure 11

Solving the problem of constructing all 3-bead strings: graphical template based on the first two statements.

It is great if the students can do this thing on their own: draw all the beads, but leave them uncolored, get a partial solution, and fix the number of beads and their shapes, leaving the choice of a bead color a free parameter until this color is decided. It is not bad, but rather useful if the student crosses out the first two statements, but it is better to circle each them and put a T letter (true) or + next to it (meaning that this has been considered and done).

The next important invention on their own in the problem is to try to do something at random, which was mentioned above. In this case, we mean that students color one bead (or all of them) and see what happens. In the preceding example, this meant putting a 1-ruble coin in the wallet, etc. The big idea of trial and error (guess and check) meaning to try to do something at random receives another reinforcement. The next invention is, after making some move (coloring a bead), to understand what were the other possibilities (i.e., alternatives) for this move. In our case, this is the color of the round bead.

The next question is how all these alternatives can be represented in the student’s mind and on paper. Given three strings, with only the middle bead colored in each, it is quite natural to draw them next to each other (see Fig. 12).

Fig. 12.
figure 12

Solving the problem of constructing all 3-bead strings: three variants of coloring the middle bead.

Each of these inventions could be dictated by the teacher to students. However, this would deprive them of the pleasure of making an invention or discovery on their own and would delay the formation of the corresponding big idea (generalizing one small invention) until the next time or “until never.”

The bravest student can somehow color the first bead in the string in the first column. It is possible to consider all alternatives to this action. We obtain three strings, which all can be placed under the string with only the round bead colored; thus, we obtain the first column in the table. For each the alternatives, it is useful to check whether we have violated some the initial conditions of problem (see Fig. 13).

Fig. 13.
figure 13

Solving the problem of constructing all 3-bead strings: three variants of coloring the first bead.

In the course of solving the problem, we find out that the arising opportunities and choices are of two kinds: we can choose what to do next (which bead will be colored next) or how to do it (which color will be used for this bead). We can discuss the order in which the possible colors will be considered. For example, we first talk about red, then yellow, and, finally, green (as in traffic lights).

Thus, we color the first bead in three possible ways and draw three more strings in the first column. Three colors and three possibilities give three (partial) results, i.e., three strings. It is worth discussing and understanding why two already colored beads are different. The student understands and can explain that they are different in shape. Some of the students may want to continue the work with the first column, while others, using the experience gained, will want to draw the other columns so that each them has three strings.

It is possible to decide at once how to color the last bead in the strings of the first column. It is necessary to watch closely that all possibilities are considered, but the condition is not violated.

After two beads have been colored, the third condition becomes important: all beads must be different. In this case, we see that there are only two variants of color for the third bead. It is not easy. If someone makes a mistake, we should ask them to explain how they acted. We can recall that it is necessary to satisfy all the conditions and to examine all the possibilities.

It is possible to try to predict, WITHOUT coloring the last bead, how many possibilities (variants) we have for each the drawn string. It becomes clear that, from each string, we need to make two ones. Thus, we can predict the total number of strings (see Fig. 14).

Fig. 14.
figure 14

Solving the problem of constructing all 3-bead strings: two variants of coloring the third bead.

Note that all steps in this search procedure have a visual presentation.

An important point to be understood by the students is that although the search procedure can be organized in a different manner and the objects in the tables can be arranged differently, the answer is a bag (set) of objects and they are not ordered in the bag.

What is the environment in which we work? In this case, the use of material strings is hardly possible, but they can be useful for simpler problems, where the result includes, say, four or six strings. Options are also available for a graphical environment (on paper). For example, strings can be drawn entirely by children or templates can be colored. Strings can be preliminarily cut out and glued, etc.

On a screen, of course, more options are available. For example, objects can easily be duplicated, beads can be recolored, etc.

Usually, a table does not appear immediately. First, children draw different strings and compare their numbers. When a table appears, it is useful to ask children to fill it out in groups. Children cut out the available strings and distribute them in the table. Once everyone is convinced that there are no identical strings in the table, they can be pasted and the missing ones can be drawn.

2.5 Organization of Search and Sequence of Choices

A variety of questions can be asked concerning the partition of all variants into classes and the determination of a parameter for choices and, thus, for the organization of the search. It is good if students offer different variants. Consider, for example, the following problem.

Problem of strings of length 3. The task is to find all three-letter strings consisting of letters A, B, and C for which the following statements are true:

• There are two identical letters in the string.

• There are two different letters in the string.

As a start, we can ask whether the string to be built can contain all three letters A, B, and C.

In the context of this problem, it is important to recall a convention widely used in mathematics. When we talk about a string consisting of letters A, B, and C, this does not mean that all three letters are necessarily present in the string. Even two different letters are not necessarily present; moreover, it is possible that there are no letters at all, i.e., the string can be empty. Here, we only say that there are no letters other than the indicated ones in the string. A big surprise for students can be situations in which silent conventions accepted in mathematics are counter-intuitive, but formally true. Of course, the tact and competence of the teacher are important here. This is another big idea: in certain the cases, the understanding of words is the result of a convention. In particular, the following passage of Lewis Carroll is often cited [22]:

“When I use a word,” Humpty Dumpty said in rather a scornful tone, “it means just what I choose it to mean—neither more nor less.”

“The question is,” said Alice, “whether you can make words mean so many different things.”

“The question is,” said Humpty Dumpty, “which is to be master—that’s all.”

Discussions of words, their use, and meanings are a helpful part of elementary mathematics, computer science, and linguistics (native language and native speech).

In this problem, it is natural to use the following general cognitive strategy: come up with a simpler variant of the problem. As in other challenging situations, inviting children to come up with a simple problem opens up meaningful opportunities and it is desirable that students think up a simplification themselves. For example, it is possible to consider the cases of two, or even, one letter. In the latter case, the problem, of course, has no solutions, but it is useful when students note this on their own. In the case of two letters, say, A and B, the problem becomes more meaningful. It is also possible to invite children to simplify it further. Many might realize that a further simplification is that the string has exactly one or exactly two letters A; there cannot be three, as we established earlier.

Auxiliary problem. Find all strings of length 3 that contain two letters A and one letter B.

Students quickly write down these strings: of course, a string is determined by where B is placed: |-A-A-B->, |-A-B-A->, |-B-A-A->. It is useful to check that both statements from the problem formulation hold for these strings.

The found pattern of three strings can also be used to solve the original problem. In this case, a new big idea is the identity and isomorphism of formally different situations. The teacher can talk to children about “similar” strings, trying to explain what similarity means in this case.

Search in the main problem can be organized in different ways, and students indeed deal with it in different manners. A trivial, but big idea of existing different solution methods for the same problem usually contradicts the traditional school approach to thinking and learning with the only correct solution, memorization, etc.

Suppose a student has chosen some property of strings. First, it is necessary to understand what the possible values of this property are and, in particular, to check that other values are not possible. Strings with an identical value can be put in a single column of a table, and this column can be called the value of the given property.

Below, we describe five methods found in children’s works.

As a property, we can use the number of letters A in a string. It immediately turns out that this number cannot be greater than two. In what follows, we retain only letters for better readability (see Fig. 15).

Fig. 15.
figure 15

Solving the problem of 3-letter strings: construction based on property 1.

There is a kind of order in this table: in the upper line of each cell, the “main” letter, in addition to A, is B (it occurs twice), while in the lower line, the main letter is C. The idea of a two-dimensional table may arise. The name of the first line will be B, and the name of the second line, C. Someone of the children might note symmetry: the lower line is obtained from the upper one by replacing B with C and C with B.

An alternative is to enumerate with respect to the letter, involved in the string twice (see Fig. 16).

Fig. 16.
figure 16

Solving the problem of 3-letter strings: construction based on property 2.

Here, passing from the upper to lower line, we also follow the alphabetic order.

Another way of reasoning is that if there are two identical letters, this means that some the three letters is not involved in the string (see Fig. 17).

Fig. 17.
figure 17

Solving the problem of 3-letter strings: construction based on property 3.

Which letter appears in the string only once (see Fig. 18)?

Fig. 18.
figure 18

Solving the problem of 3-letter strings: construction based on property 4.

Finally, it is possible to take the first letter in the string (see Fig. 19).

Fig. 19.
figure 19

Solving the problem of 3-letter strings: construction based on property 5.

It is useful to discuss the different ways of organizing the search, inviting the students to tell each other about their ways. In some cases, it is possible to show the children a finished classification and ask them to guess and formulate the principle underlying this classification.

2.6. Two-Dimensional Table and “Product Formula”

A two-dimensional table corresponds to the case when an object has two properties and we want to enumerate all their combinations such that all objects are different. If there is no object for some combination, the corresponding cell can be crossed out to mark this combination as having been considered.

A two-dimensional table can be used, for example, for enumeration of two-digit numbers (see Figs. 20, 21).

Fig. 20.
figure 20

Problem of enumerating two-digit numbers.

Fig. 21.
figure 21

Problem of enumerating three-digit numbers.

Tables are good for group work: first, all children write down numbers chaotically on paper sheets, then someone (at worst, the teacher) suggests filling in a table, and now everyone is looking for a place in the table for their numbers. Sometimes a table is given to children from the outset, and everyone has their one column to be filled in.

The question as to how many combinations of digits there are can sometimes answered without writing out all numbers. In other words, to calculate the number of variants, it is sufficient to believe that there is exactly one number in each table cell and these numbers are all different. If all objects to be created are independent combinations of an (ordered) pairs of objects, then these objects can be presented and their number is obtained via product. Thus, the product formula is a direct consequence of the construction of a pair and the definition of the product as the number of squares in the rectangle (its area). Thus, the students themselves come to the product formula for variants, which becomes understandable and natural for them. Moreover, it is useful for the children to understand when this formula does not work: for example if some table cell has no variants, so we cross it out, the number of variants is no longer equal to the product of the number of lines by the number of columns. In discussing the problem of three-digit numbers (before the children see it in the textbook), someone can realize that the number of columns in the table is exactly the number of cells in the problem of numbers consisting of two odd digits. It is an actual discovery, and it does not get any less because we are going to read about it in the problem statement.

As was noted above, convenient combinatorial objects for enumeration problems are traditional Russian coins with values of 1, 2, 5, and 10 rubles. They add an arithmetic content to the purely combinatorial one: the developed skill of quick summation will be useful for the child in any case.

Going back to the combinatorial aspect, we note that a wallet with such coins has four properties, namely, the numbers of 1-ruble, 2-ruble, 5-ruble, and 10-ruble coins. If we are interested in the sum of money in the wallet, it is natural to analyze it, starting with coins of higher value. As always, it would be good if this proposal come from one of the students.

Problem of a wallet with 36 rubles. Find all ways of obtaining 36 rubles by collecting coins of 2, 5, and 10 rubles.

Let us try to enumerate all variants with a fixed number of 10- and 5-ruble coins. This yields a two-dimensional table. Each cell of the table will contain the indicated number of 10- and 5-ruble coins and some number of 2-ruble coins to sum to 36 rubles. Starting to fill in the table, the student quickly conclude that one cell corresponds to either a single variant of filling the wallet or to no variant. It is worth discussing this experimental fact and giving it a “theoretical explanation” (see Fig. 22).

Fig. 22.
figure 22

Solving the problem of a wallet with 36 rubles.

Some cells can be cross out immediately. For example if the wallet already contains six 5-ruble coins, which sum to 30 rubles, it makes no sense to add another three 10-ruble coins: the sum will be greater than 36 rubles. Having discussed this circumstance, we can invite everyone to cross out other cells in which the sum of money is too large before adding two-ruble coins. If someone notices that such cells lie near the bottom right corner of the table, it is important to discuss collectively why it is so.

Possibly, some the children will understand that there are columns with no solution at all and will ask why it is so. A rather subtle explanation using parity will be accessible to many more students, because they conduct the experiment autonomously and try to explain its result.

Problem of finding all divisors of a number. With the help of a table, it is good to enumerate all divisors of a number having only two prime divisors. This exercise consolidates the idea of a number as a bag of its prime factors.

For example, consider all divisors of the number 1 000 000 (see Fig. 23).

Fig. 23.
figure 23

Solving the problem of finding all divisors of 1 000 000.

This table is organized as a usual multiplication table: each cell contains the product of the row and column values. Each divisor of a million represents the product of some number of 2's and some number of 5's, so nothing has been lost. Thus, 1 000 000 has 49 divisors. We can have a competition: who can fill more cells of the table without using a calculator.

Of course, the above table does not imply that 1 000 000 has no other divisors, for example, 7 or 128. These two facts, as well as other similar ones, can be checked experimentally, namely, via mental reasoning or with the help of a calculator. The general fact that our table contains all divisors of 1 000 000 is a special case of the fundamental theorem of arithmetic.

2.6 Two Sequential Choices: Bags and Strings

Consider a simple model problem in which students begin to form the idea of sequential choices in different representations of objects. In the problem, the conditions bounding the class of objects involve the numerical relation “greater than” (see Fig. 24).

Fig. 24.
figure 24

Problem of coloring beads in 3-bead strings.

The consideration starts with discussing the following question: given a string with two yellow beads and no green ones, is it true that the number of yellow beads is greater than the number of green ones? The children can be invited to exchange their views on the issue, and eventually a general idea can be formulated that if there are no beads of some color, then the number of them is zero. Next, numbers of beads should be compared: if there are two yellow and no green beads, then the yellow beads are more than the green ones, because 2 > 0. It is also possible to begin with the fact that the words “using only red, yellow, …” must be understood so that it is possible to use only the listed colors, but, for example, red may be absent at all. This is the language of mathematics!

Then the students are asked to draw bags of 3 beads to be used to make up strings solving the problem. It is possible to enumerate with respect to the number of yellow beads, immediately determining the possible number of green beads, and add red beads to obtain a total of three.

It turns out that there are four bags with

• 3 yellow beads,

• 2 yellow and 1 red beads,

• 2 yellow and 1 green beads,

• 1 yellow and 2 red beads.

A table can be made where these bags are the column names. The resulting strings can be put in the cells of the table (see Fig. 25).

Fig. 25.
figure 25

Solving the problem of coloring beads in 3-bead strings.

2.7 Enumeration Tree

What is an enumeration tree? For the root of the tree, we put the statement of the problem. For branching points, we put questions allowing us to break the entire set of variants into classes. Every branch represents an answer to a question. Finally, the objects to be enumerated or constructed are placed at the leaves of the tree. The enumeration tree is often a binary tree (e.g., if the answers are always yes or no), but there are other possibilities (see Fig. 26).

Fig. 26.
figure 26

Schematic view of an enumeration tree.

Every branching point (node of the tree) contains a question. If the answers to previously asked questions do not determine the object constructed uniquely, it is necessary to ask another question. If an answer does not give any variant of action and the construction fails, we put down a cross.

If there is only one answer to a question, then only one branch leaves the node. This can occur when a final variant (tree leaf) has been reached, but we possibly want to ask an additional question to make sure we do not forget anything. There would be several answers to this question, but all of them, except one, would end at a cross because of the contradiction to the problem statement.

For elementary school problems, the path from the root to a leaf should not be too long: at most five nodes; otherwise, it will be difficult for students to keep in mind all the answers to the asked questions, even if they are written near the branches. An exception can be made in the case of homogeneous questions, for example, in guessing a number from a given range. To reduce the height of the tree, all things being equal, we can choose a question that has more possible answers; that is branching, rather than the height of the tree is increased. This means that out of two questions: “Is there is a number of 6 in the bag?” and “What is the smallest number in the bag?” we choose the latter one.

In many problems, it is useful to depict a full enumeration tree on a large sheet of paper. In problems with same-type, repeated branches, it may be sufficient to draw a part of the tree.

Discussion of school mathematics often emphasizes the importance of problems with many numerical answers or no answer [23]. The topic of this paper is the construction of a set of answers, and this set may be empty. In the case of search with the help of a tree, the possibility of no answer becomes visual: it may happen that all paths of the tree will end with crosses. This means that there is no object satisfying the given system of conditions. Of course, such an answer can be incorrect if something went wrong in the construction process, for example, a branch was missed. In this case, the drawn tree helps the child to check their solution and to find and correct the mistake autonomously or with the help of the teacher.

Note, finally that the tree is a natural combination and generalization of two baseline structures in our course: a string (sequence of choices) and a set (bag) of alternatives, i.e., branches leaving a node.

An enumeration tree in graphical or mental form is convenient for enumeration of all

• bags with given properties, including bags of numbers with a given sum or product;

• strings and cycles with given properties (e.g., strings of digits in arithmetic puzzles);

• parts of a geometric configuration with a certain property, for example, all pentagons in a figure;

• moves in a game tree between objects and properties in problems, where partial information on these properties is given and the task is to recover a complete pattern; such problems are discussed in [24]. Some of the problems in [24] are solved using two-dimensional tables, while the solutions of others rely on trees.

2.9. Strings’ Enumerating

The easiest way of enumerating strings is by constructing the first, second, and third elements (beads) of a string, etc. However, other strategies are also possible. For example, it is sometimes more convenient to construct a string from its end, to start from a distinguished bead with known properties, or to fix both the bead number and the values of its properties as variants of the first move. A general productive strategy is to fix the information extracted from the statement of the problem or obtained later. As a result, a “partially determined” string appears in which some of the beads gradually get their shape or color, the lengths of certain segments are known, but their relative positions are not yet determined, etc.

Problem of monotone strings. In the following problem, the search parameters are not obvious in advance and emerge in using the “try-somehow” strategy mastered by students. The problem involves arithmetic terms, such as “greater than by a certain number,” “greater than by a certain factor,” “greater than by at most some number,” etc. Thus, this problem consolidates some arithmetic concepts, but its main idea is still combinatorial (see Fig. 27).

Fig. 27.
figure 27

Problem of seven-digit strings.

The student begins to try, putting 2 the first in the string, as is said in the problem statement: this is the only variant. What should be put in the next place? The problem statement shows that we have several choices: 3, 4, 5, 6, 7, 8, or 9. A cautious and understanding child puts 3 in this place, while a more risky one puts 9. A “mathematician” and a skilled experimenter puts, for example, 5 and sees what happens next. For some point of the discussion, there may emerge an idea of always taking the smallest possible number as the next. The resulting string is |-2-3-4-5-6-7-8->.

One variant of the required object has been constructed. Simultaneously, we have understood that some the previously suitable choices of the second element in the string are not promising. Some of them are a failure in advance. Thus, several choices are made sequentially, and some them end in nothing, i.e., they do not lead to the construction of any object. This visualizes the moves and deadlocks in the form of a tree and leads us to the formulation of an appropriate conceptual framework.

Problem of 1–2 strings. Given an uncompleted enumeration tree, the task is to put the necessary strings in tree leaves (see Fig. 28).

Fig. 28.
figure 28

Problem of 1–2 strings.

Thus, the tree helps us build all strings with nothing missed. Here, the novelty lies in the transition from two choices to their result, i.e., to the constructed string.

2.10. Bags’ Enumerating

Enumeration tree for bags of numbers with a product of 128. The task is to understand the principle of constructing a tree and to write the necessary numbers in the bags. Before the start, it is useful to decompose 128 into prime factors and to write down all divisors of this number (see Fig. 29).

Fig. 29.
figure 29

Problem of enumerating bags of numbers with a product of 128.

At first glance, the problem does not look too complicated. However, most learners hardly succeed without some hint, for example, in the form of the tree presented in Fig. 29. After solving the problem with this tree, the students can be asked to solve it differently. First, the class can discuss what the largest number in a bag can be. Then the cases of this number equal to 128 and 64 are considered collectively. Next, the class is divided into groups, and each group chooses its largest number. One of the issues is to determine the list of alternatives.

2.11. Enumerating of Geometric Configurations

In learning geometry in middle school, a frequent obstacle that hinders students’ progress is three-letter notation of angles and the impossibility to see this figure in the drawing. In elementary school these two abilities can be trained without being distracted by more complicated things, such as problems, definitions, axioms, and theorems. However, even earlier, it is possible to invoke a broader context, including, a topological one, and to consider more general polygons than those addressed in the standard course of geometry.

At the beginning of the course, children learn the concept of a domain, i.e., a connected component that can be colored without crossing the boundaries (see Fig. 30).

Fig. 30.
figure 30

Problem of calculating the domains in a picture.

Of course, the problem of counting domains is also explained using illustrative examples.

Next, the children inspect various examples of polygonal domains with indicated numbers of vertices and sides (see Fig. 31).

Fig. 31.
figure 31

Examples of domains that are polygons.

The mathematical essence, which is explained by examples without introducing terms, is as follows. A polygon is a figure bounded by a closed polygonal line without self-intersections. In other words, a polygon is not necessarily a convex figure. Useful examples of nonpolygons are given in Fig. 32.

Fig. 32.
figure 32

Examples of nonpolygons.

The left figure consists of two pieces that do not make up a polygon. The right figure has a hole inside, and its boundary consists of two (rather than one) closed lines; this is also not a polygon.

Problem of finding all triangles. List all triangles drawn in the figure (see Fig. 33).

Fig. 33.
figure 33

Problem of enumerating triangles.

In the enumeration, it is easy to get confused. What can help us order the process? Students can calculate the number of (monochromatic) domains forming one of the triangles to be found.

A detailed, rather complicated analysis of all cases is given below. The teacher’s goal is to organize the work of all learners, suggesting to each student or group of students their own set of leading questions such that the current task is difficult, but feasible. The auxiliary statements formulated below can arise in a dialogue with the class, as if invented by the children themselves.

First, we consider monochromatic domains: there are six such domains in the figure; four of them are triangular.

The next step is that every two domains having a common boundary are joined together. There are seven such boundaries and joined shapes in the figure; six of them are triangles.

Some children begin to see triangles even in these cases. It is important that the students advance at their own pace. They can rather quickly find some examples in each the cases. However, it is necessary to make sure that all examples have been found.

Let us see how many triangles can be made up of three domains. First, we note that, among three domains composing a triangle, there must be one lying next to the other two. It is of interest to discuss this statement: if the first domain shares a boundary only with the second one, then the second must be next to the third; or this statement is regarded as obvious. Therefore, we can enumerate all six colored domains, add two to each them possibly in different ways, and choose triangles out of the resulting shapes. This can be done mentally in a collective discussion, but some of the children might like to organize enumeration in the form of a tree. To help them, it is possible to hand out numerous copies of the original uncolored figure. Then the students can draw partially colored triangles at nodes of the tree.

From the root, we arrive at six figures with one domain colored. Then, in addition to this two-domain coloring, the largest number of branches from each node (as is easy to see) issue in the drawings where the domain borders the other three. It is to these (two) domains that we can add another two to obtain triangles. Thus, two triangles have been obtained from three domains in Fig. 33.

In this case, a visual presentation is an important part of the proof that we have found all possibilities.

Let us see how many triangles can be made up of four domains. Note that there are exactly three domains that do not contain the point P. Therefore, among four domains joined together, at least one contains this point. All domains containing P are triangular. Each of them borders at least another one containing P. If our quadruplet includes only one such domain, then the other three do not contain P. Enumerating three domains containing P, we see that the addition of these three domains to each them does not yield a triangle. Including all domains containing P in the quadruplet and adding one of the three domains to them do not yield a triangle either. The only case left to be considered is when a pair of domains containing P is added to another pair that does not contain P. Considering three variants yields two triangles.

How many triangles can be made up of five domains? Enumerating the domains other than these five, we see that no triangle is obtained.

Out of six domains, one triangle was obtained earlier.

It is of interest to solve this complicated problem collectively, building one large tree and discussing enumerated variants. Of course, the children are divided into groups, which are different at different stages.

Problem of finding all hexagons. Find all hexagons drawn in the figure (see Fig. 34).

Fig. 34.
figure 34

Problem of finding all hexagons.

The students are invited to understand the principle underlying the construction of an enumeration tree and to color hexagons at tree leaves in the drawing. Our drawing consists of triangular domains that cannot be divided into smaller ones. A good idea is to color all of them in different colors.

The first question, as in the preceding problem, is the number of domains forming a hexagon. Here, a theoretical discussion is possible: how many triangles can form a hexagon if they share only a whole side?

Two triangles have a total of six vertices. Two triangles glued together along a whole side have a total of vertices given by 6 – 2 = 4. A useful idea is to discuss whether gluing two triangles can yield a triangle and, if so, why this does not contradict our calculation.

Three triangles have a total of nine vertices. This would be enough for a hexagon, but let us see. If we glue together two triangles, then the total number of vertices is reduced to at least seven. Gluing another one to them yields at most five vertices, which is unsuitable.

Four triangles have a total of 12 vertices. Gluing leaves 12 – 6 = 6 vertices. This can be a hexagon.

The total number of domains is six. All of them contain a common point and “go around it in a cycle,” i.e., each of the domains has a common boundary with exactly two others. If two nonneighboring domains are extracted from them, then the cycle breaks up and there is no hexagon (and, in general, a polygon). Therefore, we will extract two neighboring domains. This can be done in six ways (it is worth discussing in advance why is so). One of these methods yields a quadrilateral, two produce pentagons, and three give hexagons.

In the case of five triangles, we quickly conclude that it is necessary to enumerate the variants of dropping one of six domains. Additionally, someone might realize that the drawing is symmetric with respect to the horizontal axis, i.e., the upper and lower halves have identical structures. Therefore, it suffices to consider three variants produced by dropping one of the triangles lying, for example, in the upper half of the drawing. As a result, we obtain six variants.

Six triangles in the drawing have already formed a pentagon, so this case does not need to be enumerated (see Fig. 35).

Fig. 35.
figure 35

Tree template for solving the problem of finding hexagons.

Another tree can be used to enumerate all quadrilaterals in the drawing. It is necessary to color the quadrilaterals in the drawings placed at the leaves of the tree and to write down the names of these quadrilaterals (see Fig. 36).

Fig. 36.
figure 36

Tree template for enumerating all quadrilaterals.

Construction of objects and calculation of their numbers in enumeration problems. Isomorphism of situations

In this section, examples are considered in which we naturally pass from our approach to the construction of combinatorial objects to the calculation of their number.

The use of combinations in work with children was described by Zvonkin in his 1986 paper [25] (later, his work in mathematical circles for preschool children was discussed in the book [26]). Zvonkin was a member of Semenov’s original team assembled at that time. He used various situations reducing to a choice of two elements out of five and observed how children gradually learn to see the similarity (isomorphism) of all these problems.

As can be seen from the preceding presentation, we focus primarily on the construction of enumerated objects. On the other hand, an isomorphism to some standard situation, thus implying an numerical result on the number of objects, is also an example of a new problem.

To illustrate the above-described transition, we begin with simpler problems than those considered above.

Problem of enumerating triangles and the number of combinations. The number of combinations can arise in enumerating the triangles drawn in Fig. 37.

Fig. 37.
figure 37

Problem of enumerating triangles.

To form a triangle, it is necessary to choose two points out of four on the base. These two points are two vertices of a triangle. The other vertex is the point A.

Problem of strings of two-type beads and the number of combinations. In a similar manner, we enumerate strings consisting of beads of two types (see Fig. 38).

Fig. 38.
figure 38

Problem of strings of two-type beads and the number of combinations.

In this problem, we choose two objects out of six: these are the places of 2's in the string.

The following problem requires a significant amount of analysis to reduce it to the same problem of the number of combinations.

Problem of divisors of 100 and the number of combinations. Fill in digits in all strings so that the following statements are true (see Fig. 39):

Fig. 39.
figure 39

Problem of divisors of 100 and the number of combinations.

• In each string, every number (except for the first) is 2 or 5 times greater than the preceding one.

• All strings are different.

Of course, the conditions imply that we have to multiply three times by 2's and 5's. However, 100 = 2*2*5*5. Among these factors, we need to choose three. Their product is either 50 if we drop 2, in which case the first number is 2, or 20 if we drop 5, in which case the first number is 5.

Now, clearly, we can begin with multiplying 1 by 2 or 5, which yields the first element of the string, and all distinct strings are obtained by choosing two out of four moments when we multiply by 2.

Problem of binary strings and Fibonacci numbers. Fibonacci numbers (1, 1, 2, 3, 5, 8, …) appear in a variety of problems.

The problem is stated as follows. A string of 0’s and 1’s is called nice if it does not contain two consecutive 1’s. Begin to write down all nice strings of 0’s and 1’s.

This is an example of a new problem that is feasible for everyone trained in solving new problems that are not-known-how-to-solve. Note that the problem involves an uncertainty concerning where to stop. This situation is often encountered by a mathematician who begins to work with a new type of objects. We begin constructing them, and something interesting might be obtained. In the course of the construction, children begin to formulate questions and statements. Sometimes the teacher helps them.

The empty string is, of course, suitable: |–>.

Strings of length 1 are suitable as well: |-0-> and |-1->.

Strings of length 2 are not all suitable: only three out of four strings are suitable now (in what follow, we retain only digits for better readability): 01, 00, 10.

The resulting nice strings of length 3 are 001, 101, 000, 010, 100.

Before passing to strings of length 4, we ask the following question: from what nice strings of length 2 and 3 and how can a nice string of length 4 be obtained? Nice strings of length 4 can end with 0 or 1. Question: what kind of string of length 3 do we obtain if the last 0 is dropped from a nice string of length 4? Answer: nice. Question: are all of them nice? Question: if a nice string ends with 1, what precedes it? Answer: necessarily 0. Question: what kind of string of length 2 do we obtain if these 01 are dropped?

The final question is how all strings of length 4 can be obtained from strings of length 3 and 2.

The strings with 0 at the end are 0010, 1010, 0000, 0100, 1000.

The strings with 1 at the end are 0101, 0001, 1001.

Question: given the number of nice strings of length 4 and 5, how many are there nice strings of length 6? Try to answer this question without writing out strings of length 6, and then write out them. Now the answer can be written out faster and more reliably by taking strings of two previous lengths. Question: how many are there nice strings of length 10?

Let us try to answer: 1, 2, 3, 5, 8, 13, ….

The solution of this problem is complicated in terms of its logical structure. This complexity can be overcome by considering examples in which the logic becomes visual and evident. As soon as the structure has been clarified, the general quantitative law is easy to write.

2.8 Computational Complexity

Accounting for the complexity of computations is an indispensable element of modern human’s computational thinking. The ability to take into account the complexity of computing can be developed even in elementary school, becoming one of the big ideas of mathematics and computer science at this stage.

Here is an initial example. A prototype of this example was considered at the beginning of this paper, when we searched for two identical letters of the Armenian alphabet and two identical bags. In that case, some difficulty was associated with the objects checked for similarity. The example used for introducing the concept of computational complexity is as follows. Second-grade learner are given a page with about 50 faces. In the first of two similar problems, a face is presented for which a pair should be found (see Fig. 40).

Fig. 40.
figure 40

Problem of finding a given face.

In the second similar problem (see Fig. 41) students have to find a pair identical faces without presenting a sample (there is exactly one pair of identical faces).

Fig. 41.
figure 41

Problem of finding two identical faces.

The actual solution of these two problems launches the formation of ideas of computational complexity, specifically, the complexity of search. The students discuss why the first problem was solved by everyone in several minutes, while the second problem is not solved in the same time. This discussion may lead to “qualitative” estimates of complexity: “here we are looking for the same face, while, there it is unclear what to look for” or “here, I quickly found the same face, but there it is unclear what to compare.” Even in elementary school, after a qualitative discussion of this kind, the children can be asked to calculate how many faces have to be compared to solve the first problem and how many pairs of faces have to be compared in the second problem. If they fail to calculate at once, it is possible to use a smaller picture, for example, with six faces. Most likely, two identical faces will be found relatively quickly in that case. It is possible to ask to connect each face to all the others. Then it will become clear that each connecting line corresponds to one comparison of two faces, and it will be possible to calculate how many comparisons are required.

Knapsack problem or search problem. Consider seven line segments of different lengths, each equal to an integer number of centimeters less than 1 m. Is it possible to combine some of these seven segments to obtain one 1 m long?

Clearly, this can be possible with one set of segments and impossible with another. It is also clear that an answer can be obtained by searching all subsets of the set (bag) of seven segments. A professional mathematician quickly realizes that the number of subsets is 27 = 128. This number is not too large, yet sufficient to require much effort for some sets of segments.

Finally, we can recall that this task is known as the knapsack problem, which is a universal search problem, i.e., no one can solve it much faster than by an exhaustive search and it is not known whether there is a fast solution method.

After experimenting with sticks of proper lengths or segments in a digital environment, students can try to work with numbers—segment lengths. Thus, they are simultaneously trained to add several two-digit numbers, master the idea of exhaustive search in combinatorial problems, and realize that this search problem can become intractable even for small parameter values.

3 CONCLUSIONS

Our experience of working with teachers and schoolchildren for more than two decades has confirmed our foundational assumptions. The limitation of elementary school mathematics to routine arithmetic exercises, which have lost much of their original pragmatic value, is now held only by inertia. This inertia can easily be overcome when the teacher sees that the children solve search and other combinatorial problems with interest. More significant is the inertia at the level of accepted standards, methods, textbook publishers, and, finally, parents with their “we were taught differently, and here we are, grown people.” However, if we take into account the needs of the economy and society of the 21st century, then, along with the accumulation of practical material, we should probably conduct pedagogical measurements and rely on the credibility of the mathematical and business community. This could take decades, over which life—Achilles—will get even further away from school—the tortoise.