Model of representation of multivariate tasks for automated control of programming knowledge
One way to automate the process of monitoring the practical skills of students in programming is to automatically test programs. Testing programs by the black box method does not allow assessing the student's level of proficiency in one or another basic algorithm. Evaluation by a teacher of the program code written by each student during mass learning is time-consuming. Therefore, the issue of 116 creating tools that carry out primary (preliminary) control of knowledge of basic algorithms is relevant. The authors of this article set the task of automating assessment of solving multivariate tasks, excluding semantic analysis of the program code manually by a teacher. A model for the representation of multivariate tasks based on the constructive-selective method is developed. The student composes his answer from elements that are valid semantic units, which in the model are called components. The student offers his own variant of solution in the form of an ordered sequence composed of the proposed components. The solution may be right or wrong. All the correct solutions should be described by a finite set of patterns. Each pattern consists of elements. From a programming point of view, an element is an action that consist of one or more lines of program code. Three types of elements are distinguished in the model: one component, one of the components, permutation of components. The solution proposed by the student is evaluated in points. The maximum score is taken equal to one. The total score is made up of points for each element. The solution is considered partially correct if the final score falls within the interval (0, 1). A specialized formal language for describing patterns has been developed. Algorithm for automated assessment of a variant of solution is proposed by the authors of the article. The automaton, called the expert, evaluates the correspondence of the solution variant (input sequence) to one pattern. The expert evaluates the correspondence of the read sequence and the current element, and then puts a mark. Since the task can be described by more than one pattern, one solution can be evaluated by more than one expert. For example, a task described by three patterns is evaluated by three experts. Each expert gives his own score, then the highest one is selected from them. An alternative to this method of assessment may be an expert selection algorithm. The algorithm evaluates the competence of each expert for any presented solution. To the expert who received the highest rating will be chosen to assess given variant of solution. Score given by the selected expert will be the score of the solution presented by the student. As a result of solving the task of automating knowledge control in the field of programming basics, a model for representing multivariate tasks, a template description language, and a knowledge control algorithm are developed. Their application to real tasks yielded positive results. Developed algorithm solves the problem of automated assessment of programs using the white box method and allows full-fledged intelligent automated knowledge assessment in the field of programming basics.
Keywords
automated knowledge assessment, constructive-selective method, learning programmingAuthors
Name | Organization | |
Zhukov Igor A. | Tomsk State University | ig.zhukov963@yandex.ru |
Kostyuk Yuriy L. | Tomsk State University | kostyuk_y_l@sibmail.com |
References

Model of representation of multivariate tasks for automated control of programming knowledge | Vestnik Tomskogo gosudarstvennogo universiteta. Upravlenie, vychislitelnaja tehnika i informatika – Tomsk State University Journal of Control and Computer Science. 2020. № 53. DOI: 10.17223/19988605/53/11