Math in school
Possibilities of a Computer at Maths Lessons
What can or cant 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 wont change in the near future. The same can be said about most other mathematics sections. Thats 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 lets 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. Lets 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):

Calculate by operations
Define the order of operations

Calculate by operations

Calculate by operations
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

Lets 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: ab+c, c+ab, a:b+c, a:b-c, ab-c, c-a:b, c-ab,c+a:b.
where a b vulgar fractions, and decimal fraction
Level 2: expressions of the type: ab+cd, ab-cd, a:b+cd, a:b-cd, ab-c:d, ab+c:d, a:b+c:d,a:b-c:d
where a, b, and d are decimal fractions
Level 3: expressions of the type: ab+cd, ab-cd, a:b+cd, a:b-cd, ab-c:d, ab+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: (ab+c)d, (ab-c)d, (a:b+c)d, (a:b-c)d, (ab+c):d, (ab-c):d, (a:b+c):d, (a:b-c):d
where a, b and c vulgar fractions, and d decimal fraction.
Lets examine the programmatic realization on base of the first level. Selection of numbers, symbols and types is provided in the following fragment:
  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 -  ab+c, a:b+c, a:b-c, ab-c, 
     at meaning 2 - c+ab, c-a:b, c-ab, 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 doesnt 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.
Task 1
Data: straight a, points A, B, C, D, which dont belong to the line a,
AB- crosses A
BC- doesnt cross A
CD- crosses A
Do segments cross line a:
AC- crosses a           Correct
AD- crosses a           Incorrect
BD- crosses a           Correct
Level 2 A straight line and 5 points that dont 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 dont 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
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
if (z[1]+z[2]+z[3]+z[4]=0) or (z[1]+z[2]+z[3]+z[4]=4) then goto navp; 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 students actions. So, in the program of calculations bearing in mind the order of actions, variables fr, r1 and r2 are for comparison the students 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 students 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 students 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.

Main page