<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Robot. AI</journal-id>
<journal-title>Frontiers in Robotics and AI</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Robot. AI</abbrev-journal-title>
<issn pub-type="epub">2296-9144</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1249241</article-id>
<article-id pub-id-type="doi">10.3389/frobt.2023.1249241</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Robotics and AI</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Time-dependant Bayesian knowledge tracing&#x2014;Robots that model user skills over time</article-title>
<alt-title alt-title-type="left-running-head">Salomons and Scassellati</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/frobt.2023.1249241">10.3389/frobt.2023.1249241</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Salomons</surname>
<given-names>Nicole</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/424473/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Scassellati</surname>
<given-names>Brian</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1114417/overview"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Department of Computer Science</institution>, <institution>Yale University</institution>, <addr-line>New Haven</addr-line>, <addr-line>CT</addr-line>, <country>United States</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>I-X and the Department of Computing</institution>, <institution>Imperial College London</institution>, <addr-line>London</addr-line>, <country>United Kingdom</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2234921/overview">Daniel Tozadore</ext-link>, Swiss Federal Institute of Technology Lausanne, Switzerland</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/497843/overview">Giovanni De Gasperis</ext-link>, University of L&#x2019;Aquila, Italy</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/14126/overview">Katharina J. Rohlfing</ext-link>, University of Paderborn, Germany</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Nicole Salomons, <email>n.salomons@imperial.ac.uk</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>26</day>
<month>02</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>10</volume>
<elocation-id>1249241</elocation-id>
<history>
<date date-type="received">
<day>28</day>
<month>06</month>
<year>2023</year>
</date>
<date date-type="accepted">
<day>12</day>
<month>12</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2024 Salomons and Scassellati.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Salomons and Scassellati</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>Creating an accurate model of a user&#x2019;s skills is an essential task for Intelligent Tutoring Systems (ITS) and robotic tutoring systems. This allows the system to provide personalized help based on the user&#x2019;s knowledge state. Most user skill modeling systems have focused on simpler tasks such as arithmetic or multiple-choice questions, where the user&#x2019;s model is only updated upon task completion. These tasks have a single correct answer and they generate an unambiguous observation of the user&#x2019;s answer. This is not the case for more complex tasks such as programming or engineering tasks, where the user completing the task creates a succession of noisy user observations as they work on different parts of the task. We create an algorithm called Time-Dependant Bayesian Knowledge Tracing (TD-BKT) that tracks users&#x2019; skills throughout these more complex tasks. We show in simulation that it has a more accurate model of the user&#x2019;s skills and, therefore, can select better teaching actions than previous algorithms. Lastly, we show that a robot can use TD-BKT to model a user and teach electronic circuit tasks to participants during a user study. Our results show that participants significantly improved their skills when modeled using TD-BKT.</p>
</abstract>
<kwd-group>
<kwd>user modeling</kwd>
<kwd>tutoring</kwd>
<kwd>human-robot interaction</kwd>
<kwd>Bayesian knowledge tracing</kwd>
<kwd>robotics</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Human-Robot Interaction</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1 Introduction</title>
<p>Intelligent Tutoring Systems (ITS) provide one-to-one instruction to a user to increase their knowledge in a particular domain. They can be just as effective as a human tutor <xref ref-type="bibr" rid="B51">VanLehn (2011)</xref> under the right circumstances. A robot can enhance an ITS by providing a social presence during the interaction. Compared to a screen system only, embodied robot tutors have been shown to cause greater compliance <xref ref-type="bibr" rid="B5">Bainbridge et al. (2011)</xref>, higher learning gains <xref ref-type="bibr" rid="B30">Leyzberg et al. (2012)</xref>, more engagement <xref ref-type="bibr" rid="B53">Wainer et al. (2007)</xref>, and fewer mistakes <xref ref-type="bibr" rid="B46">Salomons et al. (2022b)</xref>. A robot can also interact with the user as a peer or tutee rather than as the traditional teacher <xref ref-type="bibr" rid="B45">Salomons et al., 2022a</xref>; <xref ref-type="bibr" rid="B9">Chen et al., 2020</xref>. Furthermore, a robot has the ability to directly collaborate with the user, and provide demonstrations of the correct answer during more physical tasks (<xref ref-type="bibr" rid="B44">Salomons et al., 2021</xref>; <xref ref-type="bibr" rid="B45">Salomons et al., 2022a</xref>).</p>
<p>A critical aspect of these systems is to create an accurate model of the user&#x2019;s skills that estimates which skills the user has mastered and which ones they have not. A skill denotes an ability or a knowledge component in a particular domain. Therefore, different domains will require different skills of the user. When an ITS has an accurate model of a user&#x2019;s capabilities, it can provide personalized help, focusing on skills that the user has not yet mastered. Systems that provide personalized learning can significantly boost learning in the student <xref ref-type="bibr" rid="B51">VanLehn (2011)</xref>.</p>
<p>Prior intelligent and robotic tutoring systems have primarily focused on simple tasks such as arithmetic or multiple-choice questions. In these domains, there is a single correct answer. The answer is given either through a tablet or web interface, therefore generating unambiguous observations about the user&#x2019;s answer. The system uses these end-of-task observations and updates the user skill model depending on whether the answer was correct or incorrect for each skill. For example, if the task tests a division skill by asking: &#x201c;what is 14/2?&#x201d; the user will answer 7, a different number, or leave it empty. If the answer was 7, the system increases its estimate about the user&#x2019;s division skills; otherwise, it decreases it.</p>
<p>Consider a more complex task, such as electronic circuit building or computer programming. These tasks generate opportunities for the system to intervene with help by tracking user skills before the user provides a final answer. Several difficulties arise from modeling throughout task completion. There are often multiple possible ways to complete each task correctly. Frequently these tasks test more than one skill, some of which are expected to be completed earlier than others. Each observation does not tell a complete story about the user&#x2019;s skills as they apply different skills over time. Lastly, observations can be noisy as sensing systems like computer vision or interpreters are necessary. These are exemplified in a programming task: there are multiple possible solutions; the user needs time to apply each skill, with some skills like creating a loop likely taking longer than others such as creating variables; users will likely break and rebuild pieces of code during the task; the observations are noisy as a language interpreter is necessary.</p>
<p>Previous skill estimation algorithms were not designed to model these more complex tasks. Therefore, this chapter proposes Time-Dependent Bayesian Knowledge Tracing (TD-BKT), which can model a user during more complex domains. There are two main novelties in our proposed solution: an &#x201c;attempted&#x201d; parameter that captures the expected amount of time before the user applies each skill. Second, we average the estimates over multiple time-steps. A time-step is the time it takes to get a new observation of the user&#x2019;s answers. The length of the time-step is determined by the system designer who defines how frequently observations are collected and therefore can vary between different systems or domains. The attempted parameter captures the expected amount of time until the user would have shown their skill if they had mastered it. This means that the system does not immediately assume the user does not know a skill if they do not demonstrate it within the first time-step. The parameter can either be learned through user data, or estimated by an expert in the field. Averaging estimates mean that sensor errors have less of an effect on the estimate. Therefore, the user needs to demonstrate the correct application of a skill multiple times in a row to make decisive conclusions about the user&#x2019;s skills.</p>
<p>To validate TD-BKT, we compare it against three variations of Bayesian Knowledge Tracing <xref ref-type="bibr" rid="B3">Anderson et al. (1985)</xref> (a commonly used method in ITS): the standard BKT model as originally proposed where it is only updated at the end of the task, one where the user model is updated at each time-step based on the model value of the previous time-step, and one where the model is updated from the initial belief at every time-step. We perform three sets of experiments. The first two were done in simulation, where we randomly generated tasks, skills, and users. The first experiment shows that TD-BKT has a more accurate model of the user&#x2019;s skills throughout the interaction. The second simulation experiment shows that TD-BKT chooses significantly better skills to teach the simulated user than the other algorithms. In our third experiment, we have a robot create a user skill model of participants using TD-BKT and provides tutoring in the domain of electronic circuit skills<xref ref-type="fn" rid="fn1">
<sup>1</sup>
</xref>
</p>
</sec>
<sec id="s2">
<title>2 Background</title>
<p>In this section we will provide an overview of the main intelligent tutoring domains in both ITSs and robotics. In sequence we review research in user skill modelling. Lastly we present how ITSs and robots use the user&#x2019;s skill model to personalize their actions towards the user.</p>
<sec id="s2-1">
<title>2.1 Domains</title>
<p>The domain of an ITS represents the tasks (or problems) that will be given to the user, the skills that compose each task, and each task&#x2019;s solution. Although some systems can automatically generate tasks and scenarios <xref ref-type="bibr" rid="B36">Niehaus et al. (2011)</xref>, usually, the domain knowledge is designed by a human expert. The expert designs the skills present in each task and how the system can detect when a skill was demonstrated correctly. Additionally, the domain can include a cognitive model of how to solve each problem and how students proceed with solving it.</p>
<p>Although ITSs have covered a range of domains, they mainly have focused on mathematical domains such as algebra, geometry, and fractions <xref ref-type="bibr" rid="B4">Anderson et al., 1995</xref>; <xref ref-type="bibr" rid="B38">Pavlik Jr et al., 2009</xref>, or in domains where it is possible to give multiple choice answers <xref ref-type="bibr" rid="B6">Butz et al., 2006</xref>; <xref ref-type="bibr" rid="B48">Schodde et al., 2017</xref>. These domains are easy to represent in a model as they are composed of factual knowledge. Additionally, there is a single correct answer in these domains, making it straightforward for the user modeling component to model the user&#x2019;s skills.</p>
<p>Similarly, robotic systems have focused primarily on domains that are easy to represent and model, including geography <xref ref-type="bibr" rid="B27">Jones et al. (2018)</xref>, nutrition <xref ref-type="bibr" rid="B49">Short et al. (2014)</xref>, diabetes management <xref ref-type="bibr" rid="B25">Henkemans et al. (2013)</xref>, and memory skills <xref ref-type="bibr" rid="B50">Szafir and Mutlu (2012)</xref>. A significant number of studies have also focused on different mathematics subjects including geometry <xref ref-type="bibr" rid="B19">Girotto et al. (2016)</xref>, arithmetic <xref ref-type="bibr" rid="B26">Janssen et al. (2011)</xref>, and multiplication <xref ref-type="bibr" rid="B42">Ramachandran et al. (2018)</xref>. Therefore, there is also a need for us to enable robots to teach a larger variety of domains. Most robots to date are designed with a particular (and usually) singular purpose <xref ref-type="bibr" rid="B52">Vollmer et al. (2016)</xref>, whereas we need robots that can capture the variety of domains present in the world.</p>
<p>More research should tackle tutoring complex domains, also called ill-defined domains. Fournier-Viger et al. define ill-defined domains as those where traditional tutoring algorithms do not work well <xref ref-type="bibr" rid="B18">Fournier-Viger et al. (2010)</xref>. They are harder to model because they require more complex representations of skills and correct answers. Domains such as assembling furniture, building an electronic circuit, or creating a computer program can fall under ill-defined domains as modeling algorithms do not capture the user&#x2019;s skills well in these domains. There are several reasons why these domains can be more challenging to model. Including that they can be order-independent (no clear ordering between skills), they can have multiple solutions, and the tasks are completed over more extended periods.</p>
<p>In recent years, some ITSs and robotic studies have tackled ill-defined domains. Several studies focused on the area of linguistic tutors (<xref ref-type="bibr" rid="B32">Mayo et al., 2000</xref>; <xref ref-type="bibr" rid="B54">Weisler et al., 2001</xref>), a domain which does not necessarily have one single correct answer and therefore needs a more complex representation. For example, Gordon et al. modeled a child&#x2019;s reading skills and updated their skill model so a robot could personalize its behaviors <xref ref-type="bibr" rid="B22">Gordon and Breazeal (2015)</xref>. Some studies focused on teaching programming skills by providing feedback on the user&#x2019;s code (<xref ref-type="bibr" rid="B1">Abu-Naser 2008</xref>; <xref ref-type="bibr" rid="B2">Al-Bastami and Naser 2017</xref>). Butz et al. created a tutoring system that taught programming concepts and tested them on multiple-choice questions <xref ref-type="bibr" rid="B6">Butz et al. (2006)</xref>. Another domain that requires more extended task completion and has order-independent skills is electronic circuits. Graesser et al. studied teaching electronic circuit skills by asking users multiple choice questions in the domain <xref ref-type="bibr" rid="B23">Graesser et al. (2018)</xref>. Studies used natural language to teach circuits skills <xref ref-type="bibr" rid="B15">Dzikovska et al. (2014)</xref> and physics skills <xref ref-type="bibr" rid="B24">Graesser et al. (2001)</xref>, but these did not estimate the user&#x2019;s skills.</p>
<p>Despite the growing number of studies done in ill-defined domains, the majority focused on very specific subskills in the domain. Additionally, they frequently limited the user&#x2019;s responses by asking multiple choice questions or by constraining the environment the user was operating in. Most of these studies did not create a model of the user&#x2019;s skills during task completion and only observed whether the answer was correct or not. This paper presents an algorithm that can model a user&#x2019;s skills during an ill-defined domain: electronic circuit building.</p>
</sec>
<sec id="s2-2">
<title>2.2 User skill modelling</title>
<p>One important aspect of intelligent tutoring systems is assessing which skills the user has mastered and which they have not. With an accurate model of the user&#x2019;s skills, the system can focus on giving problems and help actions to the user to teach them the skills they have not yet mastered. A system models a user&#x2019;s skills by observing them respond to various problems. For each problem, it observes whether the user answered correctly. The more problems the student answers correctly, the higher the likelihood that they have mastered that skill. There are several comprehensive reviews of user skill modeling, including (<xref ref-type="bibr" rid="B14">Desmarais and Baker 2012</xref>; <xref ref-type="bibr" rid="B39">Pel&#xe1;nek 2017</xref>; <xref ref-type="bibr" rid="B31">Liu et al., 2021</xref>).</p>
<p>One of the most common methods for determining which skills a user has mastered is Bayesian Knowledge Tracing <xref ref-type="bibr" rid="B12">Corbett and Anderson (1994)</xref> (BKT). BKT is a probability-based model in which each skill present in the domain is represented by a probability of mastery. To model the user&#x2019;s skills, BKT observes whether the student answered correctly and updates the probability of mastery for each skill present in that task. BKT accounts for a student guessing an answer correctly and for a student slipping during a problem (knowing the answer but accidently answering incorrectly) by accounting for probabilities of guessing and slipping. BKT has been extended to account for individual learning differences, including parameterizing each student&#x2019;s speed of learning to increase the accuracy of the model <xref ref-type="bibr" rid="B56">Yudelson et al. (2013)</xref>. More details and the equations of BKT are presented in <xref ref-type="sec" rid="s3-1">Section 3.1</xref>.</p>
<p>An alternative to BKT is Learning Factors Analysis (LFA) <xref ref-type="bibr" rid="B7">Cen et al. (2006)</xref>, which learns a cognitive model of how users solve problems. It learns each skill&#x2019;s difficulty and learning rate using user data. However, LFA does not create individualized models for each user and, therefore, cannot track mastery during task completion. Performance Factors Analysis (PFA) <xref ref-type="bibr" rid="B38">Pavlik Jr et al. (2009)</xref> addresses LFA&#x2019;s limitations by both estimating individual user&#x2019;s skills and creating a more complex model of skills. In recent years, methods based on deep learning have also become prevalent <xref ref-type="bibr" rid="B11">Conati et al. (2002)</xref>. These generate complex representations of student knowledge. However, this method requires an extensive amount of prior data in the domain <xref ref-type="bibr" rid="B40">Piech et al. (2015)</xref>.</p>
<p>Although most user skill modeling systems assume a single skill is present in each problem, several models have extended BKT, LFA, and PFA to allow multiple interdependent skills in each problem (<xref ref-type="bibr" rid="B55">Xu and Mostow 2011</xref>; <xref ref-type="bibr" rid="B21">Gonz&#xe1;lez-Brenes et al., 2014</xref>; <xref ref-type="bibr" rid="B37">Pardos et al., 2008</xref>). However, many multi-skill models assume that all skills must be applied correctly to achieve the correct answer in a problem (<xref ref-type="bibr" rid="B8">Cen et al., 2008</xref>; <xref ref-type="bibr" rid="B20">Gong et al., 2010</xref>). This is a significant limitation as we do not want the model to assume a user has no mastery over all skills when they might have only failed one. Furthermore, many multi-skill tasks have either order dependencies or knowledge dependencies between skills that need to be accounted for.</p>
<p>BKT, PFA, and deep knowledge tracing are designed to update the model once they have received an unambiguous final answer for the current task. However, this is not the case in more complex tasks where there is noise in the observation, and it takes time for the user to demonstrate each skill in the task. Our proposed solution extends BKT to account for these complexities.</p>
</sec>
<sec id="s2-3">
<title>2.3 Action selection during tutoring</title>
<p>Once a tutoring systems has an accurate model of a user&#x2019;s skills, it can use the model to personalize its actions towards the user. The most common way to take advantage of the user model is to determine what task to give a user. For example, <xref ref-type="bibr" rid="B48">Schodde et al. (2017)</xref> decides which skill to teach next based on the users&#x2019; demonstrated skill. <xref ref-type="bibr" rid="B47">Schadenberg et al., 2017</xref> personalize the difficulty of the content to match the student&#x2019;s skill (<xref ref-type="bibr" rid="B34">Milliken and Hollinger 2017</xref>) chooses the level of autonomy a robot should have depending on the user skills <xref ref-type="bibr" rid="B34">Milliken and Hollinger (2017)</xref>. Other methods use a modified Partially Observable Markov Decision Process to select which gap (skill) to train the user <xref ref-type="bibr" rid="B17">Folsom-Kovarik et al. (2013)</xref>, to sequence problems depending on skill difficulty <xref ref-type="bibr" rid="B13">David et al. (2016)</xref>, and to select tasks that maximizes knowledge of the user&#x2019;s skill model <xref ref-type="bibr" rid="B44">Salomons et al. (2021)</xref>.</p>
<p>The system can also personalize its model by providing help to the user during task completion. The system can give many types of help actions, including giving hints, giving an example, a walk-through of the problem, and directly providing the solution to the current problem. Several pieces of work have shown the advantages of choosing personalized help actions (<xref ref-type="bibr" rid="B35">Murray and VanLehn 2006</xref>; <xref ref-type="bibr" rid="B41">Rafferty et al., 2016</xref>; <xref ref-type="bibr" rid="B10">Clement et al., 2013</xref>; <xref ref-type="bibr" rid="B29">Lan and Baraniuk 2016</xref>; <xref ref-type="bibr" rid="B56">Yudelson et al., 2013</xref>). For example, <xref ref-type="bibr" rid="B43">Ramachandran et al. (2019)</xref> decided what type of help to give the user depending on motivation and knowledge.</p>
<p>In these studies, the actions are selected in between tasks or once the user asks for help. However, in complex tasks, there are many opportunities for the system to provide help before the user gives their final answer. Once the system has correctly detected that the user can not complete a skill, it can step in and provide personalized tutoring.</p>
</sec>
</sec>
<sec id="s3">
<title>3 Time-dependant Bayesian knowledge tracing</title>
<p>In this section we first present the traditional Bayesian Knowledge Tracing (BKT) framework. In sequence, we will review some of the disadvantages that the conventional methods present. Lastly, we present our model called Time-Dependant Bayesian Knowledge Tracing, which solves several of the problems that more complex tasks produce.</p>
<sec id="s3-1">
<title>3.1 Bayesian knowledge tracing</title>
<p>Bayesian Knowledge Tracing (BKT) learns whether a user has mastery of a specific skill by observing the user completing tasks <xref ref-type="bibr" rid="B12">Corbett and Anderson (1994)</xref>. The estimate of the user&#x2019;s skill at time <italic>t</italic> is represented by <italic>p</italic> (<italic>L</italic>
<sub>
<italic>t</italic>
</sub>) and is initialized by <italic>p</italic> (<italic>L</italic>
<sub>0</sub>) (Eq. <xref ref-type="disp-formula" rid="e1">1</xref>). Each skill has a probability of being guessed correctly <italic>p</italic>(<italic>G</italic>) and a probability of the user slipping <italic>p</italic>(<italic>S</italic>) (making a mistake despite the skill being known). Additionally, the model has a probability of transitioning (<italic>p</italic>(<italic>T</italic>)) from a non-mastered state to a mastered state whenever the user has an opportunity to try it.</p>
<sec id="s3-1-1">
<title>3.1.1 Mastery probability initialization</title>
<p>The probability of mastery of the user is set to its prior at the start of the interaction (Eq. <xref ref-type="disp-formula" rid="e1">1</xref>).<disp-formula id="e1">
<mml:math id="m1">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(1)</label>
</disp-formula>
</p>
</sec>
<sec id="s3-1-2">
<title>3.1.2 Mastery probability update</title>
<p>The model observes whether the user got the correct or incorrect answer after completing the task and uses it to update the probability of mastery. To update the mastery when the observation is incorrect (Eq. <xref ref-type="disp-formula" rid="e4">4</xref>), the new estimate is the prior times the probability that they slipped, divided by the total probability of an incorrect answer (Eq. <xref ref-type="disp-formula" rid="e2">2</xref>). When the observation is correct (Eq. <xref ref-type="disp-formula" rid="e5">5</xref>), the updated probability of mastery is the prior probability of mastery times the probability that they did not slip, divided by the total probability of a correct answer (Eq. <xref ref-type="disp-formula" rid="e3">3</xref>).<disp-formula id="e2">
<mml:math id="m2">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(2)</label>
</disp-formula>
<disp-formula id="e3">
<mml:math id="m3">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(3)</label>
</disp-formula>
<disp-formula id="e4">
<mml:math id="m4">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(4)</label>
</disp-formula>
<disp-formula id="e5">
<mml:math id="m5">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
</sec>
<sec id="s3-1-3">
<title>3.1.3 Transition probability</title>
<p>The probability of the user going from an non-mastered state to a mastered state is calculated from the probability of them already having mastered the skill plus the probability of them not having mastered the skill times the probability of them transitioning (Eq. <xref ref-type="disp-formula" rid="e6">6</xref>).<disp-formula id="e6">
<mml:math id="m6">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(6)</label>
</disp-formula>
</p>
</sec>
</sec>
<sec id="s3-2">
<title>3.2 Bayesian knowledge tracing limitations</title>
<p>The BKT model was designed for tasks where unambiguous observations of the user are given at the end of each task. It would be advantageous for the system to create an accurate model and provide help throughout the task. With some simple modifications, the BKT expression could be adapted to allow for continuous modeling. One option would be to use the BKT update equations after every time-step. However, this quickly brings the estimate to one of the extremes (<italic>p</italic> (<italic>L</italic>
<sub>
<italic>t</italic>
</sub>) &#x3d; 0 or <italic>p</italic> (<italic>L</italic>
<sub>
<italic>t</italic>
</sub>) &#x3d; 1), especially if many same observations are seen in a row. Another option is to update it every time-step using the initial mastery estimate (<italic>L</italic>
<sub>0</sub>). When doing this, the mastery jumps between high and low mastery every time the observations change. Furthermore, neither of these two proposed solutions considers whether the user is currently at the start or end of the task. Towards the end of the task, the user has had more time to demonstrate their skill mastery.</p>
</sec>
<sec id="s3-3">
<title>3.3 TD-BKT</title>
<p>We propose an extension of BKT that continuously updates its estimate of the user&#x2019;s skills during task completion. We call it Time-Dependant Bayesian knowledge Tracing (TD-BKT). In addition to the BKT parameters, we introduce a new variable called <italic>attempted</italic>. The attempted parameter (<italic>E</italic> [<italic>k</italic>]) is the expected number of time-steps it would take for the user to have had time to attempt the skill <italic>k</italic>. It can be estimated from prior data or by an expert in the field. For example, in the programming domain, we would not expect the user to have completed a FOR loop after the first second of the task. Rather, it would likely take several minutes to attempt it. On the other hand, creating a new variable would likely be attempted in the first minute. Therefore, the attempted parameter accounts for these differences in time needed, and updates the model relatively for each parameter.</p>
<p>An additional modification to BKT is that we average the <italic>n</italic> previous time-steps to determine the current estimate of the user&#x2019;s skills. There are two main advantages to averaging the skills. The first is that &#x201c;breaking&#x201d; part of the task during completion has a smaller effect on the model. For example, when programming, you might need to move code into a new function, temporarily creating non-functioning code. The second advantage is that noise has a much smaller effect on the model. When using computer vision systems or natural language processing, it is common to have occasional observation errors. But these errors are mostly nullified when averaging with the correct observations.</p>
<sec id="s3-3-1">
<title>3.3.1 Probability of an observation</title>
<p>We separate the observations into two cases: when the user has already attempted the skill, and when they have not. When the user has attempted the current task, the probabilities of the correct and incorrect observation are identical to BKT (Eqs <xref ref-type="disp-formula" rid="e7">7</xref>, <xref ref-type="disp-formula" rid="e8">8</xref>). When they have not attempted it, the probability of an incorrect observation is guaranteed, whereas the probability of a correct observation is zero (Eqs <xref ref-type="disp-formula" rid="e9">9</xref>, <xref ref-type="disp-formula" rid="e10">10</xref>).<disp-formula id="e7">
<mml:math id="m7">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(7)</label>
</disp-formula>
<disp-formula id="e8">
<mml:math id="m8">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(8)</label>
</disp-formula>
<disp-formula id="e9">
<mml:math id="m9">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:math>
<label>(9)</label>
</disp-formula>
<disp-formula id="e10">
<mml:math id="m10">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:math>
<label>(10)</label>
</disp-formula>
</p>
</sec>
<sec id="s3-3-2">
<title>3.3.2 Attempted probability</title>
<p>The probability of a skill <italic>k</italic> having been attempted is the current time-step divided by the number of expected time-steps to complete it. If the number of time-steps passed has exceeded the attempted parameter, it is assumed that the user would have attempted it if they had mastered that skill (Eq. <xref ref-type="disp-formula" rid="e11">11</xref>).<disp-formula id="e11">
<mml:math id="m11">
<mml:mi>P</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="">
<mml:mrow>
<mml:mtable class="cases">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mtable class="cases">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mfrac>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mtext>if&#x2009;</mml:mtext>
<mml:mi>t</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>E</mml:mi>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mtext>if&#x2009;</mml:mtext>
<mml:mi>t</mml:mi>
<mml:mo>&#x3e;</mml:mo>
<mml:mi>E</mml:mi>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mspace width="1em"/>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(11)</label>
</disp-formula>
</p>
</sec>
<sec id="s3-3-3">
<title>3.3.3 Mastery probability initialization</title>
<p>Similar to BKT, the probability of mastery is equal to the prior estimate (Eq. <xref ref-type="disp-formula" rid="e12">12</xref>). However, contrary to BKT, it will not change over time. <italic>p</italic>(<italic>L</italic>) will be used to update the current temporary mastery over time <italic>P</italic>(<italic>H</italic>
<sub>
<italic>t</italic>
</sub>).<disp-formula id="e12">
<mml:math id="m12">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(12)</label>
</disp-formula>
</p>
</sec>
<sec id="s3-3-4">
<title>3.3.4 Mastery probability update</title>
<p>As seen in Eq. <xref ref-type="disp-formula" rid="e13">13</xref>, instead of looking at each time-step individually, the algorithm updates its current estimate (<italic>p</italic> (<italic>H</italic>
<sub>
<italic>t</italic>
</sub>)) by averaging the previous <italic>n</italic> time-steps. At each time-step. if the observation is that the user applied the skill correctly, then the task must have been attempted, and the traditional BKT equation is used (Eq. <xref ref-type="disp-formula" rid="e14">14</xref>). When the observation is incorrect, there are two possibilities: either the task has been attempted, but the person did not demonstrate the skill, or the task has not been attempted yet. Eq. <xref ref-type="disp-formula" rid="e15">15</xref> measures the probability of mastery considering both scenarios and divides it by the total probability of an incorrect observation. Here we denote <italic>t</italic> as the current time-step, and <italic>i</italic> as the variable iterating through the previous <italic>n</italic> time-steps.<disp-formula id="e13">
<mml:math id="m13">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(13)</label>
</disp-formula>
<disp-formula id="e14">
<mml:math id="m14">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(14)</label>
</disp-formula>
<disp-formula id="e15">
<mml:math id="m15">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(15)</label>
</disp-formula>
</p>
</sec>
<sec id="s3-3-5">
<title>3.3.5 Derivations</title>
<p>Below we provide the derivations of how the mastery probability is updated given the observation at time-step <italic>i</italic> and considering the probability that the task has been attempted. First, we consider the case when we see that the user demonstrates the skill (<italic>o</italic>
<sub>
<italic>i</italic>
</sub> &#x3d; 1).<disp-formula id="equ1">
<mml:math id="m16">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:math>
</disp-formula>
<disp-formula id="equ2">
<mml:math id="m17">
<mml:mtable class="align" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="right">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2a;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
<disp-formula id="equ3">
<mml:math id="m18">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mfenced open="" close="]">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2a;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>&#x2a;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>&#x2a;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:math>
</disp-formula>
<disp-formula id="equ4">
<mml:math id="m19">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2a;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:math>
</disp-formula>
<disp-formula id="equ5">
<mml:math id="m20">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:math>
</disp-formula>
</p>
<p>Here we consider the case when we see the user did not demonstrate the skill (<italic>o</italic> &#x3d; 0).<disp-formula id="equ6">
<mml:math id="m21">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:math>
</disp-formula>
<disp-formula id="equ7">
<mml:math id="m22">
<mml:mtable class="align" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="right">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2a;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
<disp-formula id="equ8">
<mml:math id="m23">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2a;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2a;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2a;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:math>
</disp-formula>
<disp-formula id="equ9">
<mml:math id="m24">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:math>
</disp-formula>
</p>
</sec>
</sec>
</sec>
<sec id="s4">
<title>4 Comparison to traditional methods</title>
<p>In this section we will provide an intuitive toy example of how different algorithms update the model of a user&#x2019;s skill. We compare TD-BKT to several variations of traditional Bayesian Knowledge Tracing models given a specific observation. We will compare the following models:<list list-type="simple">
<list-item>
<p>&#x2022; Traditional BKT (T-BKT)&#x2014;The user&#x2019;s skill estimate is only updated at the end of the task, using the final observation.</p>
</list-item>
<list-item>
<p>&#x2022; Initial BKT (I-BKT)&#x2014;Modification of the BKT model, where it updates its current estimate using the initial belief value during each time-step.</p>
</list-item>
<list-item>
<p>&#x2022; Every time-step BKT (E-BKT)&#x2014;Modification of the BKT model, where it uses the user&#x2019;s skill estimate from the previous time-step to update the value of the current time-step.</p>
</list-item>
<list-item>
<p>&#x2022; Time-Dependant BKT Only Attempted (TD-BKT-AT)&#x2014;The TD-BKT model with only the attempted parameter (presented in Eq. <xref ref-type="disp-formula" rid="e11">11</xref>. This does not include TD-BKT&#x2019;s averaging of beliefs.</p>
</list-item>
<list-item>
<p>&#x2022; Time-Dependant BKT Only Average (TD-BKT-AV)&#x2014;The TD-BKT model, but only averaging the beliefs over time (Eqs <xref ref-type="disp-formula" rid="e13">13</xref>&#x2013;<xref ref-type="disp-formula" rid="e15">15</xref>). In this case it averages the previous 10 time-steps. This model does not include TD-BKT&#x2019;s attempted parameter.</p>
</list-item>
<list-item>
<p>&#x2022; TD-BKT&#x2014;Our proposed algorithm using both the attempted and the averaging parameters.</p>
</list-item>
</list>
</p>
<p>First, we give an intuitive demonstration via a toy example of the pitfalls of traditional BKT when the interaction is multiple time-steps long. We graphically show how TD-BKT mitigates some of those problems. Let us consider a task where a person is building an electronic circuit that requires a resistor and the user is given 60 time-steps to complete the task. The user adds the resistor at time-step 22, removes it at time-step 30, and then returns it to the same position at time-step 45 for the remainder of the time. The observation is 0 (incorrect) when the resistor is not on the board and is 1 (correct) when the resistor is on it. We set that the expectation of how long it will take to add the resistor to the circuit is 60 time-steps (<italic>E</italic> [<italic>k</italic>] &#x3d; 60). We set the prior probability of the user having mastered this skill to complete uncertainty (<italic>P</italic> (<italic>L</italic>
<sub>0</sub>) &#x3d; 0.5). Lastly, we set the probability of guessing and the probability of slipping to 0.1 (<italic>P</italic>(<italic>G</italic>) &#x3d; <italic>P</italic>(<italic>S</italic>) &#x3d; 0.1).</p>
<p>In <xref ref-type="fig" rid="F1">Figure 1</xref>, the TD-BKT and conventional BKT methods are compared with respect to their belief of the resistor skill over the task completion. T-BKT is shown to update only at the end, which means it loses the opportunity to make informed decisions throughout the task. I-BKT jumps between higher and lower belief states with correct or incorrect observations, since it uses the initial belief to update rather than using any history. Lastly, because E-BKT is updated every time-step, when several incorrect observations are made in a row at the start, it quickly brings the belief to zero. It would need many correct observations to recover.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>A comparison of how different variations of traditional BKT update the belief of a particular skill after specific observations at each time-step. We also demonstrate the effect of the different elements of TD-BKT and how the final TD-BKT updates its belief.</p>
</caption>
<graphic xlink:href="frobt-10-1249241-g001.tif"/>
</fig>
<p>We can observe the effect of the attempted parameter in the trace for the TD-BKT-AT approach. The belief lowers very slowly at the start (as the person has likely not had an opportunity to demonstrate their skills yet) and then decreases faster when more time-steps have passed. The TD-BKT-AV approach shows the result of averaging the current belief of the previous ten time-steps. Instead of jumping from high to low states, it takes several rounds of the same observation to impact the belief significantly. Finally, TD-BKT shows the result of the attempted parameter and the average combined. The model creates a smoother model of the user&#x2019;s skills and considers how far along the user is in the task.</p>
</sec>
<sec id="s5">
<title>5 Simulation</title>
<p>We examine the presented algorithms under two experimental conditions. The first focused on user modeling and the second on the effects of using the skill model to choose teaching actions. The performance of each algorithm is examined across 1000 rounds of simulated tasks, each initialized with randomized skills, tasks and users.</p>
<p>Skills&#x2014;During each round, different skills were created. Each skill had associated with it a probability of guessing and a probability of slipping, randomly chosen from a uniform distribution between 0.1 and 0.25. The amount of time the user needed to expect to complete a skill was set to a random uniform distribution between 40 and 150.</p>
<p>Tasks&#x2014;During each round, a new task was created. The task was assigned between five and ten skills. Each task was given 180 time-steps for completion.</p>
<p>User&#x2014;During each round, a simulated user was generated. For each skill, they were randomly assigned as mastering that skill or not with equal probability. We specify as <italic>T</italic>
<sup>
<italic>i</italic>
</sup> the true state of the user for skill <italic>i</italic>. The belief state <italic>b</italic> of the user was set to 0.5 (the model had complete uncertainty) for all skills at the start of the round.</p>
<p>Observations&#x2014;During each time-step an observation is generated for the user. The observation was generated via the probability of a correct or incorrect observation (Eqs <xref ref-type="disp-formula" rid="e7">7</xref>&#x2013;<xref ref-type="disp-formula" rid="e10">10</xref>) given their mastery in the skill, times the probability of the skill having been attempted (Eq. <xref ref-type="disp-formula" rid="e15">15</xref>).</p>
<p>Teaching&#x2014;Every 20 time-steps, the user is taught one of the skills. The chosen skill is the one with the lowest estimated mastery state. The probability of learning a skill (when it was not previously known) is randomly drawn from a uniform distribution between 0.15&#x2013;0.35. If they have learned it, then their mastery of that skill goes from 0 to 1.</p>
<sec id="s5-1">
<title>5.1 Experiment 1: user skill modeling</title>
<p>In the first experiment, we compare the accuracy of TD-BKT&#x2019;s skill model with the estimates of T-BKT, I-BKT, and E-BKT. In Experiment 1, we assume that no teaching has occurred and focused on skill modeling accuracy. To measure how well each algorithm performs, we calculate for each skill <italic>i</italic> how far the estimate from the model (represented by belief <italic>b</italic>) is from the user&#x2019;s true skill state <italic>T</italic>
<sup>
<italic>i</italic>
</sup> is at every time-step. We measure the distance between the belief at time-step <italic>t</italic> and the true state of the user (Eq. <xref ref-type="disp-formula" rid="e16">16</xref>) using Kullback-Leibler Divergence (KLD) <xref ref-type="bibr" rid="B28">Kullback and Leibler (1951)</xref>. KLD is used as it measures how different two probability distributions are from each other. Therefore the smaller the KLD, the more similar the belief is to the true skill state.<disp-formula id="e16">
<mml:math id="m25">
<mml:mi>D</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>g</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>g</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(16)</label>
</disp-formula>
</p>
<p>
<xref ref-type="fig" rid="F2">Figure 2</xref> shows the KLD of estimate <italic>b</italic> at each time-step for the different BKT variations. T-BKT only updates its belief at the end, and therefore remains constant throughout the interaction. At the start, E-BKT performs the worst of all the algorithms but corrects its mistakes at the end when observations are more reliable. Both TD-BKT and I-BKT improve their estimates as time progresses. However, I-BKT initially diverges from the true skill state by giving a large amount of weight to initial observations despite them being very unreliable as the user has not had time to demonstrate any of the skills yet. On the other hand TD-BKT gives less weight to initial observations and outperforms the other models during most time-steps.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>In this graph we present the average Kullback-Leibler Divergence distances of the 1000 rounds of simulation. We rpesent the KLD of the user&#x2019;s estimated skill state and their real skill state for our proposed model and three variations of Bayesian Knowledge Tracing. As seen in the graph, TD-BKT outperforms the other algorithms and more quickly created an accurate model of the user&#x2019;s skills.</p>
</caption>
<graphic xlink:href="frobt-10-1249241-g002.tif"/>
</fig>
<p>At four different time-steps (time-step 30, 80, 130, and 180), we measured the KLD skill accuracy. The means and standard deviations for each of the algorithms are presented in <xref ref-type="table" rid="T1">Table 1</xref>. We measured whether the KLD skill accuracy was significantly different between the different models using an ANOVA with a <italic>post hoc</italic> Tukey HSD test. At all different time points, the different models were statistically significant from each other (time-step 30: <italic>F</italic> (3, 3996) &#x3d; 1.03, <italic>p</italic> &#x3c; 0.001; time-step 80: <italic>F</italic> (3, 3996) &#x3d; 0.94, <italic>p</italic> &#x3c; 0.001; time-step 130: <italic>F</italic> (3, 3996) &#x3d; 0.53, <italic>p</italic> &#x3c; 0.001; time-step 180: <italic>F</italic> (3, 3996) &#x3d; 0.63,<italic>p</italic> &#x3c; 0.001). <xref ref-type="table" rid="T2">Table 2</xref> shows the <italic>p</italic>-values for each pairwise comparison and the effect-sizes (Cohen&#x2019;s d values) for each pairwise comparison. TD-BKT significantly outperforms T-BKT, I-BKT, and E-BKT after 30, 80, and 130 time-steps. However, after 180 time steps, I-BKT had a better model of the user&#x2019;s skills.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Means and standard deviations for KLD for each of the algorithms at time-steps 30, 80, 130, and 180.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center"/>
<th align="center">ts 30</th>
<th align="center">ts 80</th>
<th align="center">ts 130</th>
<th align="center">ts 180</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="2" align="center">
<bold>T-BKT</bold>
</td>
<td align="center">M: 1.33</td>
<td align="center">M: 1.33</td>
<td align="center">M: 1.33</td>
<td align="center">M: 1.33</td>
</tr>
<tr>
<td align="center">SD: 0.55</td>
<td align="center">SD: 0.55</td>
<td align="center">SD: 0.55</td>
<td align="center">SD: 0.55</td>
</tr>
<tr>
<td rowspan="2" align="center">
<bold>I-BKT</bold>
</td>
<td align="center">M: 1.94</td>
<td align="center">M: 1.06</td>
<td align="center">M: 0.77</td>
<td align="center">M: 0.73</td>
</tr>
<tr>
<td align="center">SD: 0.95</td>
<td align="center">SD: 0.73</td>
<td align="center">SD: 0.58</td>
<td align="center">SD: 0.55</td>
</tr>
<tr>
<td rowspan="2" align="center">
<bold>E-BKT</bold>
</td>
<td align="center">M: 3.50</td>
<td align="center">M: 2.79</td>
<td align="center">M: 1.55</td>
<td align="center">M: 0.44</td>
</tr>
<tr>
<td align="center">SD: 1.31</td>
<td align="center">SD: 1.27</td>
<td align="center">SD: 1.11</td>
<td align="center">SD: 0.62</td>
</tr>
<tr>
<td rowspan="2" align="center">
<bold>TD-BKT</bold>
</td>
<td align="center">M: 1.20</td>
<td align="center">M: 0.85</td>
<td align="center">M: 0.66</td>
<td align="center">M: 0.63</td>
</tr>
<tr>
<td align="center">SD: 0.52</td>
<td align="center">SD: 0.42</td>
<td align="center">SD: 0.34</td>
<td align="center">SD: 0.33</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>The table includes the <italic>p</italic>-values for each pairwise comparison using an ANOVA with Tukey HSD Corrections, at time-steps 30, 80, 130, and 180. It also includes the pairwise effect sizes for each comparison.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">ts 30</th>
<th align="center">I-BKT</th>
<th align="center">E-BKT</th>
<th align="center">TD-BKT</th>
<th align="center">ts 80</th>
<th align="center">I-BKT</th>
<th align="center">E-BKT</th>
<th align="center">TD-BKT</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="2" align="center">
<bold>T-BKT</bold>
</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td align="center">
<italic>p</italic> &#x3d; 0.004</td>
<td rowspan="2" align="center">
<bold>T-BKT</bold>
</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
</tr>
<tr>
<td align="center">d &#x3d; 0.79</td>
<td align="center">d &#x3d; 2.16</td>
<td align="center">d &#x3d; 0.24</td>
<td align="center">d &#x3d; 0.42</td>
<td align="center">d &#x3d; 1.49</td>
<td align="center">d &#x3d; 0.98</td>
</tr>
<tr>
<td rowspan="2" align="center">
<bold>I-BKT</bold>
</td>
<td rowspan="2" align="left"/>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td rowspan="2" align="center">
<bold>I-BKT</bold>
</td>
<td rowspan="2" align="left"/>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
</tr>
<tr>
<td align="center">d &#x3d; 1.36</td>
<td align="center">d &#x3d; 0.97</td>
<td align="center">d &#x3d; 1.67</td>
<td align="center">d &#x3d; 0.35</td>
</tr>
<tr>
<td rowspan="2" align="center">
<bold>E-BKT</bold>
</td>
<td rowspan="2" align="left"/>
<td rowspan="2" align="left"/>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td rowspan="2" align="center">
<bold>E-BKT</bold>
</td>
<td rowspan="2" align="left"/>
<td rowspan="2" align="left"/>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
</tr>
<tr>
<td align="center">d &#x3d; 2.31</td>
<td align="center">d &#x3d; 2.05</td>
</tr>
</tbody>
</table>
<table>
<thead valign="top">
<tr>
<th align="center">
<bold>ts 130</bold>
</th>
<th align="center">
<bold>I-BKT</bold>
</th>
<th align="center">
<bold>E-BKT</bold>
</th>
<th align="center">
<bold>TD-BKT</bold>
</th>
<th align="center">
<bold>ts 180</bold>
</th>
<th align="center">
<bold>I-BKT</bold>
</th>
<th align="center">
<bold>E-BKT</bold>
</th>
<th align="center">
<bold>TD-BKT</bold>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="2" align="center">
<bold>T-BKT</bold>
</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td rowspan="2" align="center">
<bold>T-BKT</bold>
</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
</tr>
<tr>
<td align="center">d &#x3d; 0.42</td>
<td align="center">d &#x3d; 1.49</td>
<td align="center">d &#x3d; 0.98</td>
<td align="center">d &#x3d; 1.09</td>
<td align="center">d &#x3d; 1.52</td>
<td align="center">d &#x3d; 1.54</td>
</tr>
<tr>
<td rowspan="2" align="center">
<bold>I-BKT</bold>
</td>
<td rowspan="2" align="left"/>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td align="center">
<italic>p</italic> &#x3d; 0.005</td>
<td rowspan="2" align="center">
<bold>I-BKT</bold>
</td>
<td rowspan="2" align="left"/>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
</tr>
<tr>
<td align="center">d &#x3d; 1.67</td>
<td align="center">d &#x3d; 0.23</td>
<td align="center">d &#x3d; 0.50</td>
<td align="center">d &#x3d; 0.22</td>
</tr>
<tr>
<td rowspan="2" align="center">
<bold>E-BKT</bold>
</td>
<td rowspan="2" align="left"/>
<td rowspan="2" align="left"/>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td rowspan="2" align="center">
<bold>E-BKT</bold>
</td>
<td rowspan="2" align="left"/>
<td rowspan="2" align="left"/>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
</tr>
<tr>
<td align="center">d &#x3d; 1.08</td>
<td align="center">d &#x3d; 0.38</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s5-2">
<title>5.2 Experiment 2: skill modeling with teaching</title>
<p>During Experiment 2, the simulated user was taught a skill every 20 time-steps. For each model, the chosen skill to teach was always the one with the lowest estimated belief. To measure how much a simulated user has learned, we measure the number of skills they had mastered at the start of the interaction (time-step 0) compared to the number of skills they had mastered at the end of the round (time-step 180) using Eq. <xref ref-type="disp-formula" rid="e17">17</xref>. We use the true skill state <italic>T</italic> for the calculation. We also measure how many skills the user would have learned if the system had a perfect model at each time-step of the user&#x2019;s skills. We call this the optimal model, as it can choose the best skills to teach.<disp-formula id="e17">
<mml:math id="m26">
<mml:mi>D</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">start</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">end</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">end</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">start</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
<label>(17)</label>
</disp-formula>
</p>
<p>
<xref ref-type="fig" rid="F3">Figure 3</xref> shows the number of skills the user has learned on average for TD-BKT and the different BKT variations. On average, the simulated user&#x2019;s in T-BKT learned 0.42 (<italic>SD</italic> &#x3d; 0.49) new skills; users in I-BKT learned 0.91 (<italic>SD</italic> &#x3d; 0.57) new skills; users in E-BKT learned 1.00 (<italic>SD</italic> &#x3d; 1.15) new skills; users in TD-BKT learned 1.44 (<italic>SD</italic> &#x3d; 0.82) new skills; and users with the Optimal model learned 1.89 (<italic>SD</italic> &#x3d; 1.15) new skills. The models differed statistically significantly using an ANOVA with <italic>post hoc</italic> Tukey HSD Test <italic>F</italic> (4, 4995) &#x3d; 0.65, <italic>p</italic> &#x3c; 0.001. All two-pair comparisons were statistically significant (<italic>p</italic> &#x3c; 0.001), other than between the I-BKT and the E-BKT models (<italic>p</italic> &#x3d; 0.155). All <italic>p</italic>-values and effect sizes (Cohen&#x2019;s d) are shown in <xref ref-type="table" rid="T3">Table 3</xref>. TD-BKT outperforms all the BKT variations, and is only behind the optimal model.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>In this graph we present TD-BKT and the BKT variations with respect to the average number of skills learned over 1000 time-steps. Simulated users improved their skills significantly more using TD-BKT&#x2019;s skill model than when the other BKT variations were used. However the Optimal model (where perfect knowledge of the user&#x2019;s skills is known beforehand) performs the best.</p>
</caption>
<graphic xlink:href="frobt-10-1249241-g003.tif"/>
</fig>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>The table includes the <italic>p</italic>-values for each pairwise comparison using an ANOVA with Tukey HSD Corrections, for the number of skills learned. It also includes the pairwise effect sizes for each comparison.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Skills learned</th>
<th align="center">I-BKT</th>
<th align="center">E-BKT</th>
<th align="center">TD-BKT</th>
<th align="center">Optimal</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="2" align="center">
<bold>T-BKT</bold>
</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
</tr>
<tr>
<td align="center">d &#x3d; 0.92</td>
<td align="center">d &#x3d; 1.15</td>
<td align="center">d &#x3d; 1.44</td>
<td align="center">d &#x3d; 1.64</td>
</tr>
<tr>
<td rowspan="2" align="center">
<bold>I-BKT</bold>
</td>
<td rowspan="2" align="left"/>
<td align="center">
<italic>p</italic> &#x3d; 0.155</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
</tr>
<tr>
<td align="center">d &#x3d; 0.14</td>
<td align="center">d &#x3d; 0.72</td>
<td align="center">d &#x3d; 1.04</td>
</tr>
<tr>
<td rowspan="2" align="center">
<bold>E-BKT</bold>
</td>
<td rowspan="2" align="left"/>
<td rowspan="2" align="left"/>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
</tr>
<tr>
<td align="center">d &#x3d; 0.65</td>
<td align="center">d &#x3d; 0.98</td>
</tr>
<tr>
<td rowspan="2" align="center">
<bold>TD-BKT</bold>
</td>
<td rowspan="2" align="left"/>
<td rowspan="2" align="left"/>
<td rowspan="2" align="left"/>
<td align="center">
<italic>p</italic> &#x3c; 0.001</td>
</tr>
<tr>
<td align="center">d &#x3d; 0.43</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s6">
<title>6 User study</title>
<p>In this section we have a user study where a robot uses TD-BKT on a real task with human participants. The main goals of this section are to demonstrate how to apply TD-BKT to a real task, by designing appropriate skills and tasks. We demonstrate how TD-BKT can properly model a variety of different users through a task where observations are noisy. We also show that TD-BKT selects relevant help actions and show that participants increase their skills throughout the session. More details on the user study can be found in <xref ref-type="bibr" rid="B45">Salomons et al. (2022a)</xref>.</p>
<p>The chosen task for our user study was electronic circuit. We use snap circuits <xref ref-type="bibr" rid="B16">Elenco (2021)</xref>, where the pieces can be snapped together on a board to form circuits. An example of a built snap circuit board can be seen in <xref ref-type="fig" rid="F4">Figure 4</xref>. Electronic circuits encapsulate well how to model skills during more complex tasks, as there are multiple correct ways to create a circuit. Users will be adding, moving, and removing pieces on the board during the interaction. Moreover, the observations are noisy since a computer vision system detects what pieces are added to a circuit board. Lastly, it often takes many minutes for a participant to complete a singular circuit.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>An example of a completed circuit. This circuit plays music and blinks a light in the rhythm of the music, when the switch is turned on.</p>
</caption>
<graphic xlink:href="frobt-10-1249241-g004.tif"/>
</fig>
<p>Skills&#x2014;There were eight different pieces that a person could add to a board: a switch, a button, a resistor, an LED, a music circuit, a speaker, a motor, and wires. Knowing when to add each of these different pieces to the board was considered a skill. Additional skills included knowing how to create a closed loop circuit, knowing the directionality of an LED, how to create AND and OR gates, how to connect the different ports of a music circuit piece, and so on. We tested a total of 17 different skills. The parameters for each skill (slipping and guessing probability, and the attempted parameter) were determined by consulting an electronic engineering major.</p>
<p>Tasks&#x2014;We created different tasks to test different combinations of snap circuit skills. Participants were given an empty board with only a battery on it and given 3 minutes for each task unless they correctly completed it before the time. Some examples of tasks were: &#x201c;Build a circuit that plays music when a switch is turned on&#x201d; and &#x201c;Build a circuit that spins a motor when a switch is turned on or a button is pressed&#x201d;. Each task had a degree of difficulty associated with it, and the next task was chosen according to the user&#x2019;s skill. There were 32 variations of tasks, of which each user completed 10. Our algorithm chose the next task to present the user depending on the model that TD-BKT has built. The tasks were chosen so that they were not too difficult and not too easy. Participants were told which task to complete next via an application on a tablet. More details on how the robot chose which task to give is presented in section ??</p>
<p>Users&#x2014;There were 37 participants in the experiment (18 male, 18 female, 1 non-binary). The study was approved by the university&#x2019;s Institutional Review Board, and participants signed a consent form. They were not provided with any information on how electronic circuits worked, other than the piece&#x2019;s name and the ports on the pieces. Participants completed a pre-test and a post-test to determine their knowledge of circuits before and after the interaction.</p>
<p>Observations&#x2014;An overhead camera observed the user as they completed each task. A vector of observations was generated at each time-step for the task. If the user demonstrated the correct skill, the observation for that skill would be 1; if they did not demonstrate the skill, it would be 0; and if a skill was not tested during that task, it would be a 2.</p>
<p>Teaching&#x2014;Every 30 s, a robot provided help. The help action varied between pointing out wrong pieces on the board, suggesting pieces to add, explaining how to connect pieces, and affirming that a skill they had demonstrated was correct. The user had the option to press a &#x201c;finished&#x201d; button on a tablet. Upon indicating they had finished, the robot would provide further help if one of the skills was incorrect. If the task was correct, it would move on to the next task. More details on how the robot chose which skill to teach is presented in <xref ref-type="sec" rid="s6-2">Section 6.2</xref>.</p>
<sec id="s6-1">
<title>6.1 Robot system</title>
<p>Participants interacted with the robot on a large table. <xref ref-type="fig" rid="F5">Figure 5</xref> shows an illustration of the experimental setup. Participants were given each task via a tablet, and on the tablet, they could indicate that they had finished the current task and start the next task. The tablet provided no help with the task. Participants used wires and electronic circuit pieces to build their circuits on a board in the middle of the table. An overhead Kinect Azure camera detected what pieces were on the board and how they were connected. A green hand strip at the bottom of the board was used to detect when the participants&#x2019; hands were on top of the board, and therefore the camera&#x2019;s observations would be inaccurate.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>The experimental setup. Participants were given tasks via a tablet application. In the middle of the table, they built circuits using wires and circuit pieces. They were provided basic instructions with the piece names. An overhead camera focused on the circuit and modeled which skills were correctly applied. A UR5e robot provided them with help every 30 s based on what was needed for the current task.</p>
</caption>
<graphic xlink:href="frobt-10-1249241-g005.tif"/>
</fig>
<p>A UR5e robot from Universal Robots was used in this study. It is a lightweight industrial robotic arm with 6-DOF. It could pick up the snap circuit pieces with its gripper and hand them to the participant. The robot was able to communicate to the participant via a text-to-speech voice. Additionally, the robot displayed idling behavior with random movements every few seconds, occasionally looking at the circuit board, pieces, or the participant, by pointing the gripper at it. The robot acted completely autonomously throughout the study.</p>
</sec>
<sec id="s6-2">
<title>6.2 Task selection</title>
<p>Prior work shows that selecting tasks with appropriate difficulty leads to higher learning gains <xref ref-type="bibr" rid="B13">David et al., 2016</xref>; <xref ref-type="bibr" rid="B44">Salomons et al., 2021</xref>. Therefore tasks were chosen for each participant according to their demonstrated capabilities. To rate the difficulty of each task, each of the 17 skills was given a difficulty rating from a scale of 1.0&#x2013;5.0, with 5.0 being the most difficult. These were determined by consulting an electronic engineering major. The ratings were stored in a difficulty vector <italic>d</italic>. For example, the skill for whether a participant knew when to use an LED was given a difficulty rating of 1, while the skill for whether the participant knew how to create an OR gate was given a 4.5. The current belief estimate <italic>b</italic> was used to select the next task.</p>
<p>In order to determine which task to give next to a participant, all remaining tasks are assigned a difficulty rating <italic>R</italic> based on the skills <italic>Sk</italic> that a task <italic>t</italic> incorporated. The rating was calculated based on the difficulty of each skill and the participant&#x2019;s current belief value <italic>b</italic>. Participants with higher belief values would likely find the task easier. Therefore, we used 1 &#x2212; <italic>b</italic>(<italic>i</italic>) to measure how difficult the task would be for the participant. As we are summing over the difficulty of each skill for a task, the more skills a task tests, the more difficult it will likely be. The difficulty rating <italic>R</italic> for a specific task is calculated as follows:<disp-formula id="e18">
<mml:math id="m27">
<mml:msub>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>b</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mspace width="0.3333em"/>
<mml:mo>&#x2a;</mml:mo>
<mml:mspace width="0.3333em"/>
<mml:mi>d</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(18)</label>
</disp-formula>
</p>
<p>There is also a fixed ideal rating value <italic>V</italic> that was set equal to five after initial trial and error. The <italic>V</italic> is intended to help ensure that an appropriate task is selected next for the respective participant so that the task is not too easy nor too overwhelming <xref ref-type="bibr" rid="B33">Metcalfe and Kornell (2005)</xref>. The task whose <italic>r</italic> value is closest to <italic>V</italic> is selected as the next task and removed from the possible remaining tasks for the next iteration.<disp-formula id="e19">
<mml:math id="m28">
<mml:mi>N</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(19)</label>
</disp-formula>
</p>
<p>In the case where several tasks are equally close to <italic>V</italic>, one of these potential tasks is selected at random. The process is repeated until the interaction with the participant ends.</p>
</sec>
<sec id="s6-3">
<title>6.3 Finished signal</title>
<p>One simple addition to TD-BKT was that the user could signal via a tablet when they were finished with the task. We interpret the user pressing the button, as signalling that they have attempted all the skills. Therefore, when the participant pressed the button, we update the prior p(L) with Eq. <xref ref-type="disp-formula" rid="e20">20</xref>.<disp-formula id="e20">
<mml:math id="m29">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(20)</label>
</disp-formula>
</p>
</sec>
<sec id="s6-4">
<title>6.4 Pre-test and post-test</title>
<p>The pre-test and post-test were composed of six very similar questions. The first two questions on both tests were the same. They asked participants to build from scratch a circuit that shines a constant light and a circuit that plays music, respectively. Participants were given 5 minutes to do both tasks. The third and fourth tasks on both tests required participants to add pieces to the board to complete the circuits. These tasks were identical between pre-test and post-test, other than the circuit boards being rotated 180&#xb0; to the participant in the post-test. For the fifth and sixth tasks, we presented pictures of pre-built circuits and asked participants to write down what the circuits did. These were similar between pre-test and post-test, but the pieces were arranged differently on the board. Participants were given 5 minutes to complete tasks three through six.</p>
</sec>
<sec id="s6-5">
<title>6.5 Results</title>
<p>Participants demonstrated wide variability in their skills on electronic circuits, varying from only demonstrating 6% of skills on the pre-test to showing 71% of skills. Likewise there was a large variation on the post-test with participants varying between 6% and 94%. We compare how many skills the participant correctly demonstrates from the pre-test to the post-test, that is, how much they improved as a result of the robot&#x2019;s interaction. On average the participant demonstrates correctly 5.83 (<italic>SD</italic> &#x3d; 3.24) skills on the pre-test, and 9.67 (<italic>SD</italic> &#x3d; 4.49) skills on the post-test. A <italic>t</italic>-test shows that participants knew significantly more skills during the post-test than during the pre-test (<italic>t</italic> (18) &#x3d; 8.64, <italic>p</italic> &#x3d; .006). These results are shown in <xref ref-type="fig" rid="F6">Figure 6A</xref>. <xref ref-type="fig" rid="F6">Figure 6B</xref> shows the improvement of each participant between the pre-test and post-test. 83% of participants improved their skills after the interaction, 6% did not learn any additional skills, and 11% showed fewer skills on the post-test compared to the pre-test. These results show that TD-BKT was able to correctly create a model of the user&#x2019;s skills and choose appropriate actions to teach each person.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>
<bold>(A)</bold> Participants demonstrated a significantly higher number of skills in the post-test compared to the pre-test. <bold>(B)</bold> The pre-test and post-test scores for each of the participants.</p>
</caption>
<graphic xlink:href="frobt-10-1249241-g006.tif"/>
</fig>
<p>In <xref ref-type="fig" rid="F7">Figure 7</xref>, we give an example of how TD-BKT tracked one participant&#x2019;s LED skill&#x2019;s estimate. In the observation graph we can see that the person added and removed the LED multiple times during the interaction. This was likely because they were moving the piece around as they were adding new pieces to the circuit. This can also be because the observations were noisy, due to occlusion of the board (The computer vision detected that the user had their hand on top of the board 32% of the time), or due to incorrect observations. The skill estimate graph shows how TD-BKT models the user given the observations. The dashed lines in the figure are the moments the participant pressed the finished button (signalling they believed they had the correct answer or that they were stuck).</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>An example of the observation and TD-BKT&#x2019;s resulting skill estimate of a participant LED&#x2019;s skill during a task.</p>
</caption>
<graphic xlink:href="frobt-10-1249241-g007.tif"/>
</fig>
<p>We can see that in the figure, the user did not add the LED until around time-step 30, causing many observations with value 0 (skill not demonstrated). Despite these observations, the skill estimate only slowly decreased, and as soon as the user added the LED, the value quickly increased. The user added and removed the LED several times, but nonetheless, TD-BKT kept a high estimate of the user&#x2019;s skill. At the end of the interaction TD-BKT assumed the user knew the skill, which matched what the user demonstrated.</p>
</sec>
</sec>
<sec sec-type="discussion" id="s7">
<title>7 Discussion</title>
<p>In this section, we first discuss our proposed solution and its results. In sequence, we present a discussion on the attempted parameter and how it can be used and extended for different use cases. Then, we will discuss several of the limitations of our algorithm. Lastly, we present different scenarios TD-BKT can be applied.</p>
<sec id="s7-1">
<title>7.1 Time-dependant&#x2014;Bayesian knowledge tracing</title>
<p>In this paper, we have shown that TD-BKT can model a user&#x2019;s skills during complex tasks. Experiment 1 shows that TD-BKT models a user&#x2019;s skill more accurately than traditional Bayesian Knowledge Tracing systems. This is because the conventional BKT approach was designed to only model a user&#x2019;s skills at the end of the task when it has received an unambiguous answer from the user. Whereas TD-BKT considers how long applying each individual skill is expected to take, and therefore can model skills throughout the task. In Experiment 2, it is shown that accurately modeling a user&#x2019;s skill during the task allows the system to choose good skills to teach a user. Users learn significantly more novel skills with TD-BKT compared to traditional BKT variations. This is essential, as the main goal of tutoring systems is to improve the student&#x2019;s skills in a particular domain.</p>
<p>Lastly, we validated TD-BKT on a user study with participants building electronic circuit tasks. This demonstrated the applicability of the algorithm to real-world tasks where participant data must be recovered using a sensing system. By modeling users using TD-BKT, the system taught users skills relating to electronic circuit design. Furthermore we have demonstrated that TD-BKT significantly increased participant knowledge on circuits from pre-test to post-test, demonstrating that user&#x2019;s learned several new skills during the interaction.</p>
</sec>
<sec id="s7-2">
<title>7.2 Attempted parameter</title>
<p>The attempted parameter captures the expected amount of time before the user would have tried out a skill. This allows TD-BKT to modify the weight of user observations at the start of the interaction and therefore make fewer mistakes. In our algorithm, we assume the attempted parameter is a fixed value throughout the task. However, for future systems, a more advanced computer vision system may be able to provide greater activity resolution by detecting what the user is doing at every time-step. This would provide a more accurate probability that they have attempted each of the skills of the current task. A second addition that we leave as future research is to enhance the attempted parameter by defining order dependencies between the skills. Often the ability of the user to attempt one skill is dependant on another skill being demonstrated first. For example, it is not possible to correctly have an LED on a board in the correct direction before the LED is added. These order dependencies would make the attempted parameter more accurate.</p>
</sec>
<sec id="s7-3">
<title>7.3 Limitations</title>
<p>Our presented algorithm has several limitations. The first is that we do not consider the order dependencies between different skills, whereas there often is a hierarchical dependency between demonstrating one skill and having knowledge of another. For example, we do not check whether the user has added a music circuit before checking whether they know how to connect the music circuit to a speaker. Future work should investigate how to incorporate hierarchical skill dependencies while the user completes tasks over time.</p>
<p>The second limitation of TD-BKT is that it assumes that each time step is equally important, whereas that might not always be the case during a tutoring scenario. A student might spend some of their time thinking of how they are going to piece their solution together, and then have a burst of action where they demonstrate or attempt all of the skills needed in the task in a short period of time. Future work should analyze how to change the weights of each time step depending on the user&#x2019;s current actions.</p>
<p>Lastly, we leave as future work applying TD-BKT to a larger variety of domains and learning tasks. Different domains such as learning a new language or learning how to cook, might need the consideration of new parameters to fully represent the data and domain.</p>
</sec>
<sec id="s7-4">
<title>7.4 Applications</title>
<p>The TD-BKT model is helpful in many different scenarios. The main one (and the one that has been the focus of this paper) is intelligent tutoring systems (ITS). Having an accurate model of a user is essential to tutoring. As ITSs become more predominant and are used for a broader range of tasks and ages, it is vital that not only simple tasks be considered (such as math or multiple choice), but also more intricate task where feedback may be required. Especially in light of the COVID-19 pandemic, ITSs can remove some of the strain on teachers and parents by providing personalized help to a student.</p>
<p>With the spread of collaborative robots in industry, many opportunities arise for these robots to model users and teach while collaborating. Some examples of collaborative tasks include: assembling cars or furniture, building circuits, and doing chemical processing. There are many advantages of creating a model of a human operator in manufacturing. Once the system has an accurate model of each employees skill it can teach additional skills that they might need at work. It can increase workplace safety by taking on dangerous tasks that the user has not yet mastered. And it can do task assignment according to each team members strengths and weaknesses when several people are collaborating.</p>
</sec>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s8">
<title>Data availability statement</title>
<p>The datasets presented in this study can be found in online repositories. The names of the repository/repositories and accession number(s) can be found below: <ext-link ext-link-type="uri" xlink:href="https://github.com/ScazLab/C-BKT">https://github.com/ScazLab/C-BKT</ext-link>.</p>
</sec>
<sec id="s9">
<title>Author contributions</title>
<p>NS and BS contributed to the conception of the algorithm. NS programmed the user study and the robotic environment. NS created the simulations and ran the user study. NS wrote the paper. BS provided formal supervision, project administration and funding. All authors contributed to the article and approved the submitted version.</p>
</sec>
<sec sec-type="funding-information" id="s10">
<title>Funding</title>
<p>This work was funded by the National Science Foundation (NSF) under grants No. 1955653, 1928448, 2106690, and 1813651.</p>
</sec>
<ack>
<p>We acknowledge Kaitlynn Pineda and Aderonke Adejare for their help in collecting data for the user study.</p>
</ack>
<sec sec-type="COI-statement" id="s11">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s12">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<fn-group>
<fn id="fn1">
<label>1</label>
<p>The code and the data can be found at <ext-link ext-link-type="uri" xlink:href="https://github.com/ScazLab/C-BKT">https://github.com/ScazLab/C-BKT</ext-link>.</p>
</fn>
</fn-group>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Abu-Naser</surname>
<given-names>S. S.</given-names>
</name>
</person-group> (<year>2008</year>). &#x201c;<article-title>Developing an intelligent tutoring system for students learning to program in c&#x2b;&#x2b;</article-title>,&#x201d; in <source>Information Technology Journal</source> (<publisher-name>Scialert</publisher-name>).</citation>
</ref>
<ref id="B2">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Al-Bastami</surname>
<given-names>B. G.</given-names>
</name>
<name>
<surname>Naser</surname>
<given-names>S. S. A.</given-names>
</name>
</person-group> (<year>2017</year>). <source>Design and development of an intelligent tutoring system for c&#x23; language</source>. <publisher-name>European academic research 4</publisher-name>.</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Anderson</surname>
<given-names>J. R.</given-names>
</name>
<name>
<surname>Boyle</surname>
<given-names>C. F.</given-names>
</name>
<name>
<surname>Reiser</surname>
<given-names>B. J.</given-names>
</name>
</person-group> (<year>1985</year>). <article-title>Intelligent tutoring systems</article-title>. <source>Science</source> <volume>228</volume>, <fpage>456</fpage>&#x2013;<lpage>462</lpage>. <pub-id pub-id-type="doi">10.1126/science.228.4698.456</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Anderson</surname>
<given-names>J. R.</given-names>
</name>
<name>
<surname>Corbett</surname>
<given-names>A. T.</given-names>
</name>
<name>
<surname>Koedinger</surname>
<given-names>K. R.</given-names>
</name>
<name>
<surname>Pelletier</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>1995</year>). <article-title>Cognitive tutors: lessons learned</article-title>. <source>J. Learn. Sci.</source> <volume>4</volume>, <fpage>167</fpage>&#x2013;<lpage>207</lpage>. <pub-id pub-id-type="doi">10.1207/s15327809jls0402_2</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bainbridge</surname>
<given-names>W. A.</given-names>
</name>
<name>
<surname>Hart</surname>
<given-names>J. W.</given-names>
</name>
<name>
<surname>Kim</surname>
<given-names>E. S.</given-names>
</name>
<name>
<surname>Scassellati</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>The benefits of interactions with physically present robots over video-displayed agents</article-title>. <source>Int. J. Soc. Robotics</source> <volume>3</volume>, <fpage>41</fpage>&#x2013;<lpage>52</lpage>. <pub-id pub-id-type="doi">10.1007/s12369-010-0082-7</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Butz</surname>
<given-names>C. J.</given-names>
</name>
<name>
<surname>Hua</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Maguire</surname>
<given-names>R. B.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>A web-based bayesian intelligent tutoring system for computer programming</article-title>. <source>Web Intell. Agent Syst. Int. J.</source> <volume>4</volume>, <fpage>77</fpage>&#x2013;<lpage>97</lpage>.</citation>
</ref>
<ref id="B7">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Cen</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Koedinger</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Junker</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2006</year>). &#x201c;<article-title>Learning factors analysis&#x2013;a general method for cognitive model evaluation and improvement</article-title>,&#x201d; in <source>International conference on intelligent tutoring systems</source> (<publisher-name>Springer</publisher-name>), <fpage>164</fpage>&#x2013;<lpage>175</lpage>.</citation>
</ref>
<ref id="B8">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Cen</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Koedinger</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Junker</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2008</year>). &#x201c;<article-title>Comparing two irt models for conjunctive skills</article-title>,&#x201d; in <source>International conference on intelligent tutoring systems</source> (<publisher-name>Springer</publisher-name>), <fpage>796</fpage>&#x2013;<lpage>798</lpage>.</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Park</surname>
<given-names>H. W.</given-names>
</name>
<name>
<surname>Breazeal</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Teaching and learning with children: impact of reciprocal peer learning with a social robot on children&#x2019;s learning and emotive engagement</article-title>. <source>Comput. Educ.</source> <volume>150</volume>, <fpage>103836</fpage>. <pub-id pub-id-type="doi">10.1016/j.compedu.2020.103836</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Clement</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Roy</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Oudeyer</surname>
<given-names>P.-Y.</given-names>
</name>
<name>
<surname>Lopes</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2013</year>). <source>Multi-armed bandits for intelligent tutoring systems</source>. <comment>
<italic>arXiv preprint arXiv:1310.3174</italic>
</comment>.</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Conati</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Gertner</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Vanlehn</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2002</year>). <article-title>Using bayesian networks to manage uncertainty in student modeling</article-title>. <source>User Model. user-adapted Interact.</source> <volume>12</volume>, <fpage>371</fpage>&#x2013;<lpage>417</lpage>. <pub-id pub-id-type="doi">10.1023/a:1021258506583</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Corbett</surname>
<given-names>A. T.</given-names>
</name>
<name>
<surname>Anderson</surname>
<given-names>J. R.</given-names>
</name>
</person-group> (<year>1994</year>). <article-title>Knowledge tracing: modeling the acquisition of procedural knowledge</article-title>. <source>User Model. user-adapted Interact.</source> <volume>4</volume>, <fpage>253</fpage>&#x2013;<lpage>278</lpage>. <pub-id pub-id-type="doi">10.1007/bf01099821</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>David</surname>
<given-names>Y. B.</given-names>
</name>
<name>
<surname>Segal</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Gal</surname>
<given-names>Y. K.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>Sequencing educational content in classrooms using bayesian knowledge tracing</article-title>,&#x201d; in <source>Proceedings of the sixth international conference on learning analytics &#x26; knowledge</source> (<publisher-name>ACM</publisher-name>), <fpage>354</fpage>&#x2013;<lpage>363</lpage>.</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Desmarais</surname>
<given-names>M. C.</given-names>
</name>
<name>
<surname>Baker</surname>
<given-names>R. S.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>A review of recent advances in learner and skill modeling in intelligent learning environments</article-title>. <source>User Model. User-Adapted Interact.</source> <volume>22</volume>, <fpage>9</fpage>&#x2013;<lpage>38</lpage>. <pub-id pub-id-type="doi">10.1007/s11257-011-9106-8</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dzikovska</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Steinhauser</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Farrow</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Moore</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Campbell</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Beetle ii: deep natural language understanding and automatic feedback generation for intelligent tutoring in basic electricity and electronics</article-title>. <source>Int. J. Artif. Intell. Educ.</source> <volume>24</volume>, <fpage>284</fpage>&#x2013;<lpage>332</lpage>. <pub-id pub-id-type="doi">10.1007/s40593-014-0017-9</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="book">
<collab>Elenco</collab> (<year>2021</year>). <source>Snap circuits</source>. <comment>Available at: <ext-link ext-link-type="uri" xlink:href="https://www.elenco.com/brand/snap-circuits/">https://www.elenco.com/brand/snap-circuits/</ext-link> (Accessed September 10, 2019)</comment>.</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Folsom-Kovarik</surname>
<given-names>J. T.</given-names>
</name>
<name>
<surname>Sukthankar</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Schatz</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Tractable pomdp representations for intelligent tutoring systems</article-title>. <source>ACM Trans. Intelligent Syst. Technol. (TIST)</source> <volume>4</volume>, <fpage>1</fpage>&#x2013;<lpage>22</lpage>. <pub-id pub-id-type="doi">10.1145/2438653.2438664</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Fournier-Viger</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Nkambou</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Nguifo</surname>
<given-names>E. M.</given-names>
</name>
</person-group> (<year>2010</year>). &#x201c;<article-title>Building intelligent tutoring systems for ill-defined domains</article-title>,&#x201d; in <source>Advances in intelligent tutoring systems</source> (<publisher-name>Springer</publisher-name>).</citation>
</ref>
<ref id="B19">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Girotto</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Lozano</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Muldner</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Burleson</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Walker</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>Lessons learned from in-school use of rtag: a robo-tangible learning environment</article-title>,&#x201d; in <source>Proceedings of the 2016 CHI conference on human factors in computing systems</source>, <fpage>919</fpage>&#x2013;<lpage>930</lpage>.</citation>
</ref>
<ref id="B20">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Gong</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Beck</surname>
<given-names>J. E.</given-names>
</name>
<name>
<surname>Heffernan</surname>
<given-names>N. T.</given-names>
</name>
</person-group> (<year>2010</year>). &#x201c;<article-title>Comparing knowledge tracing and performance factor analysis by using multiple model fitting procedures</article-title>,&#x201d; in <source>International conference on intelligent tutoring systems</source> (<publisher-name>Springer</publisher-name>), <fpage>35</fpage>&#x2013;<lpage>44</lpage>.</citation>
</ref>
<ref id="B21">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Gonz&#xe1;lez-Brenes</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Brusilovsky</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2014</year>). &#x201c;<article-title>General features in knowledge tracing to model multiple subskills, temporal item response theory, and expert knowledge</article-title>,&#x201d; in <source>The 7th international conference on educational data mining</source> (<publisher-name>University of Pittsburgh</publisher-name>), <fpage>84</fpage>&#x2013;<lpage>91</lpage>.</citation>
</ref>
<ref id="B22">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Gordon</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Breazeal</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2015</year>). &#x201c;<article-title>Bayesian active learning-based robot tutor for children&#x2019;s word-reading skills</article-title>,&#x201d; in <source>Proceedings of the AAAI conference on artificial intelligence</source>, <volume>29</volume>.</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Graesser</surname>
<given-names>A. C.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Nye</surname>
<given-names>B. D.</given-names>
</name>
<name>
<surname>VanLehn</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Kumar</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Heffernan</surname>
<given-names>C.</given-names>
</name>
<etal/>
</person-group> (<year>2018</year>). <article-title>Electronixtutor: an intelligent tutoring system with multiple learning resources for electronics</article-title>. <source>Int. J. STEM Educ.</source> <volume>5</volume>, <fpage>15</fpage>&#x2013;<lpage>21</lpage>. <pub-id pub-id-type="doi">10.1186/s40594-018-0110-y</pub-id>
</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Graesser</surname>
<given-names>A. C.</given-names>
</name>
<name>
<surname>VanLehn</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Ros&#xe9;</surname>
<given-names>C. P.</given-names>
</name>
<name>
<surname>Jordan</surname>
<given-names>P. W.</given-names>
</name>
<name>
<surname>Harter</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2001</year>). <article-title>Intelligent tutoring systems with conversational dialogue</article-title>. <source>AI Mag.</source> <volume>22</volume>, <fpage>39</fpage>.</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Henkemans</surname>
<given-names>O. A. B.</given-names>
</name>
<name>
<surname>Bierman</surname>
<given-names>B. P.</given-names>
</name>
<name>
<surname>Janssen</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Neerincx</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Looije</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>van der Bosch</surname>
<given-names>H.</given-names>
</name>
<etal/>
</person-group> (<year>2013</year>). <article-title>Using a robot to personalise health education for children with diabetes type 1: a pilot study</article-title>. <source>Patient Educ. Couns.</source> <volume>92</volume>, <fpage>174</fpage>&#x2013;<lpage>181</lpage>. <pub-id pub-id-type="doi">10.1016/j.pec.2013.04.012</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Janssen</surname>
<given-names>J. B.</given-names>
</name>
<name>
<surname>Wal</surname>
<given-names>C. C.</given-names>
</name>
<name>
<surname>Neerincx</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Looije</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2011</year>). &#x201c;<article-title>Motivating children to learn arithmetic with an adaptive robot game</article-title>,&#x201d; in <source>International conference on social robotics</source> (<publisher-name>Springer</publisher-name>), <fpage>153</fpage>&#x2013;<lpage>162</lpage>.</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jones</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Bull</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Castellano</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>&#x201c;i know that now, i&#x2019;m going to learn this next&#x201d; promoting self-regulated learning with a robotic tutor</article-title>. <source>Int. J. Soc. Robotics</source> <volume>10</volume>, <fpage>439</fpage>&#x2013;<lpage>454</lpage>. <pub-id pub-id-type="doi">10.1007/s12369-017-0430-y</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kullback</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Leibler</surname>
<given-names>R. A.</given-names>
</name>
</person-group> (<year>1951</year>). <article-title>On information and sufficiency</article-title>. <source>Ann. Math. statistics</source> <volume>22</volume>, <fpage>79</fpage>&#x2013;<lpage>86</lpage>. <pub-id pub-id-type="doi">10.1214/aoms/1177729694</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lan</surname>
<given-names>A. S.</given-names>
</name>
<name>
<surname>Baraniuk</surname>
<given-names>R. G.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>A contextual bandits framework for personalized learning action selection</article-title>. <source>EDM</source>, <fpage>424</fpage>&#x2013;<lpage>429</lpage>.</citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Leyzberg</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Spaulding</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Toneva</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Scassellati</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>The physical presence of a robot tutor increases cognitive learning gains</article-title>. <source>Proc. Annu. Meet. cognitive Sci. Soc.</source> <volume>34</volume>.</citation>
</ref>
<ref id="B31">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Shen</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2021</year>). <source>A survey of knowledge tracing</source>. <comment>
<italic>arXiv preprint arXiv:2105.15106</italic>
</comment>.</citation>
</ref>
<ref id="B32">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Mayo</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Mitrovic</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>McKenzie</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2000</year>). &#x201c;<article-title>Capit: an intelligent tutoring system for capitalisation and punctuation</article-title>,&#x201d; in <source>Proceedings international workshop on advanced learning technologies. IWALT 2000. Advanced learning Technology: design and development issues</source> (<publisher-name>IEEE</publisher-name>), <fpage>151</fpage>&#x2013;<lpage>154</lpage>.</citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Metcalfe</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Kornell</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2005</year>). <article-title>A region of proximal learning model of study time allocation</article-title>. <source>J. Mem. Lang.</source> <volume>52</volume>, <fpage>463</fpage>&#x2013;<lpage>477</lpage>. <pub-id pub-id-type="doi">10.1016/j.jml.2004.12.001</pub-id>
</citation>
</ref>
<ref id="B34">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Milliken</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Hollinger</surname>
<given-names>G. A.</given-names>
</name>
</person-group> (<year>2017</year>). &#x201c;<article-title>Modeling user expertise for choosing levels of shared autonomy</article-title>,&#x201d; in <source>2017 IEEE international conference on robotics and automation (ICRA)</source> (<publisher-name>IEEE</publisher-name>), <fpage>2285</fpage>&#x2013;<lpage>2291</lpage>.</citation>
</ref>
<ref id="B35">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Murray</surname>
<given-names>R. C.</given-names>
</name>
<name>
<surname>VanLehn</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2006</year>). &#x201c;<article-title>A comparison of decision-theoretic, fixed-policy and random tutorial action selection</article-title>,&#x201d; in <source>International conference on intelligent tutoring systems</source> (<publisher-name>Springer</publisher-name>), <fpage>114</fpage>&#x2013;<lpage>123</lpage>.</citation>
</ref>
<ref id="B36">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Niehaus</surname>
<given-names>J. M.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Riedl</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2011</year>). &#x201c;<article-title>Automated scenario adaptation in support of intelligent tutoring systems</article-title>,&#x201d; in <source>Twenty-fourth international FLAIRS conference</source>.</citation>
</ref>
<ref id="B37">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Pardos</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Heffernan</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Ruiz</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Beck</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2008</year>). &#x201c;<article-title>The composition effect: conjuntive or compensatory? an analysis of multi-skill math questions in its</article-title>,&#x201d; in <source>Educational data mining 2008</source>.</citation>
</ref>
<ref id="B38">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Pavlik</surname>
<given-names>P. I.</given-names>
<suffix>Jr</suffix>
</name>
<name>
<surname>Cen</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Koedinger</surname>
<given-names>K. R.</given-names>
</name>
</person-group> (<year>2009</year>). <source>Performance factors analysis&#x2013;a new alternative to knowledge tracing</source>. <comment>Online Submission</comment>.</citation>
</ref>
<ref id="B39">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pel&#xe1;nek</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Bayesian knowledge tracing, logistic models, and beyond: an overview of learner modeling techniques</article-title>. <source>User Model. User-Adapted Interact.</source> <volume>27</volume>, <fpage>313</fpage>&#x2013;<lpage>350</lpage>. <pub-id pub-id-type="doi">10.1007/s11257-017-9193-2</pub-id>
</citation>
</ref>
<ref id="B40">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Piech</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Spencer</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Ganguli</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Sahami</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Guibas</surname>
<given-names>L.</given-names>
</name>
<etal/>
</person-group> (<year>2015</year>). <source>Deep knowledge tracing</source>. <comment>
<italic>arXiv preprint arXiv:1506.05908</italic>
</comment>.</citation>
</ref>
<ref id="B41">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rafferty</surname>
<given-names>A. N.</given-names>
</name>
<name>
<surname>Brunskill</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Griffiths</surname>
<given-names>T. L.</given-names>
</name>
<name>
<surname>Shafto</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Faster teaching via pomdp planning</article-title>. <source>Cognitive Sci.</source> <volume>40</volume>, <fpage>1290</fpage>&#x2013;<lpage>1332</lpage>. <pub-id pub-id-type="doi">10.1111/cogs.12290</pub-id>
</citation>
</ref>
<ref id="B42">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Ramachandran</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>C.-M.</given-names>
</name>
<name>
<surname>Gartland</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Scassellati</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>Thinking aloud with a tutoring robot to enhance learning</article-title>,&#x201d; in <source>Proceedings of the 2018 ACM/IEEE international conference on human-robot interaction</source>, <fpage>59</fpage>&#x2013;<lpage>68</lpage>.</citation>
</ref>
<ref id="B43">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ramachandran</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Sebo</surname>
<given-names>S. S.</given-names>
</name>
<name>
<surname>Scassellati</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Personalized robot tutoring using the assistive tutor pomdp (at-pomdp)</article-title>. <source>Proc. AAAI Conf. Artif. Intell.</source> <volume>33</volume>, <fpage>8050</fpage>&#x2013;<lpage>8057</lpage>. <pub-id pub-id-type="doi">10.1609/aaai.v33i01.33018050</pub-id>
</citation>
</ref>
<ref id="B44">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Salomons</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Akdere</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Scassellati</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2021</year>). &#x201c;<article-title>Bkt-pomdp: fast action selection for user skill modelling over tasks with multiple skills</article-title>,&#x201d; in <source>International joint conference on artificial intelligence</source>.</citation>
</ref>
<ref id="B45">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Salomons</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Pineda</surname>
<given-names>K. T.</given-names>
</name>
<name>
<surname>Ad&#xe9;j&#xe0;re</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Scassellati</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2022a</year>). &#x201c;<article-title>&#x201c;we make a great team!&#x201d;: adults with low prior domain knowledge learn more from a peer robot than a tutor robot</article-title>,&#x201d; in <source>2022 17th ACM/IEEE international conference on human-robot interaction (HRI)</source> (<publisher-name>IEEE</publisher-name>), <fpage>176</fpage>&#x2013;<lpage>184</lpage>.</citation>
</ref>
<ref id="B46">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Salomons</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Wallenstein</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Ghose</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Scassellati</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2022b</year>). &#x201c;<article-title>The impact of an in-home co-located robotic coach in helping people make fewer exercise mistakes</article-title>,&#x201d; in <source>2022 31st IEEE international conference on robot and human interactive communication (RO-MAN)</source> (<publisher-name>IEEE</publisher-name>), <fpage>149</fpage>&#x2013;<lpage>154</lpage>.</citation>
</ref>
<ref id="B47">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Schadenberg</surname>
<given-names>B. R.</given-names>
</name>
<name>
<surname>Neerincx</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Cnossen</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Looije</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Personalising game difficulty to keep children motivated to play with a social robot: a bayesian approach</article-title>. <source>Cognitive Syst. Res.</source> <volume>43</volume>, <fpage>222</fpage>&#x2013;<lpage>231</lpage>. <pub-id pub-id-type="doi">10.1016/j.cogsys.2016.08.003</pub-id>
</citation>
</ref>
<ref id="B48">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Schodde</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Bergmann</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Kopp</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2017</year>). &#x201c;<article-title>Adaptive robot language tutoring based on bayesian knowledge tracing and predictive decision-making</article-title>,&#x201d; in <source>Proceedings of the 2017 ACM/IEEE international conference on human-robot interaction</source>, <fpage>128</fpage>&#x2013;<lpage>136</lpage>.</citation>
</ref>
<ref id="B49">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Short</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Swift-Spong</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Greczek</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Ramachandran</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Litoiu</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Grigore</surname>
<given-names>E. C.</given-names>
</name>
<etal/>
</person-group> (<year>2014</year>). &#x201c;<article-title>How to train your dragonbot: socially assistive robots for teaching children about nutrition through play</article-title>,&#x201d; in <source>The 23rd IEEE international symposium on robot and human interactive communication</source> (<publisher-name>IEEE</publisher-name>), <fpage>924</fpage>&#x2013;<lpage>929</lpage>.</citation>
</ref>
<ref id="B50">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Szafir</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Mutlu</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2012</year>). &#x201c;<article-title>Pay attention! designing adaptive agents that monitor and improve user engagement</article-title>,&#x201d; in <source>Proceedings of the SIGCHI conference on human factors in computing systems</source>, <fpage>11</fpage>&#x2013;<lpage>20</lpage>.</citation>
</ref>
<ref id="B51">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>VanLehn</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>The relative effectiveness of human tutoring, intelligent tutoring systems, and other tutoring systems</article-title>. <source>Educ. Psychol.</source> <volume>46</volume>, <fpage>197</fpage>&#x2013;<lpage>221</lpage>. <pub-id pub-id-type="doi">10.1080/00461520.2011.611369</pub-id>
</citation>
</ref>
<ref id="B52">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Vollmer</surname>
<given-names>A.-L.</given-names>
</name>
<name>
<surname>Wrede</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Rohlfing</surname>
<given-names>K. J.</given-names>
</name>
<name>
<surname>Oudeyer</surname>
<given-names>P.-Y.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Pragmatic frames for teaching and learning in human&#x2013;robot interaction: review and challenges</article-title>. <source>Front. neurorobotics</source> <volume>10</volume>, <fpage>10</fpage>. <pub-id pub-id-type="doi">10.3389/fnbot.2016.00010</pub-id>
</citation>
</ref>
<ref id="B53">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Wainer</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Feil-Seifer</surname>
<given-names>D. J.</given-names>
</name>
<name>
<surname>Shell</surname>
<given-names>D. A.</given-names>
</name>
<name>
<surname>Mataric</surname>
<given-names>M. J.</given-names>
</name>
</person-group> (<year>2007</year>). &#x201c;<article-title>Embodiment and human-robot interaction: a task-based perspective</article-title>,&#x201d; in <source>RO-MAN 2007-the 16th IEEE international symposium on robot and human interactive communication</source> (<publisher-name>IEEE</publisher-name>), <fpage>872</fpage>&#x2013;<lpage>877</lpage>.</citation>
</ref>
<ref id="B54">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Weisler</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Bellin</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Spector</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Stillings</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2001</year>). <publisher-loc>L&#x2019;Aquila, Italy</publisher-loc>.<article-title>An inquiry-based approach to e-learning: the chat digital learning environment</article-title>. In <source>Proceedings of SSGRR-2001. Scuola superiore G. Reiss romoli</source>.</citation>
</ref>
<ref id="B55">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Xu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Mostow</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2011</year>). &#x201c;<article-title>Using logistic regression to trace multiple sub-skills in a dynamic bayes net</article-title>,&#x201d; in <source>Edm</source> (<publisher-name>Citeseer</publisher-name>), <fpage>241</fpage>&#x2013;<lpage>246</lpage>.</citation>
</ref>
<ref id="B56">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Yudelson</surname>
<given-names>M. V.</given-names>
</name>
<name>
<surname>Koedinger</surname>
<given-names>K. R.</given-names>
</name>
<name>
<surname>Gordon</surname>
<given-names>G. J.</given-names>
</name>
</person-group> (<year>2013</year>). &#x201c;<article-title>Individualized bayesian knowledge tracing models</article-title>,&#x201d; in <source>International conference on artificial intelligence in education</source> (<publisher-name>Springer</publisher-name>), <fpage>171</fpage>&#x2013;<lpage>180</lpage>.</citation>
</ref>
</ref-list>
</back>
</article>