You are on page 1of 6

Open Moodle Tools for a Psychological Assessment

Anastasiya Zyamzina Vladimir Parkhomenko


Institute of computer science and technology Institute of computer science and technology
Peter the Great St. Petersburg Polytechnic University Peter the Great St. Petersburg Polytechnic University
St. Petersburg, Russia St. Petersburg, Russia
zyamzina.as@edu.spbstu.ru, 0000-0001-8088-3074 vladimir.parkhomenko@spbstu.ru, 0000-0001-7757-377X
2021 1st International Conference on Technology Enhanced Learning in Higher Education (TELE) | 978-1-6654-4396-8/21/$31.00 ©2021 IEEE | DOI: 10.1109/TELE52840.2021.9482475

Alexander Schukin Irina Bondarchuk


Institute of computer science and technology Institute of physical culture, sport and tourism
Peter the Great St. Petersburg Polytechnic University Peter the Great St. Petersburg Polytechnic University
St. Petersburg, Russia St. Petersburg, Russia
Alexander.Schukin@spbstu.ru, 0000-0002-9534-824X bondarchuk il@spbstu.ru, 0000-0003-1374-3017

Abstract—Psychological support is an important part of learn- Moodle is chosen for an implementation of a psychological
ing processes. Its main sub-process is a psychological assessment. assessment among other LMS because of its active usage
We develop tools to provide the assessment with the use of at SPbPU, open source code and extendability by plugins.
Moodle. A new method of a psychological tests implementation
based on the Quiz module is presented. As an example of its Moreover, in Moodle one can login with an account through
applicability, we propose a new system of plugins to implement SSO. This option helps students to be familiar with the user
Lusher color test and Amthauer test. We conducted experiments interface and to get assessment without switching from a
with the participation of about 200 students and collected both distance learning course (of physical culture).
learning performance and psychological datasets. A preliminary
Note, that Moodle standard modules, except for Quiz, do
analysis of theirs connections is given.
Index Terms—Moodle, Quiz, plugins, development, psycholog- not have a possibility to create new questions types with
ical tests, assessment, students, university complex behavior, as well as with pre- and post-processing
of answers. For example, in comparison to typical quiz ques-
I. I NTRODUCTION tions, a psychological research involves questions, which are
Nowadays distance learning occupies a leading position connected with each other in a special way to infer a feedback
in education. Its significance increased rapidly because of (assessment).
COVID-19. There are a lot of distant learning tools (Learning However, Quiz does not fit our needs perfectly, e.g. one can
Management Systems, LMS) for schools, universities and not simply make all questions in a quiz to be compulsory. As
companies. Psychological support has always been a part a result, a purpose of a psychological assessment may be un-
of learning processes in higher and secondary education. achievable. Also there are no any open timer implementations
Nonetheless, the appropriate tools with open-source psycho- in Quiz. These and other problems are discussed in the paper
logical tests in systems like LMS have not been presented yet. in details.
A monitoring system of student’s psychophysical state at The aim of the paper is to describe a new method of a
SPbPU is presented in [1]. We chose two psychological psychological tests implementation in Moodle, as well as to
methods called Lusher color test [2] (LCT, for short) and present a new system of plugins for LCT and IST implemen-
Amthauer test [3] (Intelligence Structure Test or IST, for short) tations.
to provide theirs new implementations. The LCT implemen- The rest part of the paper is organized as follows. In Sec-
tation presented in the paper has never been proposed at the tion II a short survey of LCT and IST implementations is
university before. given. Section III describes a method of a psychological tests
LCT allows measuring a person’s psycho-physiological implementation based on Quiz. Section IV presents an imple-
state, his (her) stress tolerance, activity and communication mentation of Lusher and Amthauer tests on the basis of the
abilities. The test allows a participant to determine the causes method proposed. A system of the Quiz plugins is presented.
of psychological stress. The preliminary results of data gathering and mining are
IST was developed in 1953 for tasks of professional se- discussed in Section V.
lection and career guidance. Results of this test can help in
studying the structural and level characteristics of the intellect, II. S HORT REVIEW OF LCT AND IST IMPLEMENTATIONS
in determining what type of activity the person is capable for.
The Amthauer method allows assessing a person’s abilities for Since we are strongly focused on learning processes and
different types of sciences, such as natural, technical, foreign Moodle in matters of a test design and implementation, the
languages, which can predict the learning preference. Section briefly provides an overview of existing online LCT

978-1-6654-4396-8/21/$31.00 ©2021 IEEEXX-X-XXXX-XXXX-X/XX/$XX.00 ©20XX IEEE

282
Authorized licensed use limited to: INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR. Downloaded on January 20,2024 at 10:37:28 UTC from IEEE Xplore. Restrictions apply.
and IST implementations. Some other opportunities of test – Create a new evaluation procedure (with a user
implementations are discussed in the conclusion. feedback) based on the gathered answers.
We could find only one website with the Amthauer test [4]. – Save a response to a separate data base table.
It allows users to select the respondent age, which affects on • * Make post-processing actions for one question.
a result evaluation. There is a timer for each subtest, which – * Create a timer after a question.
starts with an attempt. When the timer ends the user’s answers
5) Set up the designed questions and check a performance
are saved, even if all questions are not answered. The web
of the test.
page proceeds to the description of the next subtest. The main
One can reverse to the previous steps at any moment if
service disadvantage is that person can leave a current subtest
necessary. All steps marked with the star symbol (*) are
without giving answers.
optional. In the vast majority of cases, some of the template
The comparison of some Lusher test web implementations
(or additionally developed) types of questions and behaviors
is given in Table I.
can be used as the basis for the tests. It is easy to see that
TABLE I: Comparison of Lusher Color Test online implemen- the method proposed is based on one of the fundamental
tations approaches in software design. Any of theirs combinations
can be supported with the proposed steps.
Features Online services The following is a brief look at some examples and variants
Online test Pad [5] Color Psycho how these certain options can be organized in code.
Quiz [6] tests [7]
Color Cards + + + A. Deactivate the obligatory assessment of the question an-
Supported, but a user can move to the
A timer
next question before time is over.
- swers
between
questions Several approaches can be used to deactivate the evaluation
Measurement + - - of answers. A question behavior plugin is used to handle
of test time the evaluation. Consequently, one approach is to exclude the
An option to + - -
share a result evaluation in our question behavior plugin. For example, a
SSO - - - separate behavior has been created for our d&d question in
Open source - - - which the basic evaluation functions return empty values.
code, API for
wrapping
In addition, the question type plugin handles the grades.
When trying to go to the To prevent the test from showing the answer settings, the
The test proceeds to
next question the system specific_feedback and correct_response func-
the second question
shows 8 cards again and
An obligatory
prompts user to select them
only when all the tions should be overridden to return empty values [8].
choice of all cards in the first ques- In plugins like d&d, there is a need to configure fields so
cards again, displaying previous
tion are selected.
selectiona . that respondents can move answers there in the future. That
a Ifnot all cards are selected, for example, if user selected only blue and green is why there is a configuration of correct answers in these
and pressed continue, the system will show user all the cards again , and on plugins, so manipulations with question behaviour plugins are
the blue and green card there will be the order of the previous selection.
enough to deactivate the evaluation in such situation.
In the next section, we discuss possible steps to design new B. Make a question compulsory
psychological tests. Both basic and new functions are used to check for a
response correctness. For example, to check the completeness
III. A METHOD OF A PSYCHOLOGICAL TESTS of the is_complete_response, simply add some code
IMPLEMENTATION IN M OODLE Q UIZ to the function get_state_string which is involved in
completing an attempt.
Let us define the following steps of the new method of Such manipulation will not end an attempt until all questions
creating psychological tests in Moodle Quiz. in the test would be fully answered.
In order to notice which question does not have a complete
1) Analyze the method of conducting a psychological test.
answer in the file renderer.php some code should be
2) Describe question types and theirs behavior and model-
added. This file render a display of the question, so we can
ing of their interaction to solve test tasks.
add a text of an error in the feedback field on the question.
3) Design an interface and functionality of new questions
based on the basic Quiz plugins (designing new plugins). C. Organize a special logic for several questions
4) Modify basic questions plugins or/and behavior plugins 1) Create a new evaluation procedure: To create an
for Quiz (development of new plugins). assessment for several questions at once there is a need to
• * Deactivate the mandatory assessment of the ques- write additional functions in a behavior plugin. The basic
tion answers. Moodle plugins do not have this feature. The questions
• Make a question compulsory. can be scored independently, each question can have its
• Organize a special logic for several questions. own mark and a total score is compiled by adding up its

283
Authorized licensed use limited to: INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR. Downloaded on January 20,2024 at 10:37:28 UTC from IEEE Xplore. Restrictions apply.
individual scores. For example, in the eight-color Lusher
$PAGE−>r e q u i r e s −>j s c a l l a m d (
test the score depends on both answers, so to create a
’ q b e h a v i o u r l u s h e r / countdown ’ ,
new assessment method there is a need of a response
’ initialise ’ );
summary from both questions at the same time. This can be
implemented in behaviortype.php by using the function
Fig. 1: Calling to JavaScript code
controls in question_usage_by_activity,
where slots with response information are stored.
Thus, bypassing the array of slots and the function In order to prevent the timer to be displayed
$quba->get_response_summary($slot) pulls on the review page there is an additional check:
up the response and allows to make a new algorithm to !strpos($url, ’review’). The next section describes
re-evaluate the test later. The output of the new score occurs two applications of the method proposed.
in the same control function. Then a new generated
html-labeled text can be passed as a return argument. IV. T HE SYSTEM OF NEW PLUGINS
Suppose, that it is necessary to determine which subtest is We use the techniques proposed in the previous section
currently displayed. In a new questions form teacher should to implement the Lusher and Amthauer tests. The Section
start a name of the question with a code of the subtest, for provides a detailed description the new plugins, which are
example, in IST by sub1. Later, in the behavior in order to available through link in [9].
find out the number of the subtest we need to read the code
of the question from the test. A. Question type for Lusher test
2) Save a response to a separate data base table: This The question type plugin for LCT is based on the Drag and
option is useful to supply a teacher (researcher) with a table Drop on to Image question type plugin.
of the anonymized gathered psychological data. The question A detailed description of the new interaction system model
behavior plugin in responsible for displaying test for a student, is presented in Fig. 2.
saving the result and presenting the reviews, so it will handle Since the Lusher test has its own criteria for evaluating
data for all questions. Even so, creation of a new table in the answers, additional fields have been added to the question
Moodle database in the behavior plugin requires additional settings. For a simpler interface in a question creating form has
code. been added the text of the picture. It is displayed in a separate
Moreover an administrator should take away the rights of text field. To simplify the evaluation the code of the description
watching of the non-anonymized person’s test results by a of the pictures is changed. Also the original number of pictures
teacher (researcher), e.g. switch off mod/quiz:regrade. and positions was changed to 8, the button to add new fields
To create an anonymous data table, there is a need to create is removed.
a field to save a unique quiz id. An administrator can later link In the standard algorithm of the Lusher test, the respondent
the quiz and the student’s data. Since the quiz data should not chooses a card and puts it colored side down. In order to
be publicly available, only the site administrator can retrieve comply with this rule, the disappearance of color pictures is
data from this table. added to the test. If a card is placed on a drop area, it will be
The data should be added in a table by hidden for the respondent. To avoid errors, a hidden field has
behaviortype.php, in a review making page of the been added. This field stores the number of how many colors
test. The new data should be written as an array with the key have already been placed.
being the name of the fields and the value being what you To output the response as a sequence, the
want to write into that field. All question data is stored in summarise_response function has been fixed to
the $slots variable, so the $guba can be used to find out keep the sequence of responses separated by commas:
everything about the questions in the quiz: the respondent’s implode(’ ’, $choices).
answer, the question text, the response to the answer.
B. Question behaviour for Lusher Test
D. Make post-processing actions after a question The question behavior plugin is responsible for how the
1) Create a timer after a question: The question timer respondent will interact with the test, how the questions will
should be presented in the behavior plugin, since it is respon- be displayed, their sequence and evaluation. Note, that the
sible for displaying questions in the quiz. For example, the evaluation of several questions at once is not presented in the
Lusher test assumes a pause for 3 minutes between questions, basic Moodle plugins. In basic mode is possible to calculate a
so the timer should be placed after the first question. To create total grade, but each question in the test is evaluated separately.
a timer in Moodle one need to write JavaScript code with The assessment algorithm and assessment for two questions at
AMD technology, e.g. in php like in Fig.1. a time are the key in the simulation of the whole test.
Add the code to the file renderer.php, which is re- The question behavior for the Lusher test is based on the
sponsible for displaying questions for attempt. For example, standard files with some additions:
if you need a timer on the first question, you could check • a new php file, LusherEstimArr.php, is created to
$slots: $qa->get_slot()==1; describe the results for the Lusher test, including the

284
Authorized licensed use limited to: INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR. Downloaded on January 20,2024 at 10:37:28 UTC from IEEE Xplore. Restrictions apply.
Fig. 2: Application view of the Lusher test plugins

creation of html-labeled text which would be displayed correct score, it is necessary to recalculate the points, the
in the test result; example of code is given in Fig.4.
• in behavior.php all classes related to evaluation of It is necessary to handle the possibility that the respondent
the test are removed, since the standardized evaluation of does not want to take the test and can try to complete it before
the Lusher test is not needed; time runs out without answering all questions. Moreover, the
• behaviortype.php is complemented by a new Amthauer test assumes that the respondent can fail to answer
function for evaluating answers to the Question Type all questions in the allotted time. Hence it is important to
Lusher, and also has changed the standard function save the attempt. Adding a ”required” response is described
summarize_usage to display the results correct; in III-B.
• in renderer.php the function controls has been The way how to create a timer on the first question is
changed to display a new ”continue” button to provide described in III-D1. It is implemented in ninth subtest. The
an ability to start the timer between questions; display of the timer is changed: the timer is located on the
As noted above, initially no one has been evaluated the test first question and starts immediately at the beginning of the
on more than one question at the same time before. To solve test attempt, the button for the next question is hidden. When
this problem the III-C1 point from method is implemented. the timer expires there is a code which simulated pressing the
Moodle has a timer for the quiz, but no timer between ”next” button to go to the next question. While creating the
questions. Within the plugin, the timer between the first and Quiz it is obligatory to put ”not free navigation”, so that the
second questions is based on AMD technology and javascript respondent could not go to the first question on the further test
code. A new AMD countdown.js file is created to display questions.
the timer after pressing the ”continue” button (when all the
pictures have been arranged). Moreover, there is a check code
V. E XPERIMENTS
in this file upon which the test taker will not be able to press
the ”continue” until he/she has arranged all 8 colors in the The experiments are conducted as a part of monitoring of
preference order. student’s psychophysical state at SPbPU [1] in the spring of
2021 year. We gathered and analyzed 237 answers for the
C. Question behaviour for Amthauer test Lusher test and 45 answers for the first Amtchauer subtest
The process model of the new plugin is presented in Fig. 3. before the paper submission. All Amtchauer subtests can be
The way how to save the number of the subtest is discussed taken separately, that is why students do not pass all of them.
in the previous section. Now we are going to discuss some The first subtest has the highest number of answers.
other technical problems. In the fourth subtest, the respondent The tests are conducted among students of 2020 (first, for
is required to select two answers. To avoid mistakes, during short) and 2019 (second, for short) years of admission. There
the completion of the form a teacher or administrator can set are 191 respondents of the first and 46 respondents of the
a penalty of half a point for incorrect answers. Each correct second year. There are 95 male and 142 female students from
answer is evaluated with 0.5 points. In order to produce a 18 to 53 years old. 223 students are part-time students.

285
Authorized licensed use limited to: INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR. Downloaded on January 20,2024 at 10:37:28 UTC from IEEE Xplore. Restrictions apply.
Fig. 3: Process model of question behaviour for Amthauer test

i f ( $ f o u n d [ 0 ] == ’ s u b 4 ’ ) {
$ t o t a l m a r k =0;
f o r ( $ i = 0 ; $ i < c o u n t ( $ s l o t s ) ; $ i ++){
i f ( $quba−>
g e t q u e s t i o n m a r k ( $ s l o t s [ $ i ] ) == 1 )
$totalmark = $totalmark + 1;
$ r e s p [ $ i ] = $quba−>
get response summary ( $ s l o t s [ $i ] ) ; Fig. 5: Average of exclamation points numbers in age groups
}
}
The number of exclamation points can vary from 0 to 12:
the higher the number is, the higher the level of the person’s
Fig. 4: Counting a new mark
anxiety is. More young people could be regarded as more
anxiety. Here and later the academic performance is an average
A. Data gathering of all students marks within all his/her sessions.
We built (Kendall) correlation matrices. The example is in
To get LCT and IST one need to download and install four
Fig. 6. There is no correlation between the anxiety (excla-
developed plugins: the d&d question for the Lusher Test, the
mation points) and the performance. The p-values for these
Lusher behavior plugin, and the Amthauer behavior plugin [9].
To collect the data we use SQL queries. Queries are
developed on the basis of a unique quiz number, which is saved
in the table for data collection. This number is also presented
in the standard tables of the quiz module. The anonymity of
the responses for the queries is preserved.
For example, to display a time of start and end of a
quiz, there is a reference to the standard table of the
quiz module quiz_attempts. The fields timestart and
timefinish store data about the start and end times of the
quiz. This time measures when the data consumes into table.
It should be noted that data is stored in Unix format.
B. Data processing
All calculations are performed in Python. Fig. 6: Correlation matrix with Lusher and learning data
1) Data analysis for Lusher Test: First of all, we defined
three age groups: 0-20, 20-30, 30-55 years with 91, 129 and correlation coefficients are 0.196 for years of admisstion, 0.693
17 students, respectively. The average value of the Lusher’s for gender, 0.404 for age, 0.658 for academic performance.
so-called exclamation points for these groups is given (as 2) Data analysis for Amtchauer Test: We checked the
exclamcount) in Fig. 5. correlation between the (Amtchauer’s) total mark of the first

286
Authorized licensed use limited to: INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR. Downloaded on January 20,2024 at 10:37:28 UTC from IEEE Xplore. Restrictions apply.
subtest and other main characteristics as a year of admission, preliminary analysis of gathered learning and psychological
age and average marks for the university courses (academic datasets is presented.
performance). The correlation is presented in Fig. 7. The Among the main disadvantages of the proposed tools is
results presented could not be reliable enough (because of the the fact that there are requirements to a researcher for the
small number of student). P-values for the coefficients are 0.1 knowledge of basic JavaScript and the technology of a plugin
development in Moodle.
It seems that our approach is not drastically differ from
Google Forms (in simple tests). However, compared to the
Google solution, our testing process remains in a familiar
environment for participants of an educational process, and
educational process owners retain control over the data on
a server. One can not make authentication with SSO in the
Google case, but could try to wrap a google form.
Similar reasoning is also acceptable to psychological soft-
ware like [10]–[14]. However, this approach also allows one
to maintain control over the data on a server and make
authentication with SSO.
ACKNOWLEDGMENT
The authors are grateful to SPbPU Institute of physical
Fig. 7: Correlation matrix with Amtchauer and learning data culture, sport and tourism for the support. Special thanks
are to Oleg E. Piskun the head of Physical culture and
for the academic performance, 0.15 for gender, 0.45 for years sport department. The method of the new questionnaire-like
of admission and 0.63 for age. tools implementation based on Moodle Quiz is proposed by
The average numbers of the Total Mark (the result of the V. Parkhomenko and adopted by A. Zyamzina for a psycho-
first subtest) subtest and Academic Performance are presented logical assessment. A. Zyamzina is the main contributor to the
in Fig. 8. The mark group means the interpretation of the Total tools implementation.
Mark values, ordered from “poor” (1) to “excellent” (5).
R EFERENCES
[1] O. Piskun, N. Vengerova, V. Parkhomenko, and V. Piskun, “Development
of system of continuous monitoring of psychophysical state of students,”
Teoriya i Praktika Fizicheskoy Kultury, vol. 981, pp. 45–47, 2020, (in
Russian).
[2] M. Lüscher, The Luscher color test. Simon and Schuster, 1971.
[3] R. Amthauer, IST 70: Intelligenz-Struktur-Test. Hogrefe, 1953.
[4] “Intelligence structure test (ist).” [Online]. Available: https://amthauer-
ist.com/en/
[5] “The lusher color test.” [Online]. Available:
Fig. 8: Total Mark and Performance (avg) in mark groups https://onlinetestpad.com/en/test/987-the-luscher-color-test
[6] “Colorquiz.” [Online]. Available: https://colorquiz.com/
[7] “Lusher color test.” [Online]. Available: https://psycho-
The average numbers of the Total Mark for the first subtest tests.com/test/lusher-color
[8] PHP 7 Zend Certification Study Guide. Indianapolis: Sams Publishing,
and Academic Performance (grouped by years of submission) 2017.
are presented in Fig. 9. [9] “Lusher and Amthauer tests plugins for Moodle Quiz.” [Online].
Available: https://github.com/R-D4S/Plugins-for-Psychological-tests
[10] C. C. von Bastian, A. Locher, and M. Ruflin, “Tatool: A Java-based
open-source programming framework for psychological studies,” Behav-
ior Research Methods, vol. 45, no. 1, pp. 108–115, jun 2013.
[11] F. Henninger, Y. Shevchenko, U. Mertens, P. J. Kieslich, and B. E.
Hilbig, “lab.js: A free, open, online experiment builder,” may 2019.
[Online]. Available: https://zenodo.org/record/2775942
[12] J. R. de Leeuw, “jsPsych: A JavaScript library for creating
behavioral experiments in a Web browser,” Behavior Research
Fig. 9: Total Mark and Performance (avg) for admission years Methods, vol. 47, no. 1, pp. 1–12, mar 2015. [Online]. Available:
https://github.com/jodeleeuw/jsPsych/wiki/List-of-Plugins
[13] J. Peirce, J. R. Gray, S. Simpson, M. MacAskill, R. Höchenberger,
H. Sogo, E. Kastman, and J. K. Lindeløv, “PsychoPy2: Experiments in
VI. C ONCLUSION behavior made easy,” Behavior Research Methods, vol. 51, no. 1, pp.
195–203, feb 2019. [Online]. Available: https://doi.org/10.3758/s13428-
The paper presents new techniques for creating psycholog- 018-01193-y
[14] S. Mathôt, D. Schreij, and J. Theeuwes, “OpenSesame: An open-source,
ical tests and questions in Moodle Quiz. As an illustration of graphical experiment builder for the social sciences,” pp. 314–324, jun
creating tests, the process of creating the Lusher and Amthauer 2012. [Online]. Available: http://osdoc.cogsci.nl/.
tests is described. The system of plugins is proposed. A

287
Authorized licensed use limited to: INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR. Downloaded on January 20,2024 at 10:37:28 UTC from IEEE Xplore. Restrictions apply.

You might also like