<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Towards Distributed Intelligent Tutoring Systems Based on User-owned Progress and Performance Data</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yoshi Malaise</string-name>
          <email>ymalaise@vub.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Maxim Van de Wynckel</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Beat Signer</string-name>
          <email>bsigner@vub.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Personal Data Vault, Intelligent Tutoring Systems, Exercise Recommendation</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Web &amp; Information Systems Engineering Lab, Vrije Universiteit Brussel</institution>
          ,
          <addr-line>1050 Brussels</addr-line>
          ,
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The use of recommendation engines to personalise students' learning experiences can be beneficial by providing them with exercises tailored to their knowledge. However, the use of these systems often comes at a price. Most learning or tutoring systems require the data to be stored locally within a proprietary database, limiting learners' freedom as they move across diferent systems during their learning journey. In addition, these systems might potentially cause additional stress, as the learner might feel observed without knowing who has access to their learning progress and performance data. We propose a solution to this problem by decentralising learning progress and performance data in user-owned Solid Pods. We outline the proposed solution by describing how it might be applied to an existing environment for programming education that already includes research on how to align dificulty levels of exercises across diferent systems.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>CEUR
ceur-ws.org</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction</title>
      <p>
        The use of Intelligent Tutoring Systems (ITS) to adapt the recommendation of exercises based
on individual learners has proven to be efective [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Evidence suggests that more personalised
learning leads to increased learner agency, self-reliance and motivation [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. However, the move
towards smart learning systems is not without costs. Intelligent Tutoring Systems typically
require that all of the exercises are stored in one centralised system that is often also monitored
by teachers and persons who are responsible for ultimately grading the students. Previous
studies revealed that implementing electronic performance monitoring can result in lower job
satisfaction, increased stress levels as well as reduced autonomy, and can further be perceived
as a violation of trust [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In ideal circumstances, the learning environments should also ofer a
safe space for students to practise on problems they find interesting or challenging, without
having to worry about how they will be perceived by teachers. For example, a student might
be concerned that the perception of the teacher might change if they are still shown to be
struggling with material from previous years.
      </p>
      <p>
        In the following, we propose a solution to this problem based on the Solid specification [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
where (a) the same user progress can be used across multiple learning applications to provide a
nEvelop-O
LGOBE
smooth flow state and (b) a student can opt in to share progress with individual applications for
training the model, but without having to provide teachers access to their entire performance
for individual exercises. We discuss the solution by answering some open questions posed by
Malaise and Signer [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], who introduced the Explorotron prototype for programming education.
In this prototype, there are multiple smaller sub-applications called study lenses, each taking
a source code file and generating exercises based on certain dificulty levels (Predict, Run,
Investigate, Modify and Make) of the PRIMM methodology [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. While their tool ofers the
possibility to suggest learning experiences based on logical progression through built-in study
lenses, the authors conclude with a few major challenges to overcome:
• Students can generate exercises from any source file, so generated content is never used by
other students, leading to a cold start problem that makes recommendations challenging.
• Students should be free to decide which data they want to share and with whom they
want to share it.
• Third-party developers should be able to contribute custom exercise generators (study
lenses) transparently—the same recommendations/profiling should work across the board.
      </p>
    </sec>
    <sec id="sec-3">
      <title>2. Solution</title>
      <p>
        For our demonstration, we assume that student modelling happens through the use of Bayesian
Knowledge Tracing (BKT) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], a common approach in the design of Intelligent Tutoring Systems.
However, note that with some modifications, other approaches could also be supported. BKT is
a probabilistic model that requires four parameters to be fitted for each learning object as
illustrated in Figure 1.
      </p>
      <p>•  (  ): The probability that the topic being covered by the learning object is mastered at
time  . A value  ( 0) has to be provided to indicate the chance the user knows the topic
before attempting any exercise. Note that the topics are defined as a combination of the
knowledge topic and the dificulty level as defined later in Section 2.1.
•  () : The probability that the user makes a slip, i.e. gets it wrong even though they know
the topic.
•  () : The probability that the user makes a lucky guess and gets the answer right even
though they do not know the topic.
•  ( ) : The probability that the user learns the topic while performing this exercise.</p>
      <sec id="sec-3-1">
        <title>Topic is mastered</title>
      </sec>
      <sec id="sec-3-2">
        <title>Topic is not mastered</title>
        <p>Topic &amp; Difficulty</p>
      </sec>
      <sec id="sec-3-3">
        <title>Success</title>
      </sec>
      <sec id="sec-3-4">
        <title>Fail</title>
      </sec>
      <sec id="sec-3-5">
        <title>Success</title>
      </sec>
      <sec id="sec-3-6">
        <title>Fail</title>
        <p>Based on these values, we can then calculate the updated probability that a topic (e.g. “Arrays”)
is mastered each time the user is presented with a new exercise about this topic ( +1 ) based
on whether they succeeded or failed to solve the exercise. It is important to note that all these
probabilities are exercise dependent and will, as such, not be shared across the applications
except for  (  ). This value is the probability that the user knows a topic, which can be shared
across any application as long as they are referring to the same topic.</p>
        <p>We aim to store the result of every exercise the user performs within a personal data vault,
together with the calculated  (  ) for every topic and dificulty level pair as shown in Figure 2.
Developers of educational applications could then request limited-time access to all of their
users’ entries in order to fit their models without the need to own all the data permanently.
Shared information, such as the  (  ), will make it easier for other developers to contribute
their own extensions that provide exercise recommendations.</p>
        <p>Solid Pod
exercises/
progress.ttl
app1/
1711537052.ttl
1711623452.ttl</p>
        <p>Student
app2/
app3/
Read, Write
Access to all
progress</p>
        <p>Read Access
to (all) progress</p>
        <p>App 1
App 2</p>
        <p>App 3
Bayesian Model</p>
        <p>Teacher
&lt;&gt; a schema:ReplyAction; # A reply to a question
dct:created "2024-03-28T11:57"^^xsd:dateTime;
schema:agent &lt;http://.../profile/card#me&gt;;
# Exercise question
schema:parentItem [ a schema:Question;
schema:name "What is the output of ...?"@en;
schema:educationalLevel primm:Predict;
schema:eduQuestionType "Flashcard"@en;
foaf:topic dbr:Array;
foaf:agent &lt;https://app1.org/&gt;. # Creator
];
schema:result [ a schema:Answer; # User answer
schema:answerExplanation [ ... ];
schema:review [ a schema:Review;
# The grade of the answer (e.g. 5 out of 5)
schema:reviewRating 5; schema:bestRating 5.
].</p>
        <p>]</p>
        <p>
          Listing 1: Example reply on a question generated by app #1
using prefixes dbr [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], schema [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], foaf [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] and dct [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]
        </p>
        <p>
          Users can already indicate their topics of interest in their Solid Pod using the topics of interest
predicate from the foaf vocabulary [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], which can aid educational recommendation systems
to provide exercises that interest the user. Together with data about the past performance, we
can create personalised learning paths for users based on their strengths and weaknesses from
multiple sources without creating any vendor lock-in and without claiming ownership of the
students’ data.
        </p>
        <p>
          In addition, the progress of these exercises and topics can optionally be shared with an
educator or mentor as illustrated in Figure 2, allowing for personalised feedback and guidance
to further support a user’s learning journey. The fine-grained control over the data also enables
students to share the information on topics they are currently covering in class, while preventing
the need to share that they are still working on other topics they do not want to share.
2.1. Exercises and Progress
Each topic has a set of exercises with their individual dificulty level. Our proposed solution uses
the existing PRIMM principles [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] to identify the five stages of dificulties for exercises. These
stages include the ability to predict the output of a piece of code, run a piece of code, investigate
a piece of code and answer some questions about its structure, modify a piece of code so the
behaviour changes to a new desired result and finally, make a similar piece of code from scratch.
Together, these five principles identify the logical progression of dificulty levels for looking at
a piece of code from a student’s perspective. Listing 1 illustrates an example exercise and the
answer given to this exercise that includes the dificulty level 1 using the educationalLevel
predicate.
        </p>
        <p>A further extension of the architecture would allow third-party developers to share their
plugins’ capabilities regarding what type of content they could provide. Thus, the
recommendation engine can be a fully separate component querying all content providers included by the
user without being centrally controlled by one individual.
&lt;#progress_arrays_predict&gt; a sosa:ObservableProperty ;
rdfs:label "Prediction progress"@en ; ssn:isPropertyOf &lt;#me&gt; ;
foaf:topic dbr:Array ; schema:educationalLevel primm:Predict .
&lt;#1711623452&gt; a sosa:Observation ; # P(L_(t+1))
sosa:usedProcedure dbr:Bayesian_Knowledge_Tracing ;
dct:created "2024-03-28T11:57"^^xsd:dateTime ;
foaf:agent &lt;https://app1.org/&gt; ; sosa:observedProperty &lt;#progress_array&gt; ;
sosa:hasResult [ qudt:floatPercentage "38.12"^^xsd:float ] .
&lt;#1711537052&gt; a sosa:Observation ; # P(L_t)
sosa:usedProcedure dbr:Bayesian_Knowledge_Tracing ;
dcterms:created "2024-03-27T11:57"^^xsd:dateTime ;
foaf:agent &lt;https://app1.org/&gt; ; sosa:observedProperty &lt;#progress_array&gt; ;
sosa:hasResult [ qudt:floatPercentage "25.0"^^xsd:float ] .</p>
        <p>Listing 2: Multiple observations of user progress for a particular topic and dificulty level</p>
        <p>
          Listing 2 shows multiple observations of user progress for a particular topic at a given
time (i.e.  (  )). Each observation, described using the SOSA ontology [
          <xref ref-type="bibr" rid="ref12 ref13">12, 13</xref>
          ], is created by
an application. This progress is shared, allowing each educational application to use these
observations to determine the current knowledge on a topic.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>3. Conclusions</title>
      <p>In this paper, we analysed a use case of a digital learning platform that helps students learn
programming. However, there are currently some open challenges on how personalisation
and interoperability with third-party developers might be achieved without taking away the
learner’s data ownership. We then proposed a novel solution to support those tasks by allowing
users to store all their exercise results in Solid Pods and giving them full control over how and
1The primm: vocabulary represents a trivial vocabulary to describe the dificulty levels in programming exercises
when applications can access this data. In this work, we assumed that both, users and application
developers could be fully trusted. If more validation and authority is needed, additional layers
can be built on top of this system, for example, by using a blockchain to verify claims, as
described in [14, 15].
[14] N. Chowdhury, M. Ramachandran, A. Third, A. Mikroyannidis, M. Bachler, J. Domingue,
Towards a Blockchain-based Decentralised Educational Landscape, in: Proceedings of
eLmL 2020, 12th International Conference on Mobile, Hybrid, and On-line Learning,
Valencia, Spain, 2020. https://oro.open.ac.uk/69608/.
[15] A. Mikroyannidis, Blockchain Applications in Education: A Case Study in Lifelong
Learning, in: Proceedings of eLmL 2020, 12th International Conference on Mobile, Hybrid,
and On-line Learning, Valencia, Spain, 2020. https://oro.open.ac.uk/69593/.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Kulik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Fletcher</surname>
          </string-name>
          ,
          <article-title>Efectiveness of Intelligent Tutoring Systems: A Meta-analytic Review</article-title>
          ,
          <source>Review of Educational Research</source>
          <volume>86</volume>
          (
          <year>2016</year>
          ). doi:
          <volume>10</volume>
          .3102/0034654315581420.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>V.</given-names>
            <surname>Prain</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Cox</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Deed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Dorman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Edwards</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Farrelly</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Keefe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Lovejoy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Mow</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Sellings</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Waldrip</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Yager</surname>
          </string-name>
          , Personalised Learning: Lessons to be Learnt,
          <source>British Educational Research Journal</source>
          (
          <year>2013</year>
          ). doi:
          <volume>10</volume>
          .1080/01411926.
          <year>2012</year>
          .
          <volume>669747</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>R.</given-names>
            <surname>Siegel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. J.</given-names>
            <surname>König</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Lazar</surname>
          </string-name>
          ,
          <article-title>The Impact of Electronic Monitoring on Employees' Job Satisfaction, Stress, Performance, and Counterproductive Work Behavior: A Meta-Analysis, Computers in Human Behavior Reports 8 (</article-title>
          <year>2022</year>
          ). doi:
          <volume>10</volume>
          .1016/j.chbr.
          <year>2022</year>
          .
          <volume>100227</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>S.</given-names>
            <surname>Capadisli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Berners-Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Verborgh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Kjernsmo</surname>
          </string-name>
          , Solid Protocol,
          <year>2022</year>
          . https: //solidproject.org/TR/protocol.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Malaise</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Signer</surname>
          </string-name>
          ,
          <article-title>Explorotron: An IDE Extension for Guided and Independent Code Exploration and Learning (Discussion Paper)</article-title>
          ,
          <source>in: Proceedings of Koli Calling</source>
          <year>2023</year>
          , 23rd International Conference on Computing Education Research, Koli, Finland,
          <year>2023</year>
          . doi:
          <volume>10</volume>
          . 1145/3631802.3631816.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.</given-names>
            <surname>Sentance</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Waite</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kallia</surname>
          </string-name>
          ,
          <article-title>Teaching Computer Programming with PRIMM: A Sociocultural Perspective</article-title>
          ,
          <source>Computer Science Education</source>
          <volume>29</volume>
          (
          <year>2019</year>
          ). doi:
          <volume>10</volume>
          .1080/08993408.
          <year>2019</year>
          .
          <volume>1608781</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>O.</given-names>
            <surname>Bulut</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Shin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. N.</given-names>
            <surname>Yildirim-Erbasli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Gorgun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z. A.</given-names>
            <surname>Pardos</surname>
          </string-name>
          ,
          <article-title>An Introduction to Bayesian Knowledge Tracing With PyBKT</article-title>
          ,
          <source>Psych</source>
          <volume>5</volume>
          (
          <year>2023</year>
          ). doi:
          <volume>10</volume>
          .3390/psych5030050.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Auer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bizer</surname>
          </string-name>
          , G. Kobilarov,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lehmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Cyganiak</surname>
          </string-name>
          ,
          <string-name>
            <surname>Z. Ives,</surname>
          </string-name>
          <article-title>DBpedia: A Nucleus for a Web of Open Data</article-title>
          ,
          <source>in: Proceedings of ISWC</source>
          <year>2007</year>
          , 6th International Semantic Web Conference, Busan Korea,
          <year>2007</year>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>540</fpage>
          -76298-0_
          <fpage>52</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Iliadis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Acker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Stevens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. B.</given-names>
            <surname>Kavakli</surname>
          </string-name>
          , One Schema to Rule Them All: How Schema.
          <source>org Models the World of Search, Journal of the Association for Information Science and Technology</source>
          (
          <year>2023</year>
          ). doi:doi.org/10.1002/asi.24744.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Brickley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Miller</surname>
          </string-name>
          ,
          <source>FOAF Vocabulary Specification</source>
          <volume>0</volume>
          .
          <fpage>99</fpage>
          ,
          <year>2014</year>
          . http://xmlns.com/foaf/ spec/.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S.</given-names>
            <surname>Weibel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kunze</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lagoze</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wolf</surname>
          </string-name>
          , RFC2413: Dublin Core Metadata for Resource Discovery,
          <source>Technical Report</source>
          ,
          <year>1998</year>
          . doi:
          <volume>10</volume>
          .17487/RFC2413.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>K.</given-names>
            <surname>Janowicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Compton</surname>
          </string-name>
          ,
          <article-title>The Stimulus-Sensor-Observation Ontology Design Pattern and its Integration Into the Semantic Sensor Network Ontology</article-title>
          ,
          <source>in: Proceedings of SSN</source>
          <year>2010</year>
          , 3rd International Conference on Semantic Sensor Networks, Shanghai, China,
          <year>2010</year>
          . https://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>668</volume>
          /paper12.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>K.</given-names>
            <surname>Janowicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Haller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. J.</given-names>
            <surname>Cox</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. Le</given-names>
            <surname>Phuoc</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Lefrançois, SOSA: A Lightweight Ontology for Sensors, Observations, Samples, and Actuators</article-title>
          ,
          <source>Journal of Web Semantics</source>
          <volume>56</volume>
          (
          <year>2019</year>
          ). doi:
          <volume>10</volume>
          .1016/j.websem.
          <year>2018</year>
          .
          <volume>06</volume>
          .003.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>