<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Isaac Alpizar-Chacon[</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Integrating Textbooks with Smart Interactive Content for Learning Programming</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Utrecht University</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Utrecht</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>The Netherlands</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>i.alpizarchacon</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>s.a.sosnovskyg@uu.nl</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Pittsburgh</institution>
          ,
          <addr-line>Pittsburgh</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>0000</year>
      </pub-date>
      <volume>0002</volume>
      <abstract>
        <p>Online textbooks with interactive content emerged as a popular medium for learning programming and other computer science topics. While the textbook component supports acquisition of programming concepts by reading, various types of \smart" interactive learning content such as worked examples, code animations, Parson's puzzles, and coding problems allow students to immediately practice and master the newly learned concepts. This paper attempts to automate the time-consuming manual process of augmenting textbooks with \smart" interactive content. We introduce an ontology-based approach that can link fragment of text with \smart" content activities, demonstrate its application to two practical linking cases, and present the results of its pilot evaluation.</p>
      </abstract>
      <kwd-group>
        <kwd>electronic textbook</kwd>
        <kwd>introductory programming</kwd>
        <kwd>interactive learning content</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        3 Electronic textbooks and various kinds of \smart" interactive systems such as
Intelligent Tutoring Systems (ITS) or virtual labs have been traditionally
considered as two opposite ways to leverage the power of computers for human learning.
The research on electronic textbooks attempted to enhance learning-by-reading
supported by traditional textbooks by augmenting them with internal hyperlinks
[
        <xref ref-type="bibr" rid="ref39">39</xref>
        ], semantic references [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], links to external material [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], annotations [
        <xref ref-type="bibr" rid="ref33 ref48">33, 48</xref>
        ],
and even question answering [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. In contrast, interactive learning tools focused
on supporting learning-by-doing by o ering students a chance to solve problems
with an assistance of an intelligent tutor [
        <xref ref-type="bibr" rid="ref47 ref8">8, 47</xref>
        ], examine interactive worked
examples [
        <xref ref-type="bibr" rid="ref34 ref49">34, 49</xref>
        ], or explore simulations [
        <xref ref-type="bibr" rid="ref36">36</xref>
        ].
      </p>
      <p>
        Gradually, the recognition of complementary nature of learning-by-reading
and learning-by-doing encouraged an increasing stream of research on
integrating textbooks with interactive content [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. This work has been most noticeable
3 Copyright © 2021 for this paper by its authors. Use permitted under Creative
      </p>
      <p>
        Commons License Attribution 4.0 International (CC BY 4.0).
in computer science domain, such as learning programming languages, where
researchers and practitioners developed and explored a broad range of \smart"
interactive learning content [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] such as coding problems [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], interactive
examples [
        <xref ref-type="bibr" rid="ref49">49</xref>
        ], Parson's puzzles [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ], and program visualizations [
        <xref ref-type="bibr" rid="ref36">36</xref>
        ]. Starting from
the early attempt to augment multimedia and Web-based programming textbook
with live problems [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], intelligent tutors [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], and interactive animations [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ],
the research on programming textbooks with \smart" interactive content lead
to the development of modern online interactive textbooks that are used by
thousands of users [
        <xref ref-type="bibr" rid="ref21 ref42">42, 21</xref>
        ].
      </p>
      <p>
        Yet, textbooks with \smart" interactive content are still a minority among
other types of learning tools due to considerable problems of integrating
traditional text with \smart content". While technical problems associated with
integration are being gradually addressed by modern interoperability standards,
the conceptual problems related to linking text with interactive content (which
interactive activity is the best match for a section or text?) are not yet resolved.
The current generation of interactive textbook is still developed by manual
allocation of interactive content developed by the textbook authors to textbook
sections. This approach has scaling problems and complicates the reuse of smart
learning content created by other authors. While approaches for automatic
linking of textbook sections with various types of text-based resources such as other
textbooks [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] of Wikipedia [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] have already been developed, automatic linking
of text and complex activities has not been attempted. In this paper we present
our rst attempt to cross the border between text and smart interactive content
for learning computer programming. As a domain to explore linking text with
interactive content, programming domains o er one substantial advantage. A
well-structured nature of programming code associated with interactive content
makes it possible to extract knowledge components from the code in a scalable
way [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]. We introduce a novel ontology-based linking approach and demonstrate
its use to solve two types of automatic linking problems: augmenting textbook
sections with smart interactive content and extending topic-focusing collections
of smart content with relevant reading resources. We also present an attempt to
evaluate the quality of linking and discuss our experience.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Related work</title>
      <p>
        E ective integration of various types of learning content and systems serving
it has been both an important practical problem and a long-standing research
challenge for the developers of educational software. On a more practical side,
several issues have been addresses with di erent degrees of success. For example,
we have a range of standard protocols for reliable identi cation of users across
multiple systems [
        <xref ref-type="bibr" rid="ref25 ref27 ref40">27, 25, 40</xref>
        ]. There is also a strong community support behind
standards for learning record stores aggregating educational data from external
sources [
        <xref ref-type="bibr" rid="ref2 ref30">2, 30</xref>
        ]. At the same time, several interoperability standards have
struggled to reach wider adoption despite initial promises [
        <xref ref-type="bibr" rid="ref1 ref28 ref29">28, 1, 29</xref>
        ]. From the research
perspective, the Arti cial Intelligence in Education (AIED) community has
explored the problem of integration of intelligent and adaptive educational systems
on multiple levels, including distributed personalisation architectures [
        <xref ref-type="bibr" rid="ref12 ref45">12, 45</xref>
        ] and
centralised student modelling servers [
        <xref ref-type="bibr" rid="ref16 ref31">31, 16</xref>
        ], mapping domain models [
        <xref ref-type="bibr" rid="ref43">43</xref>
        ] and
educational ontologies [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. Ultimately, the motivation for such integration is a
composition of a richer, more e ective educational environments that can
provide guided access to an assortment of educational content of di erent types
and enable deeper learning. Reading material is an integral component of such
educational setups as the main source of conceptual knowledge and potential
destination for re ective and remedial learning activity.
      </p>
      <p>
        From the architecture perspective, there are two primary models for
integrating textbooks with smart interactive content:
{ linking external interactive content into the relevant parts of a textbook;
{ linking relevant fragments of a textbook into an existing interactive
education system;
The former method has been implemented in several successful system. For
example, the classic adaptive system for learning LISP - ELM-ART [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] - is
organised as an electronic textbook augmented with training exercises. Students
reading the textbook can practice their knowledge, thus providing ELM-ART
with evidence for student modelling and adaptation. Another example of a
similar organisation is Runestone textbooks [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] augmented with several types of
interactive content including Parson's puzzles. Examples of the second method
are less numerous. [
        <xref ref-type="bibr" rid="ref44">44</xref>
        ] describes OOPS - an adaptive service that recommends
relevant sections from a textbook to students solving self-assessment quizzes on
Java. It is worth noting that another important distinction of the OOPS
service is that it linked textbook sections to relevant quizzes and questions in an
automated way.
      </p>
      <p>
        The automated linking of textbooks is another important stream of research.
However, we are not aware of other examples of automatic linking of textbooks to
smart interactive content besides OOPS. Most authors have looked into di erent
ways to either cross-link multiple textbooks within the same domain [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], or
integrate textbooks with external repositories of reading material [
        <xref ref-type="bibr" rid="ref3 ref35">3, 35</xref>
        ]. In this
paper, we seek to ll this gap by implementing a linking model between textbooks
and smart interactive programming content.
3
3.1
      </p>
    </sec>
    <sec id="sec-3">
      <title>Systems</title>
      <sec id="sec-3-1">
        <title>Intextbooks</title>
        <p>
          The main platform used in our studies of linking textbooks with interactive
content is the Intextbooks (Intelligent textbooks) system [
          <xref ref-type="bibr" rid="ref4 ref7">4, 7</xref>
          ]. Intextbooks consists
of two main components. The online component supports students' interaction
with the online electronic textbooks (see Fig. 1), while the o ine component
performs transformation of PDF textbooks into online interactive textbooks
through modeling and conversion to HTML. After extracting a knowledge model
from a PDF textbook, it converts it into an HTML/CSS representation with a
ne-grained DOM (Document Object Model) enriched with semantic
information extracted from the content and formatting of the textbook. As a result, this
implementation is exible in terms of potential interactivity as virtually any
textbook object (from a chapter to a keyword) can become an object of targeted
interaction.
        </p>
        <p>
          The o ine component extracts a semantic model of a textbook using a
rulebased system. Its ruleset captures common conventions and formatting guidelines
for textbook formatting, structuring, and organization. Such elements and tables
of contents and indices play a crucial role. More information can be found in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
Additionally, the domain terms extracted from the textbook index are linked to
DBpedia4 resources using a category of interest to indicate the primary domain
of the textbook. As a result, the model is enriched with additional semantic
information [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. Then, the knowledge model is serialized as an XML le using the
Text Encoding Initiative (TEI)5 and the textbook is converted into an HTML
representation. Finally, TEI and HTML representations are synchronized,
meaning all elements of the TEI model are connected to the DOM elements of the
HTML version of the textbook. The online Web-reader presents processed
textbooks to students. Every time a student requests a textbook, the reader displays
the synchronized HTML representation of the textbook and supports various
interactions with it.
3.2
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Python Programming Personalized Practice System</title>
        <p>
          To assess the value of automatically extracting concepts from Python textbooks,
we also decided to explore linking the di erent sections of these books with
the learning units presented in the Python Personalized Programming Practice
System (P4), based on their conceptual similarity. P4 is an online personalized
system o ering students in introductory Python programming courses to practice
their skills using several types of interactive learning materials. The system is
designed as a non-mandatory practice and self-assessment tool that each student
could use for individual needs. P4 was developed by using the Mastery Grids
system [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] as its core. Each topic within the Python course is represented by
a square cell in the top row (see top left in Fig. 2). Students can monitor their
progress by checking the color of the grid cells, i.e., the greener the cell the
more correct activities they have within that topic. For accessing the learning
materials on a speci c topic, students have to click the corresponding topic
cell, which opens the learning activities selection section (see left center part in
Fig. 2). Several types of learning activities are presented here, all of them in a
di erent row, ranging from \Animated Examples" to \Parsons Problems".
        </p>
        <p>
          On top of it, personalized guidance is provided, based on a concept-level
model of student's Python knowledge. The conceptual structure of the student
model is driven by an ontology of Python programming concepts 6 (from now on,
4 http://dbpedia.org
5 https://tei-c.org/
6 http://acos.cs.hut. /static/python-parser/ontology.png
the Python ontology), which was homologically created by using a Java ontology
as a template [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]. The ontology is composed by leaf and inner nodes. A leaf
node represents a Python concept. Inner nodes are used as a hierarchy of classes
for the concepts.
        </p>
        <p>The model is built by observing student behavior in the system and
represents the probability of students knowing each Python concept. To make this
learner model \open" to the student, it is visualized as a bar chart on the bottom
part of the activity selection interface (see Fig. 2). Each bar depicts one
concept, and the height represents the estimated level of knowledge (i.e., the taller
it is, the more the estimation of knowledge). Based on these concept estimations,
P4 recommends the three learning activities that are more appropriate for the
student at that stage by following a speci c learning goal (e.g., knowledge
maximization or misconceptions' remediation). Recommended learning materials are
highlighted with stars of di erent sizes within the interface (see Fig. 2).
3.3</p>
        <p>Intextbooks/P4 integration
The research presented in this paper primarily bene ts from the annotation of
the textbook's content with domain terms in Intextbooks and the
topic-conceptactivity model in P4. Each content unit (page, sub-chapter, chapter) is
annotated with its corresponding domain terms in the resulting knowledge models
for a textbook. When those domain terms are linked to the Python
programming concepts used in P4, two potential integrations are enabled: (1) learning
activities from P4 can be displayed along with the corresponding content units
in Intextbooks, and (2) content units from textbooks in Intextbooks can be
additional learning activities associated with the most appropriate topics in P4.</p>
        <p>
          We present how this two-way integration for learning programming looks like
in each of the two systems. As a working example, we linked the content from
the \Python for Everybody" textbook [
          <xref ref-type="bibr" rid="ref41">41</xref>
          ] with the topics-concepts-activities in
P4. Speci cally, we show the link between a sub-chapter from the textbook and
the \While Loops" topic (see Figures 1 and 2).
        </p>
        <p>Figure 1 re ects the addition of learning activities associated with speci c
sub-chapters in Intextbooks. Since each sub-chapter is annotated with domain
terms, learning activities from P4 that cover the same conceptual terms can be
included in Intextbooks. When a user is navigating a sub-chapter linked with one
or more learning activities, these are displayed as additional content (see
topright panel on Fig. 1). The user can interact directly with the learning activities
without leaving the system.</p>
        <p>
          Figure 2 shows how \Textbook readings" were added as an additional type
of learning activity (last row) in P4. When a \Textbook readings" cell is clicked,
P4 directs students to the Reading Mirror system [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] (online reading tool
integrated within P4), speci cally focusing on the corresponding sub-chapter that
has been associated with the topic given the concepts it covers. In the same
way, as the other types of learning activities, \Textbook readings" are capable
of being recommended to students as well (specially when the concepts covered
were just introduced or need to be reinforced).
Our goal is to map the knowledge models extracted from Python textbooks to the
concepts and topics model available in the P4 system. This mapping will allow
the interchanging of content from both models: (1) learning activities from P4
can be displayed directly in our Intextbooks system, and (2) sub-chapters from
the Python textbooks that present and discuss the topics used in P4 can be
displayed as an additional type of content. Our methodology for mapping both
models include three main steps and two sub-steps:
1. Knowledge model extraction and glossary uni cation
2. Glossary - ontology linking
3. Granular content linking
3.1. Textbook sub-chapters to P4
3.2. P4 learning activities to textbook sub-chapters
        </p>
        <p>Figure 3 shows the elements from both systems (Intextbooks and P4) used
in the methodology. Each step is described in the following subsections.
4.1</p>
      </sec>
      <sec id="sec-3-3">
        <title>Knowledge model extraction and glossary uni cation</title>
        <p>The rst step in our methodology is to extract the list of all the index terms
present in the Python textbooks to create a single uni ed glossary of terms to
be mapped with the Python ontology.</p>
        <p>
          First, for each textbook, a knowledge model is extracted and enriched with
semantic information from DBpedia. For the enrichment process, the DBpedia
category Computer programming is used. Then, a glossary of index terms is
created for each textbook. Each term in the glossary has a preferred label (PF),
a set of alternative labels (AL), and an external concept (EC). The rst one
corresponds to the ID of the term, the second to a set of alternative names for
the same term, and the last one, to an external concept from a di erent glossary
or ontology. For example, a glossary term is fPF: if statement; AL: statement
&lt;&gt; if; EC:- g (&lt;&gt; is used for hierarchical index terms). Initially, no term has
an external concept associated with it; this will be done in the next step. The
presented glossary term corresponds to the \id statement" and \statement &lt;&gt;
if" index terms from the \Python for Everybody" textbook [
          <xref ref-type="bibr" rid="ref41">41</xref>
          ].
        </p>
        <p>
          Since two terms representing the same concept can be written di erently,
we merge all glossaries to identify repeated terms. Terms that are identi ed as
the same are merged, keeping the individual terms as alternative labels.
Besides exact textual matching, three cases are handled: (1) di erent lexical forms
(e.g., branch and branches), (2) acronyms (e.g., API and APIs (Application
Programming Interfaces)), and (3) synonyms (e.g., Turing Completeness and
Turing complete programming language ). The rst case is handle by
comparing the terms using their stems (computed for each word using the snowball
stemming algorithm [
          <xref ref-type="bibr" rid="ref38">38</xref>
          ]). Secondly, acronyms are handled by rst identifying
if an index term contains some text between parenthesis and then splitting the
term into two. Each part of the term is compared against the other terms.
Finally, synonyms are handled with the help of DBpedia: terms that were linked
to the same DBpedia resource during the enrichment process are merged. Also,
we use the dbo:wikiPageRedirects property of the DBpedia resources, which
indicates synonyms, common misspellings, and acronyms to increase the
matching between the terms. The result of this step is one uni ed glossary with the
index terms from all the textbooks. The number 1 in Fig. 3 illustrates that the
uni cation of the di erent terms from the textbook forms the uni ed glossary.
4.2
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>Glossary - ontology linking</title>
        <p>The next step in the methodology is to link the terms from the glossary to the
concepts in the Python ontology.</p>
        <p>First, the concepts in the Python ontology are extracted. For each concept,
both the single name (e.g., while) and the compound name with the parent
classes (e.g., while &lt;&gt; iteration statement &lt;&gt; statement &lt;&gt; python language
&lt;&gt; python) are retrieved. Then, a linking strategy is applied. First, glossary
terms are linked to the Python concepts using exact textual matching between
the di erent labels of the terms and the single name of the concepts. Then,
stemming is applied to nd more matches. Third, a small list of abbreviations
is used. The list was created manually since the Python ontology uses some
abbreviated names (e.g. int and div ) that appear with a full name in the glossary
(e.g., integer and division). Fourth, the parent classes of the Python concepts are
used. Since the class hierarchy in the Python ontology has a deeper granularity
than the names used in the textbooks, matches between a complete glossary
term and a partial compound concept name are accepted. For example, the
glossary term if statement is linked to the concept if &lt;&gt; selection statement &lt;&gt;
statement &lt;&gt; python language &lt;&gt; python since the term matches the concept's
single name (if ) and one of its parent classes (statement ). Finally, the glossary
terms that are not linked to any Python concept are compared to the inner
classes of the Python ontology (e.g., Boolean Expression) using the mentioned
strategies (textual matching, stemming, and synonyms). The result of this step
is that the linked glossary terms have a Python concept as an external concept
(e.g., fPF: if statement; AL: statement &lt;&gt; if, statement &lt;&gt; conditional; EC:
if g). The number 2 in Fig. 3 illustrates the linking between the terms in the
glossary and the concepts from the Python ontology used in P4.
4.3</p>
      </sec>
      <sec id="sec-3-5">
        <title>Granular content linking</title>
        <p>The nal step is to linking the textbooks from Intextbooks with the learning
activities from P4.</p>
        <p>Textbook sub-chapters to P4 First, a list of the concepts introduced in each
topic is extracted from P4. Then, for each textbook, the linked glossary terms
to Python concepts are used to get the individual index terms in the textbook
associated with the external concepts. After that, we get from the knowledge
models the sub-chapters associated with the index terms. Now, we have
subchapters mapped to index terms, index terms mapped to concepts, and concepts
mapped to topics. Finally, using the concepts as a bridge, we link each
subchapter to the topics in P4 where the Python concepts are introduced. This
sub-step in represented with the number 3.1 in Fig. 3.</p>
        <p>P4 learning activities to textbook sub-chapters In P4, each learning
activity has a set of associated concepts, plus the topic where it is used. We rst
extract this list of learning activities and compute the topics that are
prerequisites using the associated concepts and the topics where they are introduced.
Then, for each sub-chapter linked to a topic in P4, we select as candidates the
learning activities that belong to the same topic and have one of the concepts
associated with the sub-chapter. Then, we check that the topic prerequisites for
each learning activity have been introduced in other previous sub-chapters. If all
the prerequisites are met, we create a sub-chapter-learning activity pair. This
sub-step is represented with the number 3.2 in Fig. 3.
5</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Results</title>
      <p>
        We applied our methodology using 5 di erent Python textbooks ([
        <xref ref-type="bibr" rid="ref19 ref24 ref32 ref41 ref46">19, 24, 32, 41,
46</xref>
        ]) and the mentioned Python ontology. In this section, we describe and analyze
the obtained data for each step of the methodology.
      </p>
      <p>Knowledge model extraction and glossary uni cation After creating the
knowledge models for the textbooks, we got a variate number of index terms in
each one (817, 848, 834, 451, 1105), producing a total of 4055 di erent elements.
After merging the terms, we got a uni ed glossary with 3250 elements (a
reduction of almost 20%). Additionally, when processing the Python ontology, we got
108 elements: 73 leaf concepts and 35 inner classes.</p>
      <p>Glossary - ontology linking After linking the terms in the glossary to the
elements in the Python ontology, we got 53 instances. Some terms in the glossary
were linked to the same Python concept. Thirty-six concepts and ten classes from
the Python ontology were linked to the 53 terms in the glossary.
Granular content linking At the nal step of the methodology, we got
multiple contents linked in both systems. First, 266 di erent index terms from the ve
textbooks were linked to 217 concepts and 49 classes from the Python ontology.
Of those 266 terms, only 186 are linked to concepts used in P4, since not all
the Python concepts from the ontology are currently a part of the system.
Using the linked index terms and the Python concepts, 245 di erent sub-chapters
from all the textbooks were mapped to the topics in P4. The number of linked
sub-chapters for each topic is as follows: 36 to `Variables and Operations', 35 to
`Boolean Expressions', 12 to `If-Else', 3 to `While Loops', 19 to `For Loops', 40
to `Functions', 49 to `Lists', 11 to `Dictionary', 17 to `Strings', 3 to `File
Handling', 5 to `Exceptions', and 15 to `Classes Objects'. Regarding linking learning
activities to sub-chapters, 2240 possible mappings were analyzed, from which
1790 ful lled the prerequisite restrictions. If we only assign each learning
activity once in the whole textbook, instead of to multiple sub-chapters, the average
of unique learning activities mapped per textbook is 67, from a total of 157
di erent activities available in P4.</p>
      <p>General Analysis The obtained data shows that despite the small number of
glossary terms that are matched to Python concepts (53), the number of both
linked sub-chapters to topics (245) and the learning activities to sub-chapters
(1790) is promising. P4 can bene t from incorporating textual material
explaining the concepts used in each topic. Additionally, multiple textbooks enable
more personalization: a student can select one or more textbooks to get the
textual material recommendations according to their preferences. Intextbooks
can present additional interactive content to the learners as they progress and
navigate throughout a textbook.</p>
      <p>
        Currently, we link the same learning activity to all the tting sub-chapters
within a textbook, which will cause problems if the textbook is read sequentially.
This approach has been used because Intextbooks could generate personalized
navigation paths for each student. Hence, it is helpful to have an extensive
mapping of learning activities. The system will need to be aware of this situation
and not display learning activities that have been seen already in previous
subchapters. Finally, the order of topics and the association of concepts to learning
activities in P4 allows the comparison of prerequisite-outcome relations with the
textbooks. As we found, the order of topics in four of the ve textbooks was
similar to the one in P4. However, textbook [
        <xref ref-type="bibr" rid="ref46">46</xref>
        ] was an exception, producing no
links to learning activities since the required prerequisites were not introduced
before, or not at all, in the textbook. Since the purpose of the textbook was not
to teach Python but to use it for data science, the author assumes familiarity
with the language, resulting in fewer programming concepts being introduced.
6
      </p>
    </sec>
    <sec id="sec-5">
      <title>Validation</title>
      <p>In order to assess the automatic concept linking approach described above, two
domain experts with experience on teaching Python independently rated the
match quality (appropriateness) of the textbook sections conceptually linked to
each of the topics presented in the P4 system. The following rating schema was
used: 3 as a good match, 2 as a partial match, and 1 as a bad match. 55 sections
of the \Python for Everybody" textbook were automatically associated to one
of the 17 topics of the Python course. Note that the topical structure of that
Python course was de ned by Python instructors from several universities, who
used P4 systems in to support Python practice in their courses. After the scoring,
the results were examined to determine possible causes for the discovered bad
matches. The examination revealed that a number of low matching scores were
produced by the sections titled as \Glossary" that were included in each chapter
rather than assembled at the end of the book in a more traditional way. The
nature of these sections make them poor independent learning resources since
they served as a reminder of already learned content. We decided to exlude these
sections from matching and evaluation.</p>
      <p>After glossaries were removed, inter-reliability between raters was calculated.
using weighted Cohen's Kappa. The resulting Kappa 0.63 is considered as
moderate inter-reliability. Given that raters did not have made ratings fully
independently and that they only had access to a very short and concise description of
the rating schema, this result is deemed as positive. The main disagreement was
registered in the topics of Boolean Expressions, and Lists/ Strings. The point of
disagreement here was that in the textbook some chapters introduce some
concepts blended together (e.g., boolean operators and if statement ) while in the P4
course they are clearly separated and taught one after another (i.e., rst boolean
expressions, and then if-else). In terms of general mutual agreement, both raters
coincided in thinking that there was a good match in 45% of the textbook
associations, a partial match in 12% of the cases and a bad match in 14% of the
total linkages. Considering the evaluations that lead to disagreement (29%), 17%
involved positive evaluations (either one of the two ratings as 3 or 2), while only
a 12% lead a bad rating for the match. Finally, in total, 74% of raters' pairs of
evaluations were at least either partial or good matches, so we can conclude that
the automatic linking approach that we followed lead to acceptable good results
which can be used in the context of automatic integration of learning content.
7</p>
    </sec>
    <sec id="sec-6">
      <title>Discussion and Future Work</title>
      <p>In this paper we demonstrated that a two-way linking between textbook sections
and smart learning content items could be generated by automatic extraction of
concepts from programming textbooks using a combination of textbook
metadata and di erent ontologies as underpinning tools for this task (e.g., DBPedia,
Python ontology). We consider our work as the rst step to resolving the problem
of automatic linking and plan to continue research in this direction.</p>
      <p>Given that the textbook concept extraction works by analyzing the textual
content, a natural next step would be exploring a more \ ne-grained"
association of concepts, e.g., at a paragraph level rather than on section level. This
approach will enable us to recommend practice learning material to the users \in
context", right after the student reads the corresponding lines where a concept
is introduced. In a similar way, given that the textual information presented in
the textbook generally focuses on presenting the concepts in an introductory
way, a more \ ne-grained" association in terms of textual units will enable us
to recommend remedial reading when students fail in certain learning activities
which could re ect the learner's misconception(s) on certain concept(s).</p>
      <p>
        One potential problem of the proposed methodology is that the index terms
from the textbooks are not always a high-quality representation of a domain.
They can potentially su er from high subjectivity, poor coverage and
granularity, lack of semantics, and ambiguity. For example, in one of the textbooks used,
the term \tuple" is used both to refer to the Python data type and a database
tuple. Another problem speci c to the programming domain is how to di
erentiate reserved keywords from natural language in the content accurately (e.g.,
for \if" or \or"). Finally, although the used knowledge models have been
created for di erent domains (statistics, history, computer science, literature, and
information retrieval [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]), the integration with other types of content than the
one used in this research is an exciting path to follow.
      </p>
      <p>To more reliably assess the value of our current approach and its suggested
extensions, each linking approach and its interface implementation has to be
evaluated in classroom studies from the prospect of pedagogical usefulness and
quality of integration between online textbooks and online practice systems.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. ADL Initiative:
          <article-title>Shareable content object reference model</article-title>
          .
          <source>technical speci cation (4th ed.)</source>
          . https://www.adlnet.gov/assets/uploads/SCORM 2004 4ED
          <article-title>v1 1 Doc Suite</article-title>
          .zip (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>ADL</given-names>
            <surname>Initiative</surname>
          </string-name>
          <article-title>: Experience API</article-title>
          . https://github.com/adlnet/xAPISpec/blob/master/xAPI-About.md (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Agrawal</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gollapudi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kannan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kenthapadi</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Study navigator: An algorithmically generated aid for learning from electronic textbooks</article-title>
          .
          <source>Journal of Educational Data Mining</source>
          <volume>6</volume>
          (
          <issue>1</issue>
          ) (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Alpizar-Chacon</surname>
            , I., van der Hart,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wiersma</surname>
            ,
            <given-names>Z.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Theunissen</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sosnovsky</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Transformation of pdf textbooks into intelligent educational resources</article-title>
          .
          <source>In: Proceedings of the Second Workshop on Intelligent Textbooks</source>
          . vol.
          <volume>2674</volume>
          , pp.
          <volume>4</volume>
          {
          <fpage>16</fpage>
          .
          <string-name>
            <surname>CEUR-WS</surname>
          </string-name>
          (
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Alpizar-Chacon</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sosnovsky</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Expanding the web of knowledge: One textbook at a time</article-title>
          .
          <source>In: Proceedings of the 30th ACM Conference on Hypertext and Social Media</source>
          . p.
          <volume>9</volume>
          {
          <fpage>18</fpage>
          . HT '
          <volume>19</volume>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA (
          <year>2019</year>
          ). https://doi.org/10.1145/3342220.3343671
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Alpizar-Chacon</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sosnovsky</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Order out of chaos: Construction of knowledge models from pdf textbooks</article-title>
          .
          <source>In: Proceedings of the ACM Symposium on Document Engineering</source>
          <year>2020</year>
          . DocEng '20,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA (
          <year>2020</year>
          ). https://doi.org/10.1145/3395027.3419585
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Alpizar-Chacon</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sosnovsky</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Knowledge models from pdf textbooks</article-title>
          .
          <source>New Review of Hypermedia and Multimedia</source>
          pp.
          <volume>1</volume>
          {
          <issue>49</issue>
          (
          <year>2021</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Anderson</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reiser</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>The lisp tutor</article-title>
          .
          <source>Byte</source>
          <volume>10</volume>
          (
          <issue>4</issue>
          ),
          <volume>159</volume>
          {
          <fpage>175</fpage>
          (
          <year>1985</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Barria-Pineda</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brusilovsky</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>He</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          : Reading mirror:
          <article-title>Social navigation and social comparison for electronic textbooks</article-title>
          .
          <source>In: Proceedings of the First Workshop on Intelligent Textbooks co-located with 20th International Conference on Articial Intelligence in Education (AIED</source>
          <year>2019</year>
          ), Chicago, IL, USA, June 25,
          <year>2019</year>
          . CEUR Workshop Proceedings (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Boyle</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gray</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wendl</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Davies</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Taking the plunge with clem: the design and evaluation of a large scale cal system</article-title>
          .
          <source>Computers and Education</source>
          <volume>22</volume>
          (
          <issue>1</issue>
          /2),
          <volume>19</volume>
          {
          <fpage>26</fpage>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Brown</surname>
            ,
            <given-names>M.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Najork</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          :
          <article-title>Collaborative active textbooks</article-title>
          .
          <source>Journal of Visual Languages and Computing</source>
          <volume>8</volume>
          (
          <issue>4</issue>
          ),
          <volume>453</volume>
          {
          <fpage>486</fpage>
          (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Brusilovsky</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Knowledgetree: A distributed architecture for adaptive e-learning</article-title>
          .
          <source>In: Proceedings of the 13th international World Wide Web conference on Alternate track papers &amp; posters</source>
          . pp.
          <volume>104</volume>
          {
          <issue>113</issue>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Brusilovsky</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Edwards</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kumar</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malmi</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benotti</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buck</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ihantola</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prince</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , Sirkia,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Sosnovsky</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          , et al.:
          <article-title>Increasing adoption of smart learning content for computer science education</article-title>
          .
          <source>In: Proceedings of the Working Group Reports of the 2014 on Innovation &amp; Technology in Computer Science Education Conference</source>
          . pp.
          <volume>31</volume>
          {
          <issue>57</issue>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Brusilovsky</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schwarz</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weber</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>ELM-ART: An intelligent tutoring system on world wide web</article-title>
          . In: Frasson,
          <string-name>
            <surname>C.</surname>
          </string-name>
          , Gauthier,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Lesgold</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.)
          <source>Third International Conference on Intelligent Tutoring Systems, ITS-96. Lecture Notes in Computer Science</source>
          , vol.
          <volume>1086</volume>
          , pp.
          <volume>261</volume>
          {
          <fpage>269</fpage>
          . Springer Verlag (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Brusilovsky</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schwarz</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weber</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>Electronic textbooks on www: from static hypertext to interactivity and adaptivity</article-title>
          . In: Khan,
          <string-name>
            <surname>B.H</surname>
          </string-name>
          . (ed.)
          <source>Web Based Instruction</source>
          , pp.
          <volume>255</volume>
          {
          <fpage>261</fpage>
          . Educational Technology Publications, Englewood Cli s, New Jersey (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Brusilovsky</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sosnovsky</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shcherbinina</surname>
            ,
            <given-names>O.:</given-names>
          </string-name>
          <article-title>User modeling in a distributed elearning architecture</article-title>
          .
          <source>In: International conference on user modeling</source>
          . pp.
          <volume>387</volume>
          {
          <fpage>391</fpage>
          . Springer (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Chaudhri</surname>
            , V.K., Cheng,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Overtholtzer</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roschelle</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Spaulding</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clark</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Greaves</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gunning</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Inquire biology: A textbook that answers questions</article-title>
          .
          <source>AI</source>
          Magazine
          <volume>34</volume>
          (
          <issue>3</issue>
          ),
          <volume>55</volume>
          {
          <fpage>72</fpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Dolog</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nejdl</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Semantic web technologies for the adaptive web</article-title>
          .
          <source>In: The adaptive web</source>
          , pp.
          <volume>697</volume>
          {
          <fpage>719</fpage>
          . Springer (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Downey</surname>
            ,
            <given-names>A.: Think</given-names>
          </string-name>
          <string-name>
            <surname>Python</surname>
          </string-name>
          . Green Tea Press, 2nd edn. (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Edwards</surname>
            ,
            <given-names>S.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Murali</surname>
            ,
            <given-names>K.P.</given-names>
          </string-name>
          : Codeworkout:
          <article-title>Short programming exercises with built-in data collection</article-title>
          .
          <source>In: 2017 Annual Conference on Innovation and Technology in Computer Science Education, ITiCSE'17</source>
          . pp.
          <volume>188</volume>
          {
          <fpage>193</fpage>
          . ACM Press (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Ericson</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>An analysis of interactive feature use in two ebooks</article-title>
          .
          <source>In: Proceedings of the First Workshop on Intelligent Textbooks co-located with 20th International Conference on Arti cial Intelligence in Education (AIED</source>
          <year>2019</year>
          ), Chicago, IL, USA, June 25,
          <year>2019</year>
          .
          <source>CEUR Workshop Proceedings</source>
          , vol.
          <volume>2384</volume>
          , pp.
          <volume>4</volume>
          {
          <fpage>17</fpage>
          .
          <string-name>
            <surname>CEUR-WS.org</surname>
          </string-name>
          (
          <year>2019</year>
          ), http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>2384</volume>
          /paper01.pdf
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Guerra</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hosseini</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Somyurek</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brusilovsky</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>An intelligent interface for learning content: Combining an open learner model and social comparison to support self-regulated learning and engagement</article-title>
          .
          <source>In: Proceedings of the 21st international conference on intelligent user interfaces</source>
          . pp.
          <volume>152</volume>
          {
          <issue>163</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Guerra</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sosnovsky</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brusilovsky</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>When one textbook is not enough: Linking multiple textbooks using probabilistic topic models</article-title>
          . In:
          <string-name>
            <surname>Hernandez-Leo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ley</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klamma</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harrer</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          . (eds.)
          <article-title>Scaling up Learning for Sustained Impact</article-title>
          . pp.
          <volume>125</volume>
          {
          <fpage>138</fpage>
          . Springer Berlin Heidelberg, Berlin, Heidelberg (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Guttag</surname>
          </string-name>
          , J.:
          <article-title>Introduction to computation and programming using Python, Revised</article-title>
          and
          <string-name>
            <given-names>Expanded</given-names>
            <surname>Edition</surname>
          </string-name>
          . The MIT Press (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Hardt</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , et al.:
          <article-title>The oauth 2.0 authorization framework (</article-title>
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Hosseini</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brusilovsky</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Javaparser: A ne-grain concept indexing tool for java problems</article-title>
          . In: The First Workshop on
          <article-title>AI-supported Education for Computer Science</article-title>
          (AIEDCS
          <year>2013</year>
          ). pp.
          <volume>60</volume>
          {
          <issue>63</issue>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Hughes</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cantor</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hodges</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hirsch</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mishra</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Philpott</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maler</surname>
          </string-name>
          , E.:
          <article-title>Pro les for the oasis security assertion markup language (saml) v2. 0. OASIS standard (</article-title>
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28. IEEE:
          <article-title>IEEE standard for learning object metadata</article-title>
          . https://standards.ieee.org/standard/1484 12
          <fpage>1</fpage>
          -
          <lpage>2020</lpage>
          .html (
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29. IMS Global:
          <article-title>Learning tools interoperability core speci cation</article-title>
          . https://www.imsglobal.org/spec/lti/latest/ (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30. IMS Global:
          <article-title>Caliper analytics speci cation</article-title>
          . https://www.imsglobal.org/spec/caliper/latest/ (
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Kay</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kummerfeld</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lauder</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Personis: a server for user models</article-title>
          .
          <source>In: International Conference on Adaptive Hypermedia and Adaptive Web-Based Systems</source>
          . pp.
          <volume>203</volume>
          {
          <fpage>212</fpage>
          . Springer (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Kazil</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jarmul</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Data wrangling with Python</article-title>
          .
          <source>O'Reilly</source>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <surname>Liesaputra</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Witten</surname>
            ,
            <given-names>I.H.</given-names>
          </string-name>
          :
          <article-title>Seeking information in realistic books: A user study</article-title>
          .
          <source>In: Joint Conference on Digital Libraries</source>
          ,
          <string-name>
            <surname>JCDL</surname>
          </string-name>
          <year>2008</year>
          . pp.
          <volume>29</volume>
          {
          <issue>38</issue>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <string-name>
            <surname>Linn</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>How can hypermedia tools help teach programming</article-title>
          .
          <source>Learning and Instruction 2</source>
          ,
          <issue>119</issue>
          {
          <fpage>139</fpage>
          (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          35.
          <string-name>
            <surname>Meng</surname>
            , R., Han,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>He</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brusilovsky</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Knowledge-based content linking for online textbooks</article-title>
          .
          <source>In: 2016 IEEE/WIC/ACM International Conference on Web Intelligence (WI)</source>
          . pp.
          <volume>18</volume>
          {
          <fpage>25</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          36.
          <string-name>
            <surname>Naps</surname>
            ,
            <given-names>T.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eagan</surname>
            ,
            <given-names>J.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Norton</surname>
            ,
            <given-names>L.L.</given-names>
          </string-name>
          :
          <article-title>Jhave { an environment to actively engage students in web-based algorithm visualizations</article-title>
          . In: Thirty- rst
          <source>SIGCSE Technical Symposium on Computer Science Education</source>
          . vol.
          <volume>32</volume>
          , pp.
          <volume>109</volume>
          {
          <fpage>113</fpage>
          . ACM Press (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          37.
          <string-name>
            <surname>Parsons</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haden</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Parson's programming puzzles: a fun and e ective learning tool for rst programming courses</article-title>
          .
          <source>In: Proceedings of the 8th Australasian Conference on Computing Education-</source>
          Volume
          <volume>52</volume>
          . pp.
          <volume>157</volume>
          {
          <issue>163</issue>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          38.
          <string-name>
            <surname>Porter</surname>
            ,
            <given-names>M.F.</given-names>
          </string-name>
          :
          <article-title>Snowball: A language for stemming algorithms (</article-title>
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          39.
          <string-name>
            <surname>Rada</surname>
          </string-name>
          , R.:
          <article-title>Converting a textbook to hypertext</article-title>
          .
          <source>ACM Transactions on Information Systems</source>
          <volume>10</volume>
          (
          <issue>3</issue>
          ),
          <volume>294</volume>
          {
          <fpage>315</fpage>
          (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          40.
          <string-name>
            <surname>Sakimura</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bradley</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jones</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Medeiros</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mortimore</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Openid connect core 1.0</article-title>
          . The OpenID Foundation p.
          <source>S3</source>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          41.
          <string-name>
            <surname>Severance</surname>
            ,
            <given-names>C.R.</given-names>
          </string-name>
          :
          <article-title>Python for everybody exploring data using Python 3 (</article-title>
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          42. Sha er, C.:
          <string-name>
            <surname>Opendsa</surname>
          </string-name>
          :
          <article-title>An interactive etextbook for computer science courses</article-title>
          .
          <source>In: Proceedings of the 47th ACM Technical Symposium on Computing Science Education</source>
          . pp.
          <volume>5</volume>
          {
          <issue>5</issue>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref43">
        <mixed-citation>
          43.
          <string-name>
            <surname>Sosnovsky</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dolog</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Henze</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brusilovsky</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nejdl</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Translation of overlay models of student knowledge for relative domains based on domain ontology mapping (</article-title>
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref44">
        <mixed-citation>
          44.
          <string-name>
            <surname>Sosnovsky</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hsiao</surname>
            ,
            <given-names>I.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brusilovsky</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Adaptation \in the wild": ontologybased personalization of open-corpus learning material</article-title>
          .
          <source>In: European Conference on Technology Enhanced Learning</source>
          . pp.
          <volume>425</volume>
          {
          <fpage>431</fpage>
          . Springer (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref45">
        <mixed-citation>
          45.
          <string-name>
            <surname>Trella</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carmona</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Conejo</surname>
          </string-name>
          , R.:
          <article-title>Medea: An open service-based learning platform for developing intelligent educational systems for the web</article-title>
          .
          <source>In: Workshop on Adaptive Systems for Web-Based Education: tools and reusability (AIED'05)</source>
          . pp.
          <volume>27</volume>
          {
          <issue>34</issue>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref46">
        <mixed-citation>
          46.
          <string-name>
            <surname>Vanderplas</surname>
          </string-name>
          , J.T.:
          <article-title>Python data science handbook: essential tools for working with data. O'Reilly, 1st edn</article-title>
          . (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref47">
        <mixed-citation>
          47.
          <string-name>
            <surname>Weber</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>Cognitive diagnosis and episodic modelling in an intelligent lisp-tutor</article-title>
          . In: C.,
          <string-name>
            <surname>F</surname>
          </string-name>
          . (ed.)
          <source>Intelligent Tutoring Systems</source>
          . pp.
          <volume>207</volume>
          {
          <fpage>214</fpage>
          . Univ. of Montreal,
          <year>artc106</year>
          (
          <year>1988</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref48">
        <mixed-citation>
          48.
          <string-name>
            <surname>Winchell</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mozer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grimaldi</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pashler</surname>
          </string-name>
          , H.:
          <article-title>Can textbook annotations serve as an early predictor of student learning?</article-title>
          <source>In: the 11th International Conference on Educational Data Mining</source>
          . pp.
          <volume>431</volume>
          {
          <issue>437</issue>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref49">
        <mixed-citation>
          49.
          <string-name>
            <surname>Yudelson</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brusilovsky</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          : Navex:
          <article-title>Providing navigation support for adaptive browsing of annotated code examples</article-title>
          . In: Looi,
          <string-name>
            <given-names>C.K.</given-names>
            ,
            <surname>McCalla</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Bredeweg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Breuker</surname>
          </string-name>
          ,
          <string-name>
            <surname>J</surname>
          </string-name>
          . (eds.) 12th International Conference on Arti cial Intelligence in Education, AI-Ed'
          <year>2005</year>
          . pp.
          <volume>710</volume>
          {
          <fpage>717</fpage>
          . IOS Press (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>