<!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 />
    <article-meta>
      <title-group>
        <article-title>Computer Intelligent Tutoring System “SQLTOR”</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ievgen Vagin</string-name>
          <email>ie.s.vagin@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Olena Havrylenko</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Juan Pablo Martínez Bastida</string-name>
          <email>jpbastida@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andrey Chukhray</string-name>
          <email>achukhray@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>National Aerospace University</institution>
          ,
          <addr-line>KhAI, Kharkiv</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Intelligent tutoring systems are required in different spheres, especially in IT. The presented system “SQLTOR” provides supporting tools for teachers and an adaptive tutoring approach for SQL students as well. Tutoring course in SQLTOR consists of task sequences ordered by complexity. Clustering and ordering are automatically performed based on student's degree of mastery of the relevant knowledge components in the learning domain. Thus, course structure allows gradually increase or decrease tasks complexity during tutoring process. SQLTOR provides hints which depend on learner's mistakes and the task content. Hints are automatically generated based on comparison of a student's SQL query with the referred one or are manually customized. The structure of SQLTOR, task grouping (clustering), ordering methods, SQLTOR tutoring modes and its behavior when a student makes mistakes are also described in this paper. As a conclusion, testing results from a group of students at National Aerospace University “Kharkiv Aviation Institute” are provided.</p>
      </abstract>
      <kwd-group>
        <kwd>Intelligent Tutoring System authoring tool</kwd>
        <kwd>SQL computer learning</kwd>
        <kwd>clustering</kwd>
        <kwd>competence components</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Implementation of computer tutoring programs (CTP) is one of the highest priority
directions in educational tools evolution. This fact is reasoned by numerous advantages
of CTP usage over the classical approach: adoption for a particular student, wide
possibilities of virtual modeling of real objects and processes, decrease in time and work
efforts for completion, verification of tutoring courses, e-learning facilities, etc.</p>
      <p>
        Intelligent Tutoring Systems (ITS) are characterized by supporting inner and outer
tutoring loops [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], minimal feedback (prompting hints and advices), nonlinear learning
path, dynamic and customizable knowledge base, and self-learning support [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. ITS
usually include three main structural elements: a domain model, a student model and a
pedagogical model [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ], but researchers also often incorporate an interface model as
the fourth element [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Special software is usually developed to overcome ITS
development difficulties and it is commonly called as ITS Authoring Tools [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Users of ITS
Authoring Tools need only basic knowledge in computing and minimal programming
skills. Examples of ITS Authoring Tools are: DIAG, RIDES, SIMQUEST, XAIDA,
Demonstr8, D3, TRAINER, ASPIRE, GTE, REDEEM, Eon, Interbook, MetaLinks,
CALAT, CTAT [
        <xref ref-type="bibr" rid="ref3 ref4 ref5">3-5</xref>
        ], etc. An actual problem in ITS development is a problem of
clustering tutoring tasks. Clustering of tasks provides additional possibilities for the
pedagogical model to select a next task according to the gradual difficulty incremental
principle. A further problem is to provide adaptive hints in the context of certain subject
area. A hint must be generated according to the place and type of student’s mistake and
assumes possibility of alpha and beta errors.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Research Purposes</title>
      <p>ITS Authoring Tools must be an easy-for-using tool to simplify ITS development
process. SQLTOR is a computer software designed with a “thick” architecture that allows
building a distributed system by using existed data transfer protocols without requiring
synchronizing system database between different computers.</p>
      <p>
        Common structural elements of ITS are discussed in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], they utilize specific
elements of knowledge – Knowledge Components (KCs) [
        <xref ref-type="bibr" rid="ref1 ref5">1, 5</xref>
        ]. In the SQL tutoring
domain, solutions are usually represented as queries. A query is registered as a solution
of related tasks by applying one or more KCs. An example of the possible domain
model structure is represented on Fig. 1.
Clusters on Fig. 1, are used to define groups of similar tasks. Similarity of tasks can be
estimated from the intersection between KCs sets. KCs sets can be allocated by etalon
queries registered as solutions for a particular task. Complexity can be decreased by
means of automated clustering. General ITS development stages are shown on Fig. 2.
Available author actions are represented by rectangles, arrows shows order of actions
and rounded rectangles sign conditions for actions.
      </p>
      <p>Student knowledge can be represented as a set of value pairs {KCi , lKCi } , where
KCi – knowledge component and lKCi – mastering degree estimation of KCi . Values
of lKCi can be changed in accordance with the student success. Correct answers cause
increment of the corresponding lKCi values and incorrect ones cause a decrement.
All data required by SQLTOR is stored in two databases. The first of them is used for
executing user queries and retrieve resulting rows to compare with the expected results.
Second database is used to store data required for making tutoring decisions depicted
on Fig. 3.
Clustering algorithm in SQLTOR uses a specific method of fD calculation that can be
used for estimation of Qi and C j dissimilarity. Hamming distance can be used for
such purpose: hij   xic  x jc , where  is a binary XOR operation. Queries that
have equal similarities with two or more centroids will be set into a cluster with less
amount of etalons at the current algorithm iteration. Let specify distance calculation
as follows:</p>
      <p>Dij  fD Qi , C j   hij Qi , C j    j
  cn1xic  y jc   j
 ,
where hij is a function for calculating distance between the i th query and j th centroid;
|  j | is the number of queries in the j th cluster; |  | is total number of queries.
Correction |  j | / | {Qi} | is required to provide even distribution of queries in clusters.</p>
      <p>Another peculiarity of SQLTOR clustering algorithm is related to the calculation of
fC ( j ) . Each variable y jc in tuple C*j  fC ( j ) , must be true, with a probability
proportional to the number of true xic variables included in queries Qi   j . We can
obtain frequency of the c th KC inclusion in queries of a j th cluster as:</p>
      <p>Fjc  1  j    xicQi j xic .</p>
      <p>Sum of xic is the number of true variables xic  Qi   j . Variable y jc is initialized
by “1”, if frequency Fjc is greater than certain value of threshold frequency F .
Otherwise, y jc must be initialized by “0” when Fjc  F . Thus, we can perform calculation
of C*j as follows:</p>
      <p>C*j  fC  j   fC* xi1 ,..., fC* xin  ,</p>
      <p>1, if Fjc  F,
fC* xic  
0, if Fjc  F,
xic  Qi   j.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Task Ordering in the Outer Loop</title>
      <p>(2)
(3)
(4)
(5)
Outer tutoring loop is responsible for selecting a next task in the educational flow.
SQLTOR manages tasks in order to provide a more effective scenario for the passing
course. SQLTOR can only use complexities for KCs, complexities of queries and tasks
can be automatically calculated. Complexity of etalon query Qi is calculated as
follows:
where PQi is complexity of query Qi ; Pxic is complexity of c th KC (if c th KC is not
in relation with query Qi , then Pxic  0 ). Complexity of tasks is defined as maximal
complexity of queries that are associated with a task:</p>
      <p>PQi  cn1Pxic ,
xic  Q ,</p>
      <p>i</p>
      <p>PT  maxQiT PQi ,
where PT is complexity of the task T ; PQi is complexity of query Qi , which is one of
the solutions for task T . Average complexity of etalon queries is also calculated in the
same cluster:</p>
      <p>PCj  1 N j   i PQi , Qi  j .
(6)
5</p>
    </sec>
    <sec id="sec-4">
      <title>Tutoring Method Description</title>
      <p>SQLTOR analyzes student’s solutions by means of Abstract Syntax Trees (AST),
which can be built based on a SQL query syntax structure. This approach gives
possibility to avoid α and β-errors in student’s solutions analysis and automatically generate
hints. AST is a tree whose leaf nodes are operands, and other nodes are operators. In
order to construct the AST for a particular SQL query, let us assume language
keywords, such as SELECT, FROM, and other as operators and consider the construction
of an AST of SQL language for the following query example:
SELECT name, salary FROM employees
WHERE salary&gt;1000 ORDER BY salary DESC
The root of the AST is a synthetic node and the analysis of the query string is made
from the beginning to the end, therefore, first keyword is SELECT. Column names in
the result will be the child nodes, similarly to SELECT and the operator FROM. Besides
the WHERE clause has a sub-operator "&gt;", which will be the children of the node
WHERE, and its operands that will respectively be children of the "&gt;" node. ORDER
BY clause is processed like other sections, except the keyword DESC. Node
corresponding to DESC keyword will be the leaf one. AST of etalon query is provided on
Fig. 4. We consider one of the possible situations when student’s solution is:
SELECT name, salary FROM employees ORDER BY salary DESC
Nodes at current level hi are compared pairwise in consideration of parent node at
each iteration of the algorithm. In the case of inequality of nodes, student AST is
considered as wrong. This search strategy is the most effective, because general query
components are at high levels in the AST structure.</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>SQLTOR tests were performed on a group of 29 students. Tutoring course contained
47 tasks with 67 etalons. This list was extended by 25 new etalons after the testing
process. New etalons were found from 9 students. All 29 students fully completed the
course and solved the most complex tasks in each cluster. Testing outcomes exceed
input testing results by 27% average. 16 of 25 students made mistakes in each task, but
during output test, each student correctly solved at least two tasks. This indicates
effectiveness of SQLTOR as a tool for supporting educational process on learning SQL
programming language. Moreover, it provides the necessary creational tools for teachers
of SQL courses. In addition, software provides ITS features to help students in
acquiring SQL knowledge. It can be used for supporting learning process as well as
selflearning and self-testing. System uses PostgreSQL database and is written in Java.</p>
      <p>SQLTOR proposes to simplify work for authoring a tutoring course, it also includes
several tools and features of tutoring tasks clustering, AST comparison algorithms of
user and etalon solutions, represents knowledge as a set of knowledge components,
supports sorting of tasks, etalons and clusters to provide a soft increment/decrement of
the tutoring complexity.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>VanLehn</surname>
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>The behavior of tutoring Systems</article-title>
          . In:
          <source>International Journal Of Artificial Intelligence In Education</source>
          . vol.
          <volume>16</volume>
          (
          <issue>3</issue>
          ), pp.
          <fpage>227</fpage>
          -
          <lpage>265</lpage>
          . (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Self</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The defining characteristics of intelligent tutoring systems research: ITSs care, precisely</article-title>
          .
          <source>In: International Journal of AI in Education</source>
          . vol.
          <volume>10</volume>
          . pp.
          <fpage>350</fpage>
          -
          <lpage>364</lpage>
          . (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Beverly</surname>
            <given-names>P. W.</given-names>
          </string-name>
          :
          <article-title>Building intelligent interactive tutors: Student-centered strategies for revolutionizing e-learning</article-title>
          . In: Department of Computer Science, University of Massachusetts. pp.
          <fpage>480</fpage>
          . Amherst , USA. (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Murray</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blessing</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ainsworth</surname>
            <given-names>S.:</given-names>
          </string-name>
          <article-title>An overview of intelligent tutoring system authoring tools: Updated Analysis of the State of the Art</article-title>
          . In:
          <article-title>Authoring Tools for Advanced Technology Learning Environments</article-title>
          . pp.
          <fpage>491</fpage>
          -
          <lpage>497</lpage>
          . Kluwer Academic Publishers, Dordrecht, Netherlands. (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Kulik</surname>
            <given-names>A.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chukhray</surname>
            <given-names>A.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pedan</surname>
            <given-names>S.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ancenberger</surname>
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Универсальная среда создания и трансляции интеллектуальных обучающих программ (Intellectual systems of decisionmaking and problems of computational intelligence)</article-title>
          .
          <source>In: Proceedings of International Conference</source>
          . vol.
          <volume>1</volume>
          , pp.
          <fpage>189</fpage>
          -
          <lpage>192</lpage>
          . Kherson, KNTU. (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Mitrovic</surname>
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Evaluation of a Constraint-Based Tutor for a Database Language</article-title>
          . In:
          <source>International Journal of AI in Education</source>
          . vol.
          <volume>10</volume>
          . pp.
          <fpage>238</fpage>
          -
          <lpage>256</lpage>
          . (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Intelligent</given-names>
            <surname>Tutoring</surname>
          </string-name>
          <string-name>
            <surname>Systems</surname>
          </string-name>
          , Chapter 37 / Corbett, Koedinger &amp; Anderson / Chapter 37
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Vygotsky</surname>
            <given-names>L.S.:</given-names>
          </string-name>
          <article-title>Психология развития человека (Phychology of human development)</article-title>
          . (eds.) “Смысл” publishing; ЭКСМО. pp.
          <fpage>1136</fpage>
          . (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Parr</surname>
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>The Definitive ANTLR reference</article-title>
          .
          <source>Building Domain-Specific Languages. (eds.)</source>
          Pragmatic Bookshelf. pp.
          <fpage>376</fpage>
          . (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Baxter</surname>
            <given-names>I.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yahin</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moura</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sant'Anna</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bier</surname>
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Clone Detection Using Abstract Syntax Trees</article-title>
          .
          <source>In: Proceedings International Conference on Software Maintenance. vol. 8CB36272</source>
          , pp.
          <fpage>368</fpage>
          -
          <lpage>377</lpage>
          . (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>