|
| |
Logex -
An Intelligent Computer
Tutor in Logarithms
Lee Fong-lok
The Chinese University of Hong Kong
Abstract
The use of computer in education started more than thirty years ago.
In traditional computer assisted instruction systems, all responses have
to be preplanned and implemented at the designing stage. The system builders
must prespecify all available routes through the space of teaching possibilities.
Every test, every decision, every branch leading to some remedial material
and every exposition must be written in advance (Goodyear, 1991). When
considering the number of decision points with their corresponding responses,
the possible number of combinations, even for small tutoring systems, will
be enormous. This prevents computer assisted systems from being used in
larger subject areas. Recently, with the aid of knowledge representation
techniques originating from artificial intelligence, human knowledge can
be incorporated into computer systems. Based on the knowledge incorporated,
computer systems can now make judgments on students' responses and decide
on suitable responses to be made in real time. There is no need to pre-install
all the possible routes and decision points. The computer system is thus
smaller in a sense that less memory space is required on the hardware.
Besides, the responses generated in real time can be more flexible and
more adapted to students' needs. Logex is an example of such systems, called
intelligent tutoring systems which are designed to help students in simplifying
logarithmic expressions by working through the simplification process with
the students. This article describes its principles, structure and the
ways by which it helps students.
The use of computers in education, particularly in instruction, has
been in existence for more than thirty years. The goal of computer-assisted
instruction (CAI) is individualized instruction so that each student can
be instructed differently according to his or her level of expertise as
judged by the computer. In earlier approaches to such instruction programs
using conventional programming techniques, the system builders must prespecify
all available routes through the space of teaching possibilities. Every
test, every decision, every branch to some remedial material and every
exposition must be written in advance (Goodyear, 1991). This works fine
for simple programs, but when instructions become more complex, a combinatorial
problem arises: the number of decision points, branches and remedial materials
would be so large that either it would be difficult to input them into
any machine or the manpower involved would be tremendous.
A second approach to the problem is the designing of systems called
Intelligent Tutoring Systems (ITS) or Intelligent Computer Assisted Instruction
Systems(ICAI). The word 'intelligent' is used to denote that this kind
of work, when done by a human, is considered as intelligent (Self, 1988).
ITS takes a completely different approach from CAI by simulating what a
human tutor does during the instruction. When we observe what a human tutor
does in a tutoring process, we can see that he does not necessarily use
some prescribed sequence of rules. Rather, his procedures are either spontaneous
reactions to his student's needs or are based on strategies which have
proved effective. All these are based on the student's knowledge as inferred
from his responses, as well as the tutor's subject and pedagogical knowledge.
Human tutors do not always possess a distinct set of instructions for each
situation. What they need are the knowledge and the inference mechanisms
that can generate the decision in real time. As pointed out by Self (1988),
ICAI differs from CAI primarily in its focus on the representation of knowledge
of the subject matter and of pedagogical knowledge.
As only the knowledge in the form of rules but not the routes and decision
points are to be stored, simulating the human tutoring process has a further
advantage of reducing the memory space required in the hardware. Hence,
ITS can be used in more complex subject domains when compared with the
traditional CAI.
Knowledge in ITS
To store knowledge into ITSs, several techniques originally from the
field of artificial intelligence can be employed. This includes semantic
net or frames (Woolf, 1987), production systems (Anderson, 1992; Anderson,
Boyle, & Yost, 1985) and skill graph (Mao & Lin, 1992). Different
types of knowledge are involved in an ITS. Examples are knowledge of the
student (Baffes, 1996); knowledge of the domain (Giangrandi & Tasso,
1995) and knowledge of how to teach (Clancey, 1982; Marcke, 1992). It is
commonly agreed that four sets of knowledge should be included (Rambally,
1986; Woolf, 1987; Park, 1991; Garito, 1991) though they may be named differently.
The sets are:
 |
Domain knowledge: knowledge about the subject domain; |
 |
Student model: knowledge about the student; |
 |
Tutorial knowledge: knowledge about how to teach; |
 |
Communication knowledge: knowledge about how to communicate with the learner
through the computer. |
Each set of knowledge refers to a different kind of knowledge that an ITS
should have, though not all such systems would incorporate all of them.
Also, the arrangement of each set of knowledge in a system may not be the
same. Earlier systems may mix all kinds of knowledge together, while later
systems may put them into separate modules (Park, 1991). The separation
of knowledge into modules enables easy expansion of the knowledge base
of the system.
What is Logex
Logex is a simple ITS that helps to diagnose and correct students' errors
in doing logarithmic problems. It is considered simple in the sense that,
for the time being, it works only in a narrow subject area. However, the
design of Logex enables its easy expansion to larger subject areas without
any structural modification. The only limitations perceived are the speed
and demand on the hardware used, and most importantly, our understanding
of the problem solving processes of human beings.
Basically, Logex is a simulation of a human tutor's tutoring process.
The system does not work out the whole problem solving process in advance
to obtain some models to act as criteria for the students' performances.
Instead, it uses a "model tracing" methodology of tutoring (Reiser, Anderson,
& Farrell, 1985). At each stage of the process, the system infers the
learner's internal state by matching his output with the problem state
generated by using ideal (correct) and buggy (incorrect) rules stored in
the system. Instructions will then be given according to this inference.
Ways to obtain the ideal and buggy rules will be discussed in later sections.
The inference is made possible by two major components in Logex: a knowledge
base and an inferring mechanism. Just like other ITSs, the knowledge base
of Logex consists of the four types of knowledge described above. They
are expressed as sets of rules and are obtained through source materials
such as text books and students' exercises. On the other hand, while the
present system is developed by using the Prolog language, a common artificial
intelligence language, the inherent inferring ability of this language
makes the inferring mechanism of the present system possible.
How Logex works
The system starts with the computer screen divided into three parts,
named Blackboard, Notebook and Exercise Book respectively. The Blackboard
acts as a communication medium between the tutor and the student. It is
mainly used to display problems and messages from the tutor to the student.
The Notebook acts as a student notebook. In the present case, formulae
to be used for solving the problems are displayed. Lastly, the Exercise
Book is where the student works on the exercises. Fig. 1 shows the screen
arrangement at the start of the system.
----------------------------------------------
Insert Fig. 1 about here
----------------------------------------------
Problems given to the student are pre-arranged according to their levels
of difficulty and presented to the student sequentially. Problems are presented
both on the Blackboard and the Exercise Book and the student is then prompted
to simplify the given expression by typing in consecutively new expressions
which he thinks are simpler than the previous one. Each expression entered
represents a step in the simplification process and will be checked by
the computer. The computer responds by displaying on the Blackboard the
message "correct" if the student works correctly, or displays hints to
correct the errors. An expression is considered correct if it satisfies
the following conditions:
-
Correct syntax used: Logex recognises numbers, terms and symbols that should
appear in logarithmic expressions such as "log(5)" ,"3", "100", "+", "-",
"*", "/". Correct combination of the above will be accepted. Others are
treated as illegal.
-
A step leading to the correct solution: Logex includes a set of rules that
would lead to the correct answer to the problem when applied. Before a
new expression is entered into the system, Logex first stores up the old
expression, the one already entered, or the given problem if no expression
is entered. For the new expression, Logex checks whether it can be deduced
from the old expression by using one of the correct rules. If yes, the
expression will be accepted. Otherwise, it will be rejected.
Logex does not just reject incorrect inputs. Instead, based on the knowledge
(mal-rules) incorporated in the system, Logex infers why the error happened
and suggests possible ways to correct it. Detailed description of how this
could be done will be discussed in later sections. However, the ability
to infer is the factor that characterises Logex as an intelligent tutoring
system as opposed to an ordinary computer assisted learning system.
With the constant checking after each input, the student is thus kept
on the correct path until he reaches the answer. The next problem will
then be given until all the problems are solved.
Structure of Logex
Logex consists of the knowledge, namely domain knowledge, student model,
tutorial knowledge and the communication knowledge, that an ITS would normally
possess. These different types of knowledge are clustered in four modules.
The following briefly describes each module separately:
The Expert Module
An expert in an area should be familiar with the domain knowledge in
that area. Hence, the expert module consists of the domain knowledge required
to solve the problems. Two types of rules are included: the strategic rules
and the axiomatic rules. A strategic rule describes the strategy that a
student would use to tackle a problem, while an axiomatic rule describes
the process involved in the actual tackling of the problem. The following
example serves to illustrate this difference:
When a student is required to simplify the expression:
log 6
A student might immediately respond by trying to factorize the number
"6". However, the actual factorization of "6" is the use of related axioms
which is quite different from the recognition that "6" has to be factorized.
Hence, there are two processes involved: the first is the strategic rule
which describes the recognition of the need to factorize when a certain
pattern is seen; and secondly the axiomatic rule describing the process
when used in related axioms to do the actual factorization. In other words,
a strategic rule describes when to do something while an axiomatic rule
describes how to something.
According to Lewis, Milson & Anderson (1987), simply learning how
the axioms manipulate symbols may be easier than learning when to apply
that axiom in service of problem solving. However, both strategic and axiomatic
components of a skill must both be well learned if the skill is to be applied
successfully in problem solving.
The advantage of separating strategy rules from axiomatic rules is that
the tutor's cognitive load can be lightened if he can focus on the student's
strategic decisions at some points and application of axiomatic knowledge
at others separately (Lewis, Milson & Anderson, 1987). Strategic and
axiomatic rules are thus extracted from mathematics text books and incorporated
into the expert module of Logex. Table 1 shows some examples of both types
of rules used.
----------------------------------------------
Insert Table 1 about here
----------------------------------------------
The Student Module
This module consists of the model of students' knowledge in the subject
concerned. Two types of models, the overlay model and bug-identification
model have been identified (Elsom-cook, 1988) in the past. The first one
describes the student's knowledge as part of the expert's knowledge while
the latter incorporates the student errors (bugs) in addition to their
correct knowledge. Fig. 2 shows these two models of student knowledge with
respect to expert knowledge
----------------------------------------------
Insert Fig. 2 about here
----------------------------------------------
In Logex, the latter model is adopted since diagnosing is its major
function and students' errors have to considered. Hence in addition to
the strategic and axiomatic rules stored in the expert module, incorrect
rules (called mal-rules) are also collected through students' exercises
and included in the student model. Examples of mal-rules are shown in Table.
2.
----------------------------------------------
Insert Table 2 about here
----------------------------------------------
The Tutoring Module
Logex includes knowledge obtained by observing how a tutor teaches a
student in real situations and expresses them as rules. These rules indicate
how the tutor reacts when a student error is encountered. Usually, this
includes giving suitable feedback and asking the student to reenter. Table
3 shows examples of the rules used in Logex:
----------------------------------------------
Insert Table 3 about here
----------------------------------------------
The Communication Module
The communication module is responsible for handling the input and output
of the system. The output component is relatively simple as this only involves
displaying messages to the students. On the other hand, the input handling
involves the complex task of checking and understanding of the texts entered
by the students. This requires several artificial intelligence techniques
and is handled by a component called Parser developed within the system.
The Parser does two jobs: it checks whether the syntax of the text entered
is legal and also converts the texts into codes understandable by Logex.
Without the Parser, all interaction between Logex and the user is impossible.
The Language
The system was written with Prolog, an artificial intelligence computer
language. The language system used is called Cogent Prolog (Amzi!, 1994).
Prolog is a high level English-like programming language based on logical
reasoning. It draws strength from the principles of mathematical logic
- principles that were developed well before the invention of the computer
(Walker, McCord, Sowa, & Wioson, 1987), and was recognized as the fifth
generation computer language.
Knowledge involved in the four modules of Logex was written in the form
of rules, or in the terminology of Prolog, the predicates or clauses. The
inference mechanism embedded in Prolog will automatically control the whole
tutoring process once triggered.
The Tutoring Process
Basically, the tutoring process is composed of the repetition of a small
interaction cycle which involves the processes of prompting and waiting
for students' responses, and giving feedback. Basically, a step done by
the student may consist of one or more such cycles depending on whether
he can be correct at the first attempt. Hence, for each question, several
interaction cycles are repeated until the final solution is reached. The
subsequent questions will then be given until the question bank is exhausted
and the cycle is repeated until all the correct solutions are found. A
flow chart showing how the tutoring process works can be found in Figure
3.
----------------------------------------------
Insert Fig. 3 about here
----------------------------------------------
The brain of Logex is the Differentiator which is in fact, doing all
the checking and validating tasks. The Differentiator's job is to decide
whether the entered expression is acceptable given the old expression,
which is either the previously entered expression or the given question
if it is at the beginning of a question. If the output from the Differentiator
is "Yes", the student will be allowed to continue, either to the next step
or the next question depending on whether the question is finished or not.
If the output is "No", then the entered expression is considered not acceptable,
and the student is asked to reenter by following the hints given by the
computer tutor. Only when an acceptable expression is entered will the
student be allowed to go on to the next step.
The Differentiator can be divided into four components: the Parser,
the Arranger, the Generator and the Comparor. The Parser is responsible
for parsing the expressions entered into forms recognizable by the computer.
If the parsing process fails, the entered expression will be rejected.
On the other hand, as an expression is made up of several elements including
numbers, terms and operators, the order of these elements may vary even
though the value or the meaning of the expression remains unchanged. Hence,
for easy comparison between expressions, every expression entered has to
be rearranged by the Arranger in a prespecified order.
The Generator is where most of the subject knowledge resides. The generator
is responsible for generating new expressions from the old expressions
based on the strategic and the axiomatic rules (either correct or incorrect)
in the expert and student modules. The newly generated expressions will
be compared with the expression entered by the student within the Comparor.
If the two are matched, which means the computer can understand why the
student entered the expression, the Differentiator will then send out a
message to indicate a match can be found. This message may state that the
expression entered is correct if the expression generated is induced with
a correct rule, or if the latter is generated by an incorrect rule, the
incorrect rule(s) used will be reported. Based on this message, the Differentiator
can make suitable responses to the student.
If the expressions do not match, new expressions will be continuously
generated until an identical one can be found. If finally, no match can
be generated, which means that the computer cannot understand the entered
expression, the student is prompted to enter again. Fig. 4 shows the relationship
among the four components of the Differentiator and the process when an
expression "log(2*3)" is entered against the old expression "log (6)" (in
this case, it is the given question).
----------------------------------------------
Insert Fig. 4 about here
----------------------------------------------
Example
To show how Logex works, a simple example is given below:
Suppose the expression "log (6)" is to be simplified, the expression
"log(6)" will be displayed both on the Blackboard and the Exercise Book.
On the Exercise Book, below the given question, a "=" is also displayed
and the student is then prompted to enter at the right-hand side of the
equal sign.
If the student enters "log(2*3)", this newly entered expression will
then be sent to the Parser and then to the Differentiator to check its
validity and correctness (Fig. 4 shows the process). After checking with
the existing correct and incorrect rules, the Differentiator returns the
checking result. In this case, the result is correct. A "Correct" message
will then be displayed on the Blackboard and the student is then prompted
to continue with next line.
Suppose the student then enters log(2)*log(3) which is of course incorrect.
The Differentiator finds that this can be generated by using the mal-rule
"log(A*B)=log(A)*log(B)", hence a message showing why this is wrong will
be displayed. In this case, the Blackboard displays "Check Rule 1", where
rule 1 is displayed on the Notebook as "log(A*B)=log(A)+log(B)".
After the student reenters the correct expression, he will then be allowed
to continue to type in further expressions such as "log(2)+log(3)". Logex
checks every expression and returns suitable feedback according to the
tutoring rules in the Tutor Module as shown in Table 3. The process is
repeated until the final answer, in this case "0.7781", is reached. The
message "Congratulation" will then be displayed on the Blackboard, and
the student is allowed to proceed to the next question.
Conclusion
Logex demonstrates the possibility of using Artificial Intelligence
techniques in developing computer tutors. Instead of prespecifying every
response at every decision point, Logex simply incorporates the knowledge
involved in the form of rules so that responses to students' inputs are
generated in real time. This, in one way, greatly reduces the time involved
in carefully planning every route at every decision point, and in another,
saves much of the computer memory spaces. Both these factors make intelligent
tutoring systems a practical tool to be used in real classroom situations.
Currently, Logex can only handle simplification problems in logarithm.
However, it is designed so that without any structural modification, the
system can be made to be used in larger subject domains by adding more
knowledge. Hence, in principle, the system can handle similar tutoring
tasks in any subject areas provided we can have large enough machines and
sufficient understanding of human problem solving processes so that these
processes can be recoded in the form of rules. Practically, if we restrict
ourselves to some reasonably smaller subject areas, intelligent tutoring
systems can be of great help to our students.
References
Amzi! (1994). Manual of Cogent Prolog Ver.3.0. Massachusetts:
Amzi! Inc.
Anderson, J.R. (1992). Intelligent tutoring and high school mathematics.
In Frasson, C., Gauthier G., & McCalla G. I. (Ed), Proceedings,
Intelligent tutoring systems, Second international conference, ITS '92.
(pp. 1-10). New York: Springer-Verlag.
Anderson, J. R., Boyle, C. E., & Yost, G. (1985). The geometry tutor.
Proceedings of the International Joint Conference on Artificial Intelligence.
(pp. 1-7). Los Angeles, CA.
Baffe, P. (1996). Refinement-based student modeling and automated bug
library construction. Journal of Artificial Intelligence in education
7 (1), 75-117.
Clancey, W. (1982). Tutoring rules for guiding a case method dialogue.
In Sleeman D. & Brown J. S.(Ed). Intelligent tutoring systems.
(pp. 201-225). New York: Academic Press.
Elsom-cook, M. (1988). Guided discovery tutoring and bounded user modeling.
In Self J.(Ed), Artificial intelligence and human learning. (pp.
165-178). New York: Chapman and Hall.
Garito, M. A. (1991). Artificial intelligence in education: evaluation
of the teaching-learning relationship. British Journal of Educational
Technology, 22 (1), 41-47.
Giangrandi, P., & Tasso, C. (1995). Truth maintenance techniques
for modelling student's behaviour. Journal of artificial intelligence
in education, 6 (2/3), 153-202.
Goodyear, P. (1991). Research on teaching and the design of tutoring
tutoring systems. In Goodyear. P (Ed). Teaching knowledge and intelligent
tutoring. (pp. 3-23). NJ: Ablex.
Lewis, M. W., Milson, R. & Anderson, J. R. (1987). The teacher's
apprentice: designing an intelligent authoring system for high school mathematics.
In Kearsley, G. (Ed), Artificial intelligence and instruction, applications
and methods. (pp. 269-301). Tokyo: Addision-Wesley.
Mao, Y & Lin, J. (1992). Intelligent tutoring system for symbolic
calculating. In Frasson C., Gauthier G. & McCalla G. I. (Ed), Proceedings,
Intelligent tutoring systems, Second international conference, ITS '92.
(pp. 132-139). New York: Springer-Verlag.
Marcke, K. V. (1992). Instructional Expertise. In Frasson, C., Gauthier
G., & McCalla G. I. (Ed), Proceedings, Intelligent tutoring systems,
Second international conference, ITS '92. (pp. 234-243). New York:
Springer-Verlag.
Park, O. (1991). Functional characteristics of intelligent computer-assisted
instruction: Intelligent features. In The Educational Technology Anthology
Series: Expert Systems and Intelligent Computer-Aided Instruction.
(pp. 146-153). New Jersey: Eaglewood Cliffs.
Rambally, G. K. (1986). the AI approach to CAI. The computer teacher,
13 (7), 39-42.
Reiser, B. J., Anderson, J. R., & Farell, R. G. (1985). Dynamic
student modelling in an intelligent tutor for LISP programming. Proceedings
of the International Joint Conference on Artificial Intelligence
(pp. 8-14). Los Angeles, CA.
Self, J. (1988)(Ed). Artificial intelligence and human learning.
Chapman and Hall.
Walker, A., McCord, M., Sowa, J. F., & Wilson, W. G. (1987). Knowledge
systems and Prolog. Addison-Wesley.
Woolf, B. P. (1987). Theoretical frontiers in building a machine tutor.
In G. Kearsley (Ed), Artificial intelligence and instruction, applications
and methods. Addision-Wesley.
Question 1 <Blackboard>
Simplify log(6)
 <Exercise Book>
<Note Book>
log(6) log(2)=0.301
= log(2*3) log(3)=0.4771
= log(2)+log(3) log(7)=0.8451
= 0.301+0.4771 log(10)=1
= 0.7781 log(100)=2
Fig. 1. Screen Arrangement of Logex
START
Set Qno. =0
Qno = Qno +1
Exp1=Exp(Qno)
.
Display Qno
Exp1
Enter Exp2
Differentiator
Exp1=Exp2? Tutor
Exp1--> Exp2
No ?
Yes
Correct Rule No
Used?
Yes
No Question
finished?
Yes
No Question
exhausted?
Yes
Stop
Fig. 3 Flow Chart Showing How Logex Works
Old Expression: log(6) Entered
Expression: log(2*3)
log(real(6)) log(mult(real(2),real(3)))
log(real(6)) log(mult(real(2),real(3)))
log(mult(real(2),real(3)))
Output: "Correct"
Fig. 4 Components of the Differentiator
Table 1
Examples of Strategic and Axiomatic Rules Used in Expert Module
| Strategic Rules: Rules governing the strategies
used. |
| 1 |
IF |
a pattern log(X*Y) is observed
AND the logarithm of the product of X and Y is not available, |
| |
THEN |
set a subgoal to distribute log to (X*Y) |
| 2 |
IF |
a pattern log(X/Y) is observed
AND the logarithm of the ratio of X to Y is not available, |
| |
THEN |
set a subgoal to distribute log to (X/Y) |
| 3 |
IF |
the expression contains a component in the form
log X, |
| |
THEN |
set a subgoal to factorize X. |
| 4 |
IF |
the expression contains a pattern log(X),
AND the logarithm of X is not available, |
| |
THEN |
set a subgoal to write X as ratio of Y and Z,
where logarithms of Y and Z are available. |
| 6 |
IF |
the expression is in the form logX+logY, etc., |
| |
THEN |
set a subgoal to find the logs and then sum
them up. |
| 7 |
IF |
the expression is in the form A+B, where A,
B are real numbers |
| |
THEN |
set a subgoal to add them up. |
| Axiomatic Rules: Rules related to mathematical
axioms: |
| 1 |
IF |
an expression log(X*Y) is to be simplified |
| |
THEN |
write it as log X + log Y. |
| 2 |
IF |
an expression log(X/Y) is to be simplified |
| |
THEN |
write it as log X - log Y. |
| 3 |
IF |
an expression X is to be distributed among (Y+Z), |
| |
THEN |
write it as XY + XZ |
| 4 |
IF |
an expression X is to be distributed among (Y-Z), |
| |
THEN |
write it as XY - XZ |
Table 2.
Examples of Mal-rules Used in the Student Module
| Strategic Mal-rules: |
| 1 |
IF |
a pattern log(X+Y) is observed, |
| |
THEN |
treat it as log*(X+Y) and distribute log among
(X+Y). |
| 2 |
IF |
a pattern log(X*Y) is observed, |
| |
THEN |
treat it as log*(X*Y) and distribute log among
(X+Y). |
| Axiomatic Mal-rules: Incorrect versions of axiomatic
rules used by students: |
| 1 |
IF |
an expression X is to be distributed among (Y*Z), |
| |
THEN |
write it as XY * XZ |
| 2 |
IF |
an expression X is to be distributed among (Y/Z), |
| |
THEN |
write it as XY / XZ |
Table 3
Examples of Tutoring Rules Used in the Tutoring Module
| Tutoring Rules: Rules for tutoring students |
| 1 |
IF |
an integer is factorized incorrectly, |
| |
THEN |
display "wrong factorization" and let the student
do it again. |
| 2 |
IF |
log(X*Y) is expressed as log X * log Y |
| |
THEN |
display "Check Rule 1" and let the student do
it again. |
| 3 |
IF |
answer is obtained |
| |
THEN |
display "Congratulation", and let the student
continue with next question if any. |
|