Question
After selecting an appropriate LA goal, the user
formulates the LA question, such as, ‘Activities
of students in the Web Technologies class’ for the
‘Weekly time evolution of learning resources acces-
sed’ indicator. Afterwards, the user can associate
multiple indicators with the LA question either
by loading an existing indicator and altering its
parameters or defining a new indicator (as explained
in next section). Each associated indicator can
easily be deleted or selected for editing again. After
finalizing the association of the required indicators
with the LA question, the user can visualize it and
save it to the database. While saving, the Analytics
Framework generates the indicator request codes
for the saved question and its associated indicators
which is provided to the user as shown in Figure 3.
These indicator request codes can be embedded in
any client application (e.g. dashboard, Web pages) to
visualize them using the selected data.
Indicator
In this section, the user can specify the parameters for
the new indicator or customize the loaded indicator.
The section is further divided into four parts, namely
dataset, filters, analysis, and visualization.
• Dataset In this part of the UI, the user can spe-
cify the name and explore the learning activities
data to define the basic dataset for the indicator.
The dataset is defined based on the parameters se-
lected by the user, including the list of Sources
from where the data should be used (L2P, Moodle,
etc.), data coming from which Platforms should
be included (web, mobile, etc.), data related to
which Action types should be used (add, update,
delete, post, begin, end, etc.) and which Category
should be used (Wiki, Discussion forum, Assign-
ments, etc.). These parameters represent the attri-
butes of the ‘Event’ table in the LCDM data mo-
del, as discussed in Section 4.3.1.
• Filters
This part allows the user to specify additional fil-
tering parameters on the defined dataset. Three
different types of filters can be applied, namely
‘Attribute’, ‘Time’, and ‘User’. The ‘Attribute’
filters are applied on the additional semantic infor-
mation related to each event stored in the ‘Entity’
table of the LCDM (see Section 4.3.1). Using the
‘Time’ filter the starting and/or ending dates can
be specified to define the range of time for which
the data should be used. Finally, the ‘User’ fil-
ter allows the user to specify whether only his/her
data or anonymized data of the whole class should
be considered.
• Analysis
Analysis is the crucial part of the indicator gene-
ration process where the user can specify which
analytics method should be performed on the fil-
tered dataset. The user can select an analytics
method from a provided list containing methods
from the domain of statistics, data mining (DM),
and social network analysis (SNA). Afterwards,
the user can define the mapping between the fil-
tered dataset and the selected analytics method
by specifying which column of the dataset should
go into which input of the analytics method. A
statistics analytics method called ‘Item Counter -
Weekly’ is used for the ‘Weekly time evolution
of learning resources accessed’ indicator. The se-
lected analytics method expect two inputs, ‘Items
to count’ and ‘Timestamp’ which are mapped
to ‘Category’ and ‘Timestamp’ data columns re-
spectively.
• Visualization The final step in the indicator gene-
ration process is to define the visualization for the
indicator. In this part, the user can select an appro-
priate visualization library and visualization type
for the indicator. Afterwards, the user can define
the mapping between the outputs of the selected
analytics method and the expected inputs of the
selected visualization type. For the ‘Weekly time
evolution of learning resources accessed’ indica-
tor, the ‘Stacked Area Chart’ of the ‘C3/D3.js’ vi-
sualization library is used. The selected visuali-
zation type requires three inputs, ‘X-Axis Items’,
‘Y-Axis Values’ and ‘Stacked Items’ which are
mapped to ‘Time (Weeks)’, ‘Item Count’ and
‘Item Names’ outputs of the selected analytics
method respectively.
Rule Engine
The “Rule Engine” component is responsible for ma-
naging the rules to generate data queries for indicators
during the indicator generation process. The Indica-
tor Engine uses a rule engine called Drools
4
. Each
rule accepts a list of selected dataset and filtering
parameters and generates an appropriate data query.
Drools rule consists of three main clauses, a ‘Header’
clause which contains a human readable name of the
rule, a ‘When’ clause where the condition for execu-
ting the rule is specified and a ‘Then’ clause descri-
bing the actions which needs to be taken when the
specified conditions are satisfied. After the user has
finalized defining the indicator using the “Indicator
Editor”, the “Indicator Generator” requests the Drools
to generate the data query for the indicator using the
4
http://www.drools.org/
CSEDU 2017 - 9th International Conference on Computer Supported Education
376