=Paper= {{Paper |id=Vol-1844/10000380 |storemode=property |title=Generation of Test Tasks in Systems of Computer Mathematics for Educational Purposes |pdfUrl=https://ceur-ws.org/Vol-1844/10000380.pdf |volume=Vol-1844 |authors=Michael Lvov,Hanna Shmarova |dblpUrl=https://dblp.org/rec/conf/icteri/LvovS17 }} ==Generation of Test Tasks in Systems of Computer Mathematics for Educational Purposes== https://ceur-ws.org/Vol-1844/10000380.pdf
      Generation of Test Tasks in Systems of Computer
          Mathematics for Educational Purposes

                             Michael Lvov, Hanna Shmarova

                      Kherson State University, UnΓ­versitets'ka, 27
                               73000, Kherson, Ukraine
                 lvov@ksu.ks.ua, hanna.shmarova@gmail.com



       Abstract. The study of exact sciences includes not only lectures but also the ac-
       tive forms of learning (practical classes, laboratory work and so on). Thus, it is
       necessary to control not only declarative knowledge but also procedural
       knowledge of the students (the knowledge of methods for solving problems).
       This article describes functional requirements, mathematical models, and algo-
       rithms for the development of the modules of procedural knowledge testing in
       the systems of computer mathematics for educational purposes. We present
       methods of generation of test tasks implemented in the web application β€œTest
       on Mathematics”.


       Keywords: Systems of computer mathematics for educational purposes, gener-
       ation of test tasks, procedural knowledge, computer software, template.


       Key Terms: Educational process, computer software.


1      Introduction

There are two approaches to solve the problem of the generation of specific test tasks:
saving a series of similar tests in the database and using algorithms for automatic
generation of tests implemented as system procedures. Each of these approaches has
its advantages and disadvantages. In the first case, it is necessary to spend a lot of
time to fill the database, and tests are repeated. In the second case, the large amount of
time is spent on the implementation of algorithms for automatic generation, but each
test is unique. The weighted approach is to:

1. Develop a single common model for each sufficiently wide class of tests, as well as
   models and algorithms for generating conditions and answers for this model.
2. Develop common CASE-technologies for description subclasses of test tasks based
   on a single common model.
3. Develop joint mechanisms for storing and calling of algorithms for generation of
   specific test tasks.
2       Test Tasks-Templates

The expression 𝐹(π‘₯1 , … , π‘₯π‘š ; π‘Ž1 , … , π‘Žπ‘˜ ) in signature βˆ‘π‘†π· in subject domain 𝑆𝐷 is
called expression template.
   Variables π‘₯1 , … , π‘₯π‘š are called variable templates or metavariables. The common
range of values for metavariables is set π‘‰π‘Žπ‘Ÿ (π‘₯𝑖 ∈ π‘‰π‘Žπ‘Ÿ). It follows that in each par-
ticular case, each of the variable templates represents one of the variables.
   Variables π‘Ž1 , … , π‘Žπ‘˜ are called coefficient templates or parameters. The range of
values for parameters is numerical sets (π‘Žπ‘— ∈ π‘π‘’π‘š). It follows that in each particular
case, each of the coefficient templates is a number.

Example 1
π‘Ž1 π‘₯1 + π‘Ž2 π‘₯2 is expression template.
                                                            2
   Specific instances of this template: 2π‘Ž + 3π‘₯, βˆ’ 𝑒 + 5π‘₯ and so on. Suppose
                                                            3
𝐹(π‘₯1 , … , π‘₯π‘š ; π‘Ž1 , … , π‘Žπ‘˜ ) is expression template and π‘₯𝑗 ∈ π‘‰π‘Žπ‘Ÿ, π‘Žπ‘— ∈ π‘π‘’π‘š, then
     𝑣 ,…,𝑣       𝑐 ,…,𝑐
𝑆𝑒𝑏π‘₯11,…,π‘₯π‘š
          π‘š
            π‘†π‘’π‘π‘Ž11 ,…,π‘Žπ‘šπ‘˜ 𝐹(π‘₯1 , … , π‘₯π‘š ; π‘Ž1 , … , π‘Žπ‘˜ ) = 𝐹(𝑒1 , … , π‘’π‘š ; 𝑐1 , … , π‘π‘˜ )
   is called specialization (a special case or instance) of 𝐹(π‘₯1 , … , π‘₯π‘š ; π‘Ž1 , … , π‘Žπ‘˜ ).
   Expression templates define the common view of the model and common view of
the answer for test task. It follows that the basis of determining the test task 𝑇 is pair
< πΉπ‘‡π‘Žπ‘ π‘˜ , 𝐹𝐴𝑛𝑠 >, where πΉπ‘‡π‘Žπ‘ π‘˜ , 𝐹𝐴𝑛𝑠 are expressions templates (Fig.1), defined on
common lists of metavariables ( π‘‹π‘£π‘Žπ‘Ÿ ) and parameters (π΄πΆπ‘œπ‘’π‘“ ).Then

              𝑇(π‘‹π‘£π‘Žπ‘Ÿ , π΄πΆπ‘œπ‘’π‘“ ) =< πΉπ‘‡π‘Žπ‘ π‘˜ (π‘‹π‘£π‘Žπ‘Ÿ , π΄πΆπ‘œπ‘’π‘“ ), 𝐹𝐴𝑛𝑠 (π‘‹π‘£π‘Žπ‘Ÿ , π΄πΆπ‘œπ‘’π‘“ ) >

  In tests on equivalent expressions transformation πΉπ‘‡π‘Žπ‘ π‘˜ =𝑆𝐷 𝐹𝐴𝑛𝑠 , where " =𝑆𝐷 "
means semantic equality in domain 𝑆𝐷.




Fig. 1. Forms for displaying task and answer templates in the interface of web application β€œTest
on Mathematics”


Example 2
              𝑇(π‘₯, 𝑦; π‘š1 , 𝑛1 , π‘š2 , 𝑛2 ) =< π‘₯ π‘š1 𝑦 𝑛1 βˆ™ π‘₯ π‘š2 𝑦 𝑛2 , π‘₯ π‘š1 +π‘š2 𝑦 𝑛1+𝑛2 >

   In addition to the signature of the domain system function π‘‰π‘Žπ‘™(𝐹) is used in the
definition of a template of test task. It is defined on the set of expressions of the sub-
ject domain. System interpreter of function π‘‰π‘Žπ‘™(𝐹) computes a special canonical form
of the expression. Function π‘‰π‘Žπ‘™(𝐹) is used in algorithms for generation and verifica-
tion of test task.


3       Descriptions of Variables and Coefficients in Samples

Set π‘‰π‘Žπ‘Ÿ is common range of values for metavariables and basic set. Description of
metavariables conforms to the following rules:
       π‘‰π‘Žπ‘Ÿπ·π‘’π‘ π‘π‘Ÿπ‘–π‘π‘‘π‘–π‘œπ‘› ∷=< π‘‰π‘Žπ‘ŸπΏπ‘–π‘ π‘‘ >∈< π‘‰π‘Žπ‘Ÿπ‘‡π‘¦π‘π‘’ >|.π‘‰π‘Žπ‘Ÿπ·π‘’π‘ π‘π‘Ÿπ‘–π‘π‘‘π‘–π‘œπ‘›;

                                < π‘‰π‘Žπ‘ŸπΏπ‘–st >∈< π‘‰π‘Žπ‘Ÿπ‘‡π‘¦π‘π‘’ >
π‘‰π‘Žπ‘ŸπΏπ‘–π‘ π‘‘ is a list of variables separated by commas,

     π‘‰π‘Žπ‘Ÿπ‘‡π‘¦π‘π‘’ ∷= π‘‰π‘Žπ‘Ÿ|[π‘‰π‘Žπ‘ŸπΌπ·. . π‘‰π‘Žπ‘ŸπΌπ·]|π‘‰π‘Žπ‘ŸπΌπ·|{π‘‰π‘Žπ‘Ÿπ‘†π‘’π‘‘}|π‘‰π‘Žπ‘Ÿπ‘‡π‘¦π‘π‘’ βˆͺ π‘‰π‘Žπ‘Ÿπ‘‡π‘¦π‘π‘’.

π‘‰π‘Žπ‘Ÿ is a basic set of variables;
π‘‰π‘Žπ‘ŸπΌπ· is one letter;
[π‘‰π‘Žπ‘ŸπΌπ·. . π‘‰π‘Žπ‘ŸπΌπ·] is a segment with type π‘‰π‘Žπ‘Ÿ, initial and final value of segment are
various letters without indices, or different letters with the same index, or the
same letter with different indices (Fig.2);
{π‘‰π‘Žπ‘Ÿπ‘†π‘’π‘‘} is a set of variables separated by commas;
π‘‰π‘Žπ‘Ÿπ‘‡π‘¦π‘π‘’ βˆͺ π‘‰π‘Žπ‘Ÿπ‘‡π‘¦π‘π‘’are two combining types of descriptions.
   Variables VarList (i.e., the left side of the definition) are metavariables. Variables
that are included only in π‘‰π‘Žπ‘Ÿπ‘‡π‘¦π‘π‘’ are instances. Both metavariables and instances of
variables can be used in the template. Metavariables and instances of variables should
be denoted by different letters to avoid the complication of semantics.
   For example:
        ο‚· 𝑋, π‘Œ ∈ π‘‰π‘Žπ‘Ÿ are metavariables are defined in the π‘‰π‘Žπ‘Ÿ;
        ο‚· 𝐴, 𝐡, 𝐢 ∈ [π‘Ž. . 𝑑] βˆͺ [𝑒. . 𝑧]      are      metavariables       take      value
             π‘Ž, 𝑏, 𝑐, 𝑑, 𝑒, 𝑣, 𝑀, π‘₯, 𝑦, 𝑧;
        ο‚· 𝐴 ∈ [π‘Ž. . 𝑑]; 𝐡 ∈ [𝑒. . 𝑧] are metavariables A and B have different do-
             mains;
        ο‚· 𝐹 = π‘Žπ‘₯ + 𝑏𝑦 + 𝑐; π‘Ž, 𝑏, 𝑐 ∈ [𝐴. . 𝑅]. π‘Ž, 𝑏, 𝑐 are metavariables, π‘₯, 𝑦 are in-
             stances of variables;
        ο‚· π‘Ž1 , π‘Ž2 , π‘Ž3 , π‘Ž4 , π‘Ž5 , π‘Ž6 ∈ {𝑒, 𝑣}; 𝑒, 𝑣 ∈ [π‘Ž. . 𝑧] are metavariables take
             value 𝑒 and 𝑣, that take as values small Latin letters.
   Numerical algebras π‘π‘Žπ‘‘ βŠ‚ 𝐼𝑛𝑑 βŠ‚ π‘…π‘Žπ‘‘ are common ranges of values for parameters
and basics sets (Fig.3). Parameters with type π‘…π‘Žπ‘‘ are defined by the value of their
numerator and denominator:

      π‘Ÿ ∈ π‘…π‘Žπ‘‘, π‘π‘’π‘š(π‘Ÿ) ∈ [π‘€π‘–π‘›π‘π‘’π‘š, π‘€π‘Žπ‘₯π‘π‘’π‘š], 𝐷𝑒𝑛(π‘Ÿ) ∈ [𝑀𝑖𝑛𝐷𝑒𝑛, π‘€π‘Žπ‘₯𝐷𝑒𝑛]

    with default constraints:

     π‘€π‘–π‘›π‘π‘’π‘š ≀ π‘€π‘Žπ‘₯π‘π‘’π‘š, 𝑀𝑖𝑛𝐷𝑒𝑛 ≀ π‘€π‘Žπ‘₯𝐷𝑒𝑛, π‘π‘’π‘š(π‘Ÿ) ∈ 𝐼𝑛𝑑, 𝐷𝑒𝑛(π‘Ÿ) ∈ π‘π‘Žπ‘‘,
                               𝐺𝐢𝐷(π‘π‘’π‘š(π‘Ÿ), 𝐷𝑒𝑛(π‘Ÿ)) = 1.

   Descriptions for test tasks’ templates are used in a procedure for generation in-
stances of tests. In the simplest case, the procedure 𝐺𝑒𝑑𝑇𝑒𝑠𝑑 has specification:

                       π‘‡π‘Žπ‘ π‘˜π‘‡π‘’π‘ π‘‘ 𝑃 ≔ 𝐺𝑒𝑑𝑇𝑒𝑠𝑑(π‘‡π‘’π‘šπ‘π‘™π‘Žπ‘‘π‘’π‘‡π‘’π‘ π‘‘ 𝑇),
   where 𝑇 =< πΉπ‘‡π‘Žπ‘ π‘˜ , 𝐹𝐴𝑛𝑠 >.




Fig. 2. Form for adding variable with a given range of values in the interface of web application
β€œTest on Mathematics”




Fig. 3. Form for adding parameter with a given range of values in the interface of web applica-
tion β€œTest on Mathematics”
Example 3. Apply the formulas of abridged multiplication:

                            𝑇 =< (π‘Ž + 𝑏)2 , π‘Ž2 + 2π‘Žπ‘ + 𝑏 2 >

  Suppose the user describes following template for this test task:

                        𝑇1 =< (𝑋 + π‘Œ)2 , 𝑋 2 + 2 β‹… 𝑋 β‹… π‘Œ + π‘Œ 2 >,
                   𝑇2 =< (π‘Ž β‹… 𝑋 + 𝑏)2 , π‘Ž2 β‹… 𝑋 2 + 2 β‹… π‘Ž β‹… 𝑏 β‹… 𝑋 + 𝑏 2 >,
            𝑇3 =< (π‘Ž β‹… 𝑋 + 𝑏 β‹… π‘Œ)2 , π‘Ž2 β‹… 𝑋 2 + 2 β‹… π‘Ž β‹… 𝑏 β‹… 𝑋 β‹… π‘Œ + 𝑏 2 β‹… π‘Œ 2 >,

   𝑇4 =< (π‘Ž β‹… 𝑋 π‘š + 𝑏 β‹… π‘Œ 𝑛 )2 , π‘Ž2β‹…π‘š β‹… 𝑋 2β‹…π‘š + 2 β‹… π‘Žπ‘š β‹… 𝑏 𝑛 β‹… 𝑋 π‘š β‹… π‘Œ 𝑛 + 𝑏 2⋅𝑛 β‹…β‹… π‘Œ 2⋅𝑛 >.

   𝑋, π‘Œ are metavariables, π‘Ž, 𝑏, π‘š, 𝑛 are parameters. Using conditions leads to a reduc-
tion of templates’ number and extension of test tasks’ classes. Thus, test task 𝑇4
describes all classes of test tasks with templates 𝑇1 , 𝑇2 , 𝑇3 in conjunction with addi-
tional conditions = 1, 𝑏 = 1, π‘š = 0 ∨ π‘š = 1, 𝑛 = 0 ∨ 𝑛 = 1. Description of the con-
ditions corresponds to the syntax:

                         πΆπ‘œπ‘›π‘‘πΏπ‘–π‘ π‘‘ ∷= πΆπ‘œπ‘›π‘‘; |πΆπ‘œπ‘›π‘‘, πΆπ‘œπ‘›π‘‘πΏπ‘–π‘ π‘‘;

         πΆπ‘œπ‘›π‘‘ ∷= π΄π‘‘π‘œπ‘šπΆπ‘œπ‘›π‘‘|π΄π‘‘π‘œπ‘šπΆπ‘œπ‘›π‘‘ & (πΆπ‘œπ‘›π‘‘)|π΄π‘‘π‘œπ‘šπΆπ‘œπ‘›π‘‘ ∨ (πΆπ‘œπ‘›π‘‘),

                  π΄π‘‘π‘œπ‘šπΆπ‘œπ‘›π‘‘ ∷= π‘‰π‘Žπ‘ŸπΌπ· = πΆπ‘œπ‘›π‘ π‘‘|π‘‰π‘Žπ‘ŸπΌπ· = π‘‰π‘Žπ‘ŸπΌπ·.

  In this example condition has the form:

               Ξ¦πΆπ‘œπ‘›π‘‘ = (π‘Ž = 1, 𝑏 = 1, π‘š = 0 ∨ π‘š = 1, 𝑛 = 0 ∨ 𝑛 = 1).

  The semantics of condition description is:

ο‚· Each atomic condition divides all set of tests into two classes. First class is a class,
   where this condition is satisfied, second class is a class, where it fails (in this case
   corresponding value is randomly generated from the range of values, that are de-
   fined by parameter descriptions): π‘‰π‘Žπ‘ŸπΌπ· ≔ πΆπ‘œπ‘›π‘ π‘‘|π‘‰π‘Žπ‘ŸπΌπ· ≔ π‘…π‘Žπ‘›π‘‘π‘œπ‘š().
ο‚· Independent conditions are listed with separation by commas. All particular cases
   are defined by all possible combinations of conditions.
ο‚· Conjunction unites independent conditions that describe the same particular case.
ο‚· Disjunction combines dependent conditions, each of which defines different indi-
   vidual cases.
   Test generation algorithm returns a single particular test in each of its call. There-
fore, the condition is reduced to canonical form

                              Ξ¦πΆπ‘œπ‘›π‘‘ = Ξ¦1 + Ξ¦2 + . . . +Φ𝑁
   where Φ𝑗 defines one particular case. Let’s use logical variables that are corre-
sponding to atomic conditions:

     𝐴 = (π‘Ž = 1), 𝐡 = (𝑏 = 1), 𝑀0 = (π‘š = 0), 𝑀1 = (π‘š = 1), 𝑁0 = (𝑛 = 0),
                                       𝑁1 = (𝑛 = 1).

   Then various tests are described via a Zhegalkin polynomial:

                   𝐺 = (𝐴 + 1)(𝐡 + 1)(𝑀0 + 𝑀1 + 1)(𝑁0 + 𝑁1 + 1)
    Each monomial describes one particular test. It is necessary to write the polynomi-
al in standard form 𝐺 for describing Ξ¦πΆπ‘œπ‘›π‘‘ in canonical form:

          𝐺 = 𝐴𝐡𝑀0 𝑁0 + 𝐴𝐡𝑀0 𝑁1 + . . . + 𝐴 + 𝐡 + 𝑀0 + 𝑀1 + 𝑁0 + 𝑁1 + 1.

   Presentation of tests’ set for given template via polynomial 𝐺 is used in the classi-
fication of tests according to their computational complexity. The complexity of the
test is determined by a degree of the monomial (the number of boolean variables).
The smaller is the degree of monomial, the more complex is a case of the test. In giv-
en example, the simplest tests are tests 𝐴𝐡𝑀0 𝑁0 , 𝐴𝐡𝑀0 𝑁1 , 𝐴𝐡𝑀1 𝑁0 , 𝐴𝐡𝑀1 𝑁1 . The
most difficult test is test with all randomly generated parameters.
   Semantics for the 𝐺𝑒𝑑𝑇𝑒𝑠𝑑 procedure:
1. Randomly substitute one of the variables that are listed in the description of the
   metavariables into the 𝑇 template instead of each metavariables π‘₯𝑗 (Fig.4).
2. Randomly substitute one of the values that are listed in the description of the pa-
   rameters into the T template instead of each parameters π‘Žπ‘— (Fig.5).
3. Calculate the function π‘‰π‘Žπ‘™ in the resulting instance (Fig.6).
4. Return the result of calculations in the form 𝑃 =< πΉπ‘‡π‘Žπ‘ π‘˜ , 𝐹𝐴𝑛𝑠 >.




Fig. 4. Table for displaying the description of the variables and their generated values in the
interface of web application β€œTest on Mathematics”




Fig. 5. Table for displaying the description of the parameters and their generated values in the
interface of web application β€œTest on Mathematics”
Fig. 6. An example of a specifically generated test task based on template in the interface of
web application β€œTest on Mathematics”


4      Conclusion

In this article, we describe functional requirements, mathematical models, and algo-
rithms for the development of the modules of procedural knowledge testing in the
systems of computer mathematics for educational purposes.
    Using of generation of test tasks saves time because there is no need to spend a lot
of time to fill a database with conditions and answers for each task. The generator
provides a large number of similar tasks based on a single template and each instance
of the test is unique.
    The testing system based on the results of this research is implemented in the web
application β€œTest on Mathematics”. The system of computer mathematics for educa-
tional purposes β€œTest on Mathematics” will reduce the burden on teachers via auto-
matic generation of the tests and verification of the answers. Thus, it is easy to control
procedural knowledge during the absence of student (during his illness, during quar-
antine, etc.).


References
 1. Lvov M.S. Proektirovanie logicheskogo vyvoda kak poshagovogo reshenija
    zadach v matematicheskih sistemah uchebnogo naznachenija / M. S. Lvov // Uprav-
    ljajushhie sistemy i mashiny. – 2008. –No1. – S.25–32.
 2. Lvov M.S. Koncepcija proghramnoji systemy pidtrymky matematychnoji di-
    jaljnosti./ M.S.Lvov // Komp'juterno-orijentovani systemy navchannja: Zb. nauk.
    praci/ K.:NPU im. M.P.Draghomanova.– Vyp. 7.–2003.– S.36–48.
 3. Lvov M.S. Koncepcija, arhitektura i funkcional'nost' gibkoj raspredelennoj pro-
    grammnoj sredy uchebnogo naznachenija dlja srednej shkoly. Rabochee mestometodista
    /M. Lvov //Upravljajushhie sistemy i mashiny. –2009. –No 6. –S. 71-78.
 4. Lvov M.S. Raspredelennye programmnye sredy uchebnogo naznachenija.
    Podsistema upravlenija uchebnym processom / M.S. Lvov // Upravljajushhie sistemy
    i mashiny. – 2010. –No1. – S. 66 – 71.
 5. Lvov M.S. Matematicheskie testy v sistemah komp'juternoj matematiki
    uchebnogo naznachenija. / M.S.Lvov // Upravljajushhie sistemy i mashiny. –2011. –
    No6. – S.60–67
6. Lvov M.S. Matematychni modeli ta metody pidtrymky khodu rozv'jazannja
   navchaljnykh zadach z analitychnoji gheometriji/ M.S.Lvov // Iskustvennyj intel-
   lekt. –No1. – 2010. –C. 86–92.