Math in school
Possibilities of a Computer at Maths Lessons
What can or can’t be done by means of a computer in Maths studying process? What are the limits of its application? Is it really effective? This publication is going to answer these and other questions. It is based on practical groundwork which answers questions risen.
The process of development of ‘Kashtan’ package started in 1991. One of the main targets which became the basis of the creative thought was the idea to develop the set of training programs that could be up-to-date during several years at least. In the school course of mathematics, unlike information technologies course, changes occur much more slowly and these changes influence the amount of this or that chapter. But the main aspects are unchangeable, e.g. multiplication table has been the subject for centuries and most likely won’t change in the near future. The same can be said about most other mathematics sections. That’s why the idea of ‘Kashtan’ package is topical nowadays as it was five or ten years ago.
The package is destined for testing students’ knowledge and for developing of skills for solving problems and doing exercises. The idea of generation of tasks is the main idea of training- testing programs, i.e. realization of algorithm that by means of sensor of random numbers will construct tasks and realize, as a rule, all range of possible exercises and tasks. General idea of the realization is as follows. A certain sector of maths knowledge is chosen. There due to methodical point of view certain types of exercises which are divided into groups, according the level of complexity, are underlined. These groups in each program will be called levels. Program section is realized in the form of inner procedure or separate module. First let’s examine the realization of the program concerning doing calculations with taking into account the order of operations. It consists of six levels according the level of complexity. Let’s analyze an excerpt of the realization of one of them. At level 4 variants of the tasks can be as follows:

1) (a+b)-c 2) a+(b-c) 3) a-(b+c) 4) (a+b)+c 5) a-(b-c) 6) (a-b)+c 7) (a+b)+c+d 8) a+(b+c)+d 9) a+b+(c+d)
10) (a+b)+c-d 11) (a+b)-c+d 12) a+(b+c)-d 13) a-(b+c)+d 14) a-(b+c)-d 15) a+b-(c+d) 16) a-b-(c+d) 17) a-b+(c+d) 18) (a+b)-c-d
One of the factors is calculation in terms of not more than 1000. Program realization foresees that for task 1 this fragment of the program is appropriate: (variant 4):
fr:=random(997)+2;f2:=random(fr-1)+1;f1:=fr-f2;f3:=random(fr-2)+1;
str(f1,sv1);str(f2,sv2);str(f3,sv3);
s:='('+sv1+'+'+sv2+')-'+sv3;
fr:=f1+f2-f3;
r1:=f1+f2;r2:=r1-f3;
 Calculate by operations Define the order of operations Calculate by operations Calculate by operations Correct
Where one part of variables is numerical: fr, f1, f2, f3, r1, r2:integer;, and the other is designed by letters: s, sv1, sv2, sv3: string;. Those designed by letters are necessary for portraying on a screen graphically. The function of variables fr, f1, f2, f3 is obvious – they are numbers which appear in an example, and r1 and r2 are intermediate results of calculation for additional control. The proper task and stages of solution are represented on these pictures:
It is obvious that we can get any numerical filling of examples like 1. (Programmatic realization of others among 17 variants are arranged similarly) This means that we can talk about the base of the tasks that is complete. In addition, it is not known beforehand what task the student will get. Consequently while working with the program of a package he always works in terms of individual mode of tasks choice. A choice of a variant of a type of tasks is also casual. For each variant similar software components are foreseen. Thus, level 4 is an extremely wide base for training of students, controlling of their knowledge and improving their skills. Other levels of the program have got such a set of varied tasks:
Level 1
```     1) a+b  2) a-b  3) ab  4) a:b
```
Level 2
```     1) a+b+c  2) a+b-c  3) a-b+c  4) a-b-c

5) abc    6) ab:c   7) a:bc   8) a:b:c
```

Level 3
```     1) ab+c   2) a+bc   3) ab-c   4) a-bc

5) a:b+c  6) a:b-c  7) a+b:c  8) a-b:c
```

Level 5
```     1) a-(b+c):d   2) a+(b-c)d     3) a:(b+c)d     4) a+bc-d

5) a+b-cd      6) a:b+c:d      7) ab-c:d       8) ab+c:d

9) (a+b):cd    10) ab-c-d      11) a:bc-d      12) ab:c+d

13) a+b:c-d    14) a:bc:d      15) a+(b+c):d   16)(a-b):c+d

17) a-(b+c):d  18) a+b:(c:d)   19) (a-b)c:d    20) a(b+c)

21) a(b-c)     22) a:(b+c)     23) a:(b-c)     24) (a+b)c

25) (a-b)c     26) (a+b):c     27) (a-b):c
```

Level 6
```    1) a(b-c):(d-k)      2) ab+(c-d)+x        3) (a+b)-(c:d+x)

4) (a-b)(c:d-x)      5) a-(b+c):(d+k)    6) (a+b)(c+d):(k-x)

7) (ab+e)-(c:d+f)    8) ab+(c:d-k)        9) a:b+c-dk

10) a:bc:d+k         11) ab+c+d:x         12) a:b+c+dx

13) ab+c-d:x         14) a+(b-c)(d+x)     15) (a+b)-(c+d)k

16) (a+b)+(c+d)-k    17) (a-b)+(c-d)+k    18) (a-b)+(c-d):k

19) a+(b-c)-k:x      20) a-bc+(k-x)       21) (ab-c):(d-e)

22) (a:b+c)(d-e)     23) a(b:c)+d:f       24) ab+(c+d:e)

25) a:b+c:d+e:f      26) a:b+c:d-e:f
```

Let’s consider the principles of construction of the program ‘Mixed fractions’. It contains 4 levels of tasks. They look like as follows: Level 1: expressions of the type: a•b+c, c+a•b, a:b+c, a:b-c, a•b-c, c-a:b, c-a•b,c+a:b.
where a òà b – vulgar fractions, and ñ – decimal fraction
Level 2: expressions of the type: a•b+c•d, a•b-c•d, a:b+c•d, a:b-c•d, a•b-c:d, a•b+c:d, a:b+c:d,a:b-c:d
where a, b, ñ and d are decimal fractions
Level 3: expressions of the type: a•b+c•d, a•b-c•d, a:b+c•d, a:b-c•d, a•b-c:d, a•b+c:d, a:b+c:d,a:b-c:d
where a and b – vulgar fractions, ñ and d– decimal fractions.
Level 4: expressions of the type: (a•b+c)•d, (a•b-c)•d, (a:b+c)•d, (a:b-c)•d, (a•b+c):d, (a•b-c):d, (a:b+c):d, (a:b-c):d
where a, b and c vulgar fractions, and d– decimal fraction.
Let’s examine the programmatic realization on base of the first level. Selection of numbers, symbols and types is provided in the following fragment:
187:
```  av:=random(8)+1;
an:=random(8-av)+av+1;
bv:=random(8)+1;
bn:=random(8-bv)+bv+1;
cc:=random(8)+1;
cd:=random(8)+1;
lpr:=random(100);if lpr>50 then priz1:=1 else priz1:=2;
lpr:=random(100);if lpr>50 then priz2:=1 else priz2:=2;
lpr:=random(100);if lpr>50 then priz3:=1 else priz3:=2;

where: av - fraction a numerator
an – fraction a denominator
bv - fraction b numerator
bn – fraction  b denominator
cc – whole part of decimal fraction ñ
cd – fractional part of decimal fraction c
priz1- variant choice:
at meaning 1 -  a•b+c, a:b+c, a:b-c, a•b-c,
at meaning 2 - c+a•b, c-a:b, c-a•b, c+a:b .
priz2 – a choice of symbol for multiplication or division
priz3 – a choice of symbol for addition or  subtraction
```
Certainly, the next part of the program foresees verification of a task correctness and of proper collation of all components of mathematical exercise on a graphic screen. The result can look like as follows.

Calculate the value of the expression

Program ‘Geometry’ foresees tasks as follows:
Level 1 A straight line and 4 points that doesn’t belong to it are located on a space. Concerning three segments which connect some of these points it is informed about crossing or its absence with a straight line. The task is to define the location of other three segments.
```Data: straight a, points A, B, C, D, which don’t belong to the line a,
AB- crosses A
BC- doesn’t cross A
CD- crosses A
Do segments cross line a:
AC- crosses a           Correct
BD- crosses a           Correct
```
Level 2 A straight line and 5 points that don’t belong to it are located on a space. Concerning 4 segments that connect some of these points it is informed about crossing or its absence with the line. The task is to define the location of other 6 segments.
Level 3 A straight line and 6 points that don’t belong to it are located on a space. Concerning 5 segments that connect some of these points it is informed about crossing or its absence with the line. The task is to define the location of other 10 segments.
Level 4 We have a line and 4 points on it. It is known the length of 5 segments that connect some points. The task is to define the length of the last segment.
Level 5 We have a line and 5 points on it. It is known the length of 6 segments that connect some points. The task is to define the length of the other four segments.
for i:=1 to 4 do
begin
j[i]:=64+i;
navp:x[i]:=random(290)+50;
y[i]:=random(350)+80;
if (y[i]>-1.5*x[i]+540) and (y[i]<-1.5*x[i]+580) then goto navp;
if y[i]>-1.5*x[i]+560 then z[i]:=0 else z[i]:=1;
if (i=4) then
begin
if (z[1]+z[2]+z[3]+z[4]=0) or (z[1]+z[2]+z[3]+z[4]=4) then goto navp; end;
end;
Here the meaning of the element of array z[i]=0 means belonging to one half-plane, and z[i]=1 – to the other.
The other aspect of the packet programs is to provide not only generation of tasks but also a control of an entered answer and the reaction on student’s actions. So, in the program of calculations bearing in mind the order of actions, variables fr, r1 and r2 are for comparison the student’s answer with the correct one, both in general and step by step. Thus, completing calculations a student can see whether they are right or wrong. Moreover, the current protocol of the student’s work is saved as a file and can be revised by a teacher for the estimation of his activity.

A flexible system of managing the program allows to choose any level of complication of the program, to choose Control or Training mode and the level of work tense. Control mode foresees comparatively little number of tasks and student’s activities estimation. Training mode allows to do quite large amount of exercises of different levels with gradual complication. This gives an opportunity to use the program both for students who know the topic well and for those whose knowledge is average or poor.
One of the problems which occurred during the creation of the programs of the package was the necessity of realization of a large number of different variants of tasks. For example, in the program of calculation with taking into account the order of actions there are about a hundred of variants. In some programs there are less of them, in the others more. This speaks about the complicated process of creation of such programs but the work results, the capacity of programs in the ‘Kashtan’ package proves the complete possibility of the development of such programmatic complexes.
For verification of the efficiency of the method experimental researches were organized. In 1998-2001 it was held in a primary school and in 2002-2005 for students of 5-7 grades. The idea of both experiments was realized by conducting one Maths lesson a week in a display room. Thus, the process of introduction of newest information technologies was limited by 15-20% of educational time for studying mathematics. On the other hand, the results showed that the students of experimental classes make mistakes two times less, spending 30% less time on similar tasks. There were some students among others whose progress was the same with those in experimental classes. But for the vast majority of students the effectiveness was considerable and even higher than average. Taking into account a considerable amount of developed and adjusted programs it was realized a successful attempt of creation mathematics tests that cover a lot of topics. Today ‘Kashtan’ package has more than 40 programs, systematic enough, covering about 85% of mathematics course for students of 1-6 grades.
‘Kashtan’ package can be basic for creation of an expert training mathematics system up to the level of the 7-th grade at least right now, but on the condition of continuation the work in can be used for senior pupils. Partial usage of the package can be useful for the development of mathematics tests. The ideas which were developed and implemented during the creation of ‘Kashtan’ package can be used as basic ones for other subjects and significantly improve studying process.