Intelligent Tutoring System for

aroocarmineAI and Robotics

Oct 29, 2013 (3 years and 9 months ago)

166 views

Intelligent Tutoring System for
Search Algorithms
Ph.D. Thesis, 2003
Myat Kalayar
Department of Artificial Intelligence
Kyushu Institute of Technology
JAPAN
Dedication
I dedicate this work to my parents.
Abstract
Learning algorithms is a very significant and fundamental component of
computer science courses. Generally, search algorithms are well covered as a
main subject in primary textbooks on Artificial Intelligence (AI). The aim of the
learning is to understand characteristics of several kinds of search algorithms
and concrete steps involved in various search algorithms such as, Algorithm A*,
breadth-first search, depth-first search, etc. After listening to lectures on search
algorithms and procedures for operating data, exercises for operating data in
accordance with the algorithm are given to students. In our observation, there
are many students in the class who do not understand the details of the
algorithm and the relationship between search method characteristics and data
operation. Individual attention cannot be given to each student in class due to
time limitations, although various errors are observed. As an educational
support method, the Computer Assistant Institution (CAI) system is thought to
be effective because it provides exercises for the student and detects errors
made by the student during completion of the exercises. It then goes on to
advise the student regarding error remedy.
This research deals with an Intelligent CAI (ICAI) system that supports the
learning of search algorithms. The fundamental objective of this learning
support system is to make students understand the detailed process of search
algorithms through exercise. In order to know if the student has sufficient
understanding of the process, it is necessary to provide exercises which contain
easy to misunderstand items. To deal with each student's errors and support
this detailed coaching, it is necessary for the system to have a function which
can determine causes of errors. For this reason, the system has buggy model, it
can diagnosis the student's operations and identifies the causes of errors and it
can give the different feedback in every student's cause of error. In order to
implement the buggy model and to design a user-adaptive system, we analyzed
students' errors that are easily made by students in actual practice on paper and
classified them. In analysis, we observed 14 kinds of error and we prepared bug
rules from the result of error analysis. Moreover, to provide problems that
will correspond to student's bugs, we have classified problems according to the
frequently occurring bugs and the system provides advice for the proper
remedy. We implemented such a system for students in the computer science
course to assist them with learning of search algorithms. Another purpose of
the learning support system is to enable the student to get better understanding
of the relationship between procedures for operating data structure and their
meanings. In order to help the student grasp these dynamics, three views: a
data structure view, a feature view and a problem view are used as an interface
to display characteristics of search algorithms in relation to data operations.
Therefore, students can confirm the algorithm by operating these views
themselves. We implemented the system for students in computer science
courses in order to assist beginners when they learn search algorithms.
We evaluated the system in a class of introductory course of AI. As a result, we
found that about 70% of students' mistakes were diagnosed properly. The rest
were mostly students' careless mistakes.
Acknowledgement
In the course of conducting this research, I was fortunate to receive guidance
and encouragement from a large number of people. This research would have
been impossible without their support. Above all, I wish to thank the Buddha
for all his blessings and guidance.
First, I would like to express my deepest gratitude to my advisor, Prof. Akira
Takeuchi. His extensive experience and knowledge has been a critical factor in
every stage of this research. I would especially thank him for the understanding
he showed me during my difficult times, on things directly related to this
research, as well as in personal life.
I wish to thank Prof. Tsukasa Hirashima for his enduring day-to-day guidance
and support. He has been there to answer even my smallest questions, and give
careful comments on my work. I would also like to thank all members of
Takeuchi  Hirashima Lab and Artificial Intelligence Department of KTT, without
whom everything would not have been easier. I would like to extend my
gratitude to many people whose names I cannot mention one by one here.
Thank you for your support during my four years at this doctoral course.
I would like to especially give my sincere thanks to Mr. Harada, my sponsor,
Mr. Kaneko, Dr. Tanaka without whose financial support it would be simply
impossible for me to stay in Japan for my study. I would like to thank Prof.
Shinji ARAYA in Fukuoka Institute of Technology, guided me to get BEng,
M.Eng (Communication and Computer Engineering) degrees course.
Lastly, my deepest thanks go to my family and all of my best friends both in
Japan and Myanmar. I owe a great debt of thanks to them for their support,
understanding and encouragement.
March, 2003
Contents
Chapter 1..................................................................................................1
Introduction..........................................................................................1
1.1 Overview of Learning.................................................................2
1.2 Proposed Goals............................................................................5
1.3 Dissertation Outline....................................................................8
Chapter 2................................................................................................10
Overview of CAI................................................................................10
2.1 Introduction................................................................................10
2.2 Development of CAI.................................................................11
2.3 Background and Related Works..............................................20
2.4 Conclusion..................................................................................28
Chapter 3................................................................................................31
The Characteristics of the System.....................................................31
3.1 Introduction................................................................................31
3.2 Three views for learning relationships among algorithm, its
meanings and problem.............................................................32
3.3 Active Learning Environment..................................................35
3.4 Tailored Assistance....................................................................36
3.5 Conclusion..................................................................................37
Chapter 4................................................................................................38
The Analysis Result of Students' Papers..........................................38
4.1 Introduction................................................................................38
4.2 Basic Procedure of Search Algorithms....................................38
4.3 Bug Classification......................................................................43
4.4 Conclusion..................................................................................47
Chapter 5................................................................................................49
Implementation of the Learning Support System...........................49
5.1 Introduction................................................................................49
5.2 Interface Part..............................................................................51
5.3 Reasoning Part...........................................................................56
5.4 Conclusion..................................................................................71
Chapter 6................................................................................................73
Experiment..........................................................................................73
6.1 Introduction................................................................................73
6.2 The outline of the experiment..................................................73
6.3 The result of the experiment.....................................................74
6.4 Conclusion..................................................................................77
Chapter 7................................................................................................78
Communication Tool.........................................................................78
7.1 Introduction................................................................................78
7.2 Structure of the System.............................................................79
7.3 The experiment and result........................................................84
7.4 Conclusion..................................................................................86
Chapter 8................................................................................................88
Conclusion..........................................................................................88
8.1 Summary of this thesis..............................................................88
8.2 Issues for future research..........................................................91
References.........................................................................93
ii
List of Figures
2.1 The development of education system.................................11
2.2 The structure of ICAI........................14
2.3 Overlay model...............................................................24
2.4 Error Knowledge Library of buggy model...........................25
3.1 The data structure display view.........................................32
3.2 The feature display view................................................33
3.3 The problem display view............................................. . 33
4.1 Maze Problem........................................... 41
4.2 Search Tree.......................................... 41
5.1 The structure of the system...............................................50
5.2 Snapshot of the interface part (initial state) ...................52
5.3 Snapshot of the interface part (still in progress)......................53
5.4 An example of maze problem............................................ 54
5.5 A complete figure by using passive learning mode................55
5.6 Over view of the structure...............................................57
5.7(a) Error diagnosis (in case of student's input data is correct) ... 61
5.7(b) Error diagnosis (in case of student's input data is correct) ...62
5.8 Example for description of rule......................................... 63
5.9 An example of error which a student committed..................69
5.10 An example of the problem............................................ 69
5.11 step(3): explaining the cause of the error............................69
5.12 step(4): explaining the correct procedure........................... 70
5.13 An example of provided problem....................................71
7.1 The Structure of the System...............................................80
7.2 A snapshot of interface...............................................83
iii
List of Tables
5.1 Students' errors.............................................................60
5.2 An example of student model..........................................66
5.3 An example of the classification of a problem.......................67
6.1 The results of the experiment............................................77
7.1 The results of the experiment...........................................86
iv
Chapter 1
Introduction
Recently the computer has come to be used in various fields and is increasingly
being used in education. Not only has the computer helped raise the efficiency
of individual work, but also it has made it possible to share information among
a group of individual student who are working cooperatively across a
computer network [Carlos 2000]. In this paper, we describe a computer-based
learning environment. There are two main approaches in introductory
Computer-based learning: one is promoting self-learning, or individual
learning, and the other is promoting communication among classes of students.
Although both approaches have attractive potential, research in this area has
not proven itself particularly feasible when it comes to the support of learning.
In this paper we propose to combine the two approaches, C1taking in account
some advantages related to individual learning, such as student self-pacing and
achievement of learning goals and © taking in account some advantages
related to collaborative learning, such as communication among students and
students motivation.
In the next section (section 1.1), we discuss an overview of learning. In section
1.2, we describe the purpose of our research and then explain the structure of
this paper in section 1.3.
1
1.1 Overview of Learning
Learning can be classified by several types, such as simultaneous learning,
small group learning, individual learning [Encycl. 1] . Simultaneous Learning is
a form of learning where students are grouped according to their age and
ability, learn from the same instructor, using the same contents and at the same
place. The first person to theorize this form of learning was a teaching
researcher, J.A.Comenius, of the 17th century, who defined it as a method "all
knowledge is taught to all people". When compared with the learning forms of
small group learning and individual learning, simultaneous learning form has
the advantage that time and task labor can be saved. Moreover, the learning
activities of all of the classes are organized rationally and systematically by the
teacher's control. Simultaneous learning style is basically "face-to-face" with
each student but it has the following disadvantages:
(1) It is difficult to pay attention to differences between students. Each
individual student is different in terms of knowledge, ability, aptitude,
experience, interest, environment, etc. So, it is difficult to educate students in
keeping with individual difference even if they are gathered in one place
and one teacher guides all students at the same time. For this reason,
individual learning is proposed instead of simultaneous learning.
(2) It is difficult to pay attention to interaction among students. In simultaneous
learning, a teacher is targeting student's group. But actually, different
one-on-one situations can be easily observed with in a group setting at any
given time. J.A.Comenius pointed out already that students learn from each
other.
Small Group Learning is proposed instead of simultaneous learning. Small
Group Learning is a smaller group than class in which learning takes the form
of interactive activities among students. The advantage of small group learning
is that students share knowledge with one another and help each other to get a
deeper understanding of a problem that could not be solved by an individual
student in order to overcome an impasse. Moreover, the small group learning is
facilitated group process. The disadvantages of the small group learning is that
students cannot learn individually, such as self-pacing and achievement of
learning goals by the student.
2
Individual Learning is a form of learning where each student's learning
proceeds according to his/her various differences: knowledge, ability,
experience, interest, so on . The advantage of individual learning is best
addresses the differences in such individual student learning. The
disadvantages of individual learning are the lack of communication and
competitive spirit among group members. Moreover, a big burden for the
teacher exists such as having to devise a curriculum for each student, making
preparations controlling of the learning history, etc. as compared with
simultaneous learning. Individual learning and small group learning are often
used as a means to make up for faults in simultaneous learning.
For this reason, the computer is introduced to solve such problems stated above.
Recently, the computer has come to be used in a variety of ways. Computers are
becoming more common. They have become more powerful (i.e.; able to
process and store much more data), faster, cheaper, smaller, easier to use, and
more convenient. The following are the four forms in which computers are
being used in the school system [Encycl. 2] . As a
(1) tool in educational research
(2) tool in educational management
(3) tool in learning instruction
(4) assistant tool in the life of the student
Here, we will explain to use the computer as a tool in learning instruction.
The Learning Support System is "a certain environment which is using the
computer and purposed to support the student's teaching  learning activities" .
This system is named Computer Assisted Instruction (hereafter CAI), and it has
survived to the present. A great number of computer teaching materials have
came out and have been used as a learning teaching material. CAI teaching
material is a typical example.
CAI of this time is being called Traditional Computer Assisted Instruction
(hereafter TCAI) [Otsuki 93]. Tutoring systems based on Artificial Intelligence
(hereafter AI) are called Intelligent Computer Assisted Instruction (hereafter
ICAI) or Intelligent Tutoring Systems (hereafter ITS). ITS has a function to
complement weak points that the traditional CAI. ITSs were developed to teach
students on specific topics, test their knowledge by giving exercises, and
3
provide remediation on topics students did not perform well. It can diagnose
problems of individual students. Such diagnostic capability enables it to adapt
instruction or remediation to the needs of individuals because ITS has the
information on teaching domain as knowledge expression. This is an essential
difference from the TCAI System. Next system of individual learning support
system is Intelligent Learning Environment (hereafter ILE). It provides an
environment to recognize the correct situation and appropriately choose the
tools and data that are necessary to operate in that situation. Another type of
CAI is Computer Supported Collaborative Learning (hereafter CSCL). CSCL
can support communicating ideas and information, accessing information and
documents, and providing feedback on problem-solving activities through
computer network.
More recently, various computer networks have been connected and become
more convenient to use [Okamoto 2]. There are many local, commercial and
academic computer networks. Anyone with an account on any network can be
connected with people with the same interests. The creation of the World Wide
Web (hereafter WWW) has given, it makes use possible over a wide area of the
education medium, and many computer teaching material which can be used
with WWW are being developed. WWW-based teaching materials software
from an optional place within the internet has come into use. Especially, in the
field of education, the web-based educational systems are becoming more and
more popular all over the world. Several approaches, which are being used to
organize the teaching materials appropriately have been developed in the past
ten years. There are many kinds of network-based educational systems such as
Individual Learning Support System, CSCL and Distance Learning Support
System.
An Individual Learning and Collaborative Learning Support System using the
computer, etc. are well covered as a topic of the computer support in education
.
The computer has not only raised the efficiency of individual work but also has
made it possible for an individual to share information with another individual
over a linked network.
4
1.2 Proposed Goals
Generally speaking, it is important to understand meaning deeply when a new
thing is being learned. To obtain a deep understanding, reading textbooks or
attending a lecture is sometimes insufficient. Lecture cannot possibly match
every students needs. Students learn at different paces and they may not
always be paying attention and may miss important materials. Therefore the
practice does play important role in order to know the student is fully
understand or not. During the practice, the student who does not fully
understand the contents of a lesson may make mistakes, meet impasses or
encounter different kinds of difficulties. Because his/her mistakes are different
from others', assistance corresponding to his/her mistakes becomes necessary.
However, in actual conditions, during lecture enough attention cannot be given
to each student because of numerous studies, time limitations and an
insufficient number of instructors.
There are several ways to support the student on how to solve a problem when
the student comes to a deadlock. The first way, the computer processes
intelligent functions similar to a teacher's in that it provides advice to the
student on how to solve a problem when he/she comes to a deadlock. And
another way is whereby problems can be solved through communication
[Takeshi 97]. An example of the former method is ITS which is an individual
learning support system and the latter method is CSCL which is a cooperative
learning support system.
Here, we describe two essential aspects of support to the students. The first is
an individual context for sophomores (first semester) of computer science
course, who have just learned search algorithms and it deals with an ITS. The
second is the collaborative context in which students study together, serving as
learning resource for each other, gather and interpret observations and, it deals
with a CSCL.
First of all, we will address individual learning support system for the students
to learn algorithms. Needless to say, learning algorithms is a very significant
and fundamental component of computer science courses [Myat 99]. Generally,
5
search algorithms are well covered as a main subject in primary textbooks on AI,
pedagogy. The aim of the learning is to understand characteristics of several
kinds of search algorithms, to understand concrete steps involved in various
search algorithms such as, Algorithm A*, breadth-first search, depth-first search,
etc. and to understand the details of the algorithm and the relationship between
search method characteristics and data operation. For this reason, the teacher
teaches about the characteristics of several kinds of search algorithms and
concrete steps involved in various search algorithms giving a maze problem as
a concrete example and using search tree to the students during the lecture. In
the present situation, students perform search trace on the paper (operation
data in accordance with algorithm) to make students understand deepen their
knowledge of search algorithm. However, operation data in accordance with
algorithm on the paper cannot display the characteristic of several kinds of
method for search and is difficult to understand the relationship between
search method characteristics and data operation.
After listening to lectures on search algorithms and procedures for operating
data, exercises for operating data in accordance with the algorithm were given
to students. The purpose of problem solving exercise is not to have students to
provide correct answers, but to make have them gain a general of the essential
[Konishi 92]. In our observation, there were students in the class who did not
understand the details of the algorithm and the relationship between search
method characteristics and data operation. Individual attention could not be
given to each student in class due to time limitations, although various errors
are observed. As an educational support method, CAI system is thought to be
effective because it provides exercises for the student and detects errors made
by the student during completion of the exercises. One of the advantages by
using CAI is that an individual learning environment can be provided [Otsuki
92]. It then goes on to advise the student regarding error remedy. The problem
which occurs in simultaneous learning environment is that student's error goes
un-remedy.
For this reason, we implemented intelligent tutoring support system for
learning search algorithm. The fundamental objective of this learning support
system is to make students to understand the detailed process of search
algorithms through exercise. In order to know if the student has sufficient
6
understanding of the process, it is necessary to provide exercises which contain
easy to misunderstand items. To deal with each student's errors and support
this detailed coaching, it is necessary for the system to have a function which
can determine causes of errors. For this reason, the system has diagnosis
module and it can diagnosis the student's operations and identifies the causes
of errors and it can give the different feedback in every student's cause of error.
Another purpose of a learning support system is to enable the student to get
better understanding of the relationship between procedures for operating data
structure and their meanings. For that reason, views are used to display
characteristics of search algorithms in relation to data operations.
Next, we will explain the CSCL system which is implemented to make up for
faults in individual learning. One important aspect of the supportive learning
environment is the need to have considerable interaction between members of
the groups [Brown 89]. In computer assisted instructional methods such as ITS,
although problems in individual learning gaps are addressed through
computer-generated teaching and error diagnosis strategies, it is difficult to
make communication among the students. Students must encourage and
facilitate each other efforts. This might involve them helping each other,
providing feedback, challenging each other, suggesting ways forward, acting in
trusting ways and so on. Each member has to feel that they will be supported
by the others. For this reason, we have implemented the CSCL system which is
not dependent on a domain. This system is multi-purpose system and it can run
under network.
By using this system, student can deepen his/her level of understanding of a
topic by having another student with a higher degree of understanding explain
a problem on a space in the computer. The student may not only cope with a
difficulty but also communicate among students by using this ITS and CSCL
system.
7
1.3 Dissertation Outline
First, chapter 2 is overview of CAI and survey of related works. CAI systems
are classified into Traditional CAI, ITS, ILE and so on. In section 2.1, we explain
the development of CAI. Here, we address TCAI in section 2.1.1, and ITS in
section 2.1.2. In section 2.1.3, we explain ILE and CSCL in section 2.1.4. And
then, we address CAI system for Algorithm Learning in section 2.2.
Chapter 3 introduces the characteristics of the system we developed. We
implemented the individual learning support system for learning search
algorithm. In section 3.1, we describe the first characteristic of the system. It has
three views in order to understand the learning relationships between
algorithm, its meanings and problem. In section 3.2, we explain the second
characteristic of the system. It has two types of learning style: a passive learning
style and an active learning style. And we state the third characteristic of the
system which is the tailored assistant, in section 3.3.
Chapter 4 explains the analysis results of students' reports during the search
algorithm. We will explain the basic procedure of search algorithms in section
4.1 and we enumerate the students' errors which were committed most
frequently in section 4.2.
Chapter 5 addresses the structure of this individual learning support system for
search algorithm learning. It has two parts: an interface part and a reasoning
part. The interface part is implemented in Java application as a client and the
reasoning part is implemented in Prolog as a server. The system runs under
networked environment. In the first section in this chapter, we explain on the
interface part. And then, the second section, we state the reasoning part. It has
five components: search engine, student model, bug library, diagnosis module
and problem data.
Chapter 6 shows the experiment of our system and the results of experiment. In
section 6.2, we state the outline of the experiment and discuss the result of the
experiment in section 6.3.
8
Chapter 7 discusses the characteristics of the collaborative learning support
system (CSCL). We implemented this system to make up for faults in individual
learning. The student may share knowledge with one another and help students
each other to get a deeper understanding of a problem that could not be solved
by an individual student in order to overcome an impasse by using this system.
In section 7.2, we explain the structure of the system. It consists of two parts: the
interface part, or client and the information preservation part, or server. In
section 7.3, we discuss the result of the experiment of this system.
Chapter 8 describes our conclusion and we introduce our future works.
9
Chapter 2
Overview of CAI
2.1 Introduction
There is probably no better tool than the formal lecture for presenting the broad
picture of a subject, laying out the ways in which its various sub-topics develop
and relate to one another, and in generally communicating the instructor's
enthusiasm. On the other hand, numerous studies have shown that lecturing is
one of the least effective methods of bringing about learning. Other classroom
techniques, such as directed problem-solving and cooperative learning groups
have met with some success, but they are all limited by the very large
differences in the rates that individual students are able to assimilate the
material. Another limitation is time; there is rarely enough of it to deal
adequately with all of the topics in the course, so many are simply dropped by
default. Classroom time is usually a limited commodity which most teachers
would prefer to devote to activities such as discussions and demonstrations that
build interest and provide motivation. To alleviate this problem, CAI in the
classroom is implemented. Perhaps the major benefit of CAI to the teacher is to
allow more flexibility in the use of class time by taking on some of the more
routine aspects of instruction such as exercises and drills which are often not
well adapted to class instruction anyway [Stephen 2000].
10
It is no wonder then that since the early days of computers, people have been
interested in using them in the field of education. The hope was that computers
could offer individual teaching and free up the time of the human educator. As
a result of its far-reaching possibilities computer assisted education has long
been an interdisciplinary field, involving teachers, computer scientists, and
artificial intelligence researchers. Research and development into CAI began in
the US in the field of education in 1950 with its advent seen in Japan in 1960.
In this chapter, we will review the history of CAI. The remainder of this chapter
is organized as follows. In Section 2.2, we describe the development of CAI.
Following that, we survey related works in CAI systems, in Section 2.3. Finally,
we summarize the chapter in section 2.4.
2.2 Development of CAI
Using computers in education has garnered a plethora of titles over the years.
Since then, many researchers worked on the development of computers. Some
researchers tried to develop a human-like computer and to assign it the roll of
teacher. The fruits of their research yielded what is now called CAI. In the past,
CAI, from around 1950 to 1960, assisted the student at every stage, by
presenting a problem, requesting a solution and confirming whether the answer
was correct or not. However, researchers in the field of AI soon recognized that
this system was insufficient to the needs of its user. Therefore, out of CAI which
is now called Traditional CAI(hereafter TCAI), sprang two other systems based
on it that better met the user's needs. There are called ITS and ILE in order of
their development. The CAI system, an individual learning support system can
be classified into TCAI, ITS and ILE [Otsuki 86]. The use of CAI systems in
education over for the last few decades is detailed in Figure 2.1. Another CAI
system for small group learning support system is CSCL which we will discuss
in each section. In fact, in this chapter, since our research deals with ITS and
CSCL we will discuss these two systems in some detail.
11
First generation Second generationThird generation
of CAI (TCAI)of CAI (ITS)of CAI (ILE)
TraditionalIntelligentIntelligent
ComputerTutoringLearning
Assisted Instruction SystemEnvironment
 Canned Domain Knowledge  Basic Technical
 questionRepresentation hyper media
 answer navigation
 hint Student' modeling  multimedia
 information of KR by cause of error  GUI
identification  DM
 Impossible of
problem solving  Representation of  Prototype
 it cannot be teaching material  Micro world
answer thetechnical Discovery
questionknowledgeenvironment
^ Interface
 Control Control
 system (leader)  Control user (leader)
 both (leader)
Figure 2.1 The development of education system
(for individual learning support system)
12
2.2.1 Traditional Computer Assistant Instruction (TCAI)
The early various experiments in TCAI began from the late 50s and ran into 60s
in the United State . The representative of large-scale CAI is PLATO
(Programmed Logic for Automatic Teaching Operation) of the University of
Illinois' Computer Education Research Laboratory (CERL) under the direction
of Donald Bitzer, Control Data Corporation and the National Science
Foundation [Stone 97], [Smcneil]. This system included hundreds of tutorials
and drill-and-practice programs. Like other systems of the time, PLATO's
resources were available through timesharing on a mainframe computer.
PLATO was designed to use a mainframe-based system rather than a smaller
minicomputer because of its need for greater program and storage capability.
Thus a larger library of programs would be available for student use, more
sophisticated programs could keep track of individual student's progress; and
the number of simultaneous users could be dramatically increased. During the
early 1970's, PLATO became the PLATO - N system and was introduced as a
large time-shared instructional system. Hundreds of terminals were available
where each terminal provided one terminal display and keyboard. All data and
programs were stored on a central computer. Six hundred students were able to
use the system simultaneously to access and use interactive educational and
communications software. This system allowed instructors to design
instructional material while students studied.
During the course of the development of CAI, researchers put emphasis on
development of CAI's hardware and architecture, and importance on software
(lessons) in the 1980s. We call CAI's programmed education of teaching
materials "Courseware". They are classified into several categories as follows:
 simulation type,
 game type
,
 ad-lib type
,
 authoring type
,
 frame type
Usually one courseware included more than one type. Therefore, use of such
courseware had the following merits [Otsuki 86].
(1) It could provide a learning program tailored to each individual student's
13
ability.
(2) It could develop new quality teaching materials by making the best use of
simulations and graphics in response to the student's answers.
(3) It's usefulness was improved by its ability to accumulate a student's records
and statistics.
In spite of having such strong points, CAI also had the following weak points: it
lacks the flexibility in communication which is necessary in education since it
was designed to use designed pre-programmed by possible
interaction-predicting method and procedural language using method.
(1) The control function of mutual initiative
(2) The function to solve a problem and to explain the method
(3) The diagnosis function of the wrong answer and treatment function
(4) The function to explain a reason
(5) User-friendly interactive function
Even if the developer's intent is to convey information, if the student does not
assimilate that information, it is an exercise in futility [Itou 97]. In order to
ensure learning takes place, one must not merely spout information. It is
important to confirm comprehension by taking into account student response.
The steps of the learning process are as follows:
1) Instructional information such as problems and explanations is
presented to the student
2© The student reads over the problems, and if necessary, by making
reference to hints, comprehends and solves the problem
© The student is provided feedback about results in the form of a
breakdown and evaluation of the answer
Over repeated exchanges between computer and student, learning progresses.
The computer verifies the transmission of instructional information and
comprehension of it, and the developer gradually improves the instructional
content with the help of evaluation from the student. This is how the ideal
individualized educational system comes into being.
For this reason, the research in individual learning systems were transformed
with its new is base on methodology coming out of the 70s. That individual
learning system is now called ITS or Intelligent CAI.
14
2.2.2 Intelligent Tutoring System (ITS)
Research in Artificial Intelligence (AI) began in 1956 when Shannon, McCarthy,
Minsky, Simon, Newell gathered at Dartmouth university and a research field
about the realization of the knowledge by the computer was named AI. The aim
of AI is to realize the function which behaves intelligently [Encycl. 1] . ITS is
computer-based training system that incorporate techniques for
communicating/transferring knowledge and skills to students. These systems
emerged from the combination of CAI and AI technology.
ITS is an attempt to create a more flexible CAI. When considering systems or
tools for aiding the teaching-learning process, ITS can be separated into two
types. One is the AI educational tool, which is equipped with AI functions. The
other is a system like a tutorial that actively assists in the learning process.
In ITS, the aim of research is to study the mechanism that deduces what, whom,
and how and makes informed decisions based on those conclusion. In such a
system, there is a need for information and functions concerned with the
teaching material knowledge, the teaching knowledge, the student model and
interactive interface with the following structure as shown in figure 2.2.
Teaching Material
Knowledge
User
Interactive,--------Teaching
~^ InterfaceKnowledge
studentStudent Model
Figure 2.2 The structure of ICAI
15
 The teaching material knowledge
It expresses the domain knowledge that a teacher wants a student to learn.
Teaching materials were suggested as the heart of education when learning
support systems were first developed. In order to make it easier to
manipulate various teaching materials, it is important to characterize it in
terms of a few concepts.
 The teaching knowledge
It describes the teaching methods and selects the appropriate strategies for
teaching the student based on the current state of the student model. This
includes selecting and presenting new information and posing questions,
or problems to the student.
 The student model
The human teacher's ability to provide guidance for each individual
student hinges on his/her ability to understand the student in some
fashion. The student model attempts to approximate that "ability to
understand the student" on the computer, and is the model that plays a
central role in the intellectual education system. The term student model,
used in the context of ITS, typically refers to an abstract representation of
the student in the system, that is usually used to drive instructional
decisions. The goal of using a student model within an ITS is to make the
system adaptable to individual students [Elsheikh]. It was suggested as an
important component when ITS was proposed about 30 years ago. It is the
component of an ITS that records information that is specific to each
individual student. It registers the student behavior, as he/she solves each
exercise presented to him/her. It depends on the domain knowledge as
well as the student's individual characteristics or the cognitive features. A
classification of several student models can be found in [Vassileva 90]. In
order to provide highly-individualized training, an ITS system must also
adopt a model of the student's individual features, such as learning rate,
level of concentration, preferred style of presenting material.
 The interactive interface
It is to facilitate the interaction of both teachers and students with the
system; specifically it supports human teachers in domain base
16
development, in specifying what, when and how to teach [Baker 99] and in
monitoring the student's progress; obviously it should also provide a user
friendly interface for students to learn the subject domain.
ITS has a function to complement weak points that the traditional CAI and it
has the information on teaching domain as knowledge expression. This is an
essential difference from the TCAI System. ITS has the following characteristics:
(1) It possesses the ability to solve a given problem by the domain knowledge.
This function enables the system to judge whether the answer is right or
wrong to a given problem and enables the system to check for the right
answer to a problem given by a student.
(2) The system can explain to the student about the reason of a given answer by
offering a process to obtain the answer to the problem to him/her.
(3) The system can build the model of student's understanding status by
assuming a possible cause for the error, when he/she makes a mistake. The
assumption of the reason is made by use of the domain knowledge. So, it
can know the understanding status of the student without preparing a set of
wrong answer samples to each problem like the traditional CAI. It becomes
possible that educational corresponding to the reason of each student's
errors are taken by using the student's understanding condition model into
consideration.
So, ITS has the domain knowledge that the system recognizes the educational
target in the intelligence level and it becomes possible to plan the establishment
of a goal for learning pertaining to the student's understanding level.
As above mentioned, teaching system has problem-solving ability and the
interactive ways of communication that scramble for the leadership of utterance
is realized between both of the student and the teaching system by knowing the
student's understanding condition. This characteristic is not seen in the TCAI
which tends to make student in a passive study.
In order to provide highly-individualized training, an ITS system must also
adopt a model of the student's individual features, such as learning rate, level
of concentration, preferred style of presenting material etc. Student Model
records student's mistakes so that the ITS can provide teaching strategies for
17
review and revise. The more precise the student model is, the higher the
adaptive the ITS has [Zhou 99]. The purpose of a student model, in the context
of ITSs is to provide information about the student's knowledge and skills, so
that the instruction model can give instructions tailored to the best advantage of
the student.
As a good example of ITS as known as SCHOLAR at the landmark paper of "AI
in CAP", was constructed by Carbonells et al. at MIT in 1969, is well known as
the first of its kinds to employ language dialog [Carbonells 70]. SCHOLAR is an
educational system about the geography of South America and it was proposed
a new paradigm based on knowledge information processing. Carbonell
presented that four methodologies: "both leadership dialog", "the domain
knowledge representation", " student model", "knowledge representation of
pedagogy", were established. That paradigm is called Intelligent Tutoring
System, ITS and active research are done until these day and many experiment
systems are trailed.
From that time, there are a lot of researches on ITS, such as WHY [Stevens 77],
WEST [Burton 79], GUIDON [Clancey 79a, 79b, 79c], SOPHIE [Brown 82],
MIS[Shapiro 83], HELEN [Kunichika et al 95], Penny [Inoue 98 b] etc. have
been done to date.
In contrast to TCAI in which all the learning material is programmed externally
by the instructor, in ITS, the various components [Okamoto 92]. In ITS, the
various components program content, i.e., the material to be learned, the
display  reply processing, instructive mechanism are all independently
maintained. When the programming is running each component interacts with
each other. In this way, each component can be utilized to full capacity.
Furthermore, it also contains a function whereby the system can model how the
student learns.
2.2.3 Interactive Learning Environment (ILE)
Since the mid 80s, under the influence of the development of GUI (Graphical
user Interface) technology which have hypermedia technology, direct
18
manipulation function, visualization function and the open end type of
paradigm is appeared. That paradigm is called Interactive Learning
Environment (ILE) . ILE's purpose to get the student who has been provided an
environment to recognize the correct situation and appropriately choose the
tools and data that are necessary to operate in that situation.
As a good example of ILE is " A Framework for Supporting Discovery Learning
by Plan Recognition in Interactive Experimental environments" [Shingae 95].
They proposed an inductive learning environment which supports students'
knowledge acquisition from trial and error in experiments. The environment
aims to assist students in finding rules from experimental data together with its
meta-process of findings.
Another example is "Problem-Making Practice to Master Solution-Methods in
Intelligent Leaning Environment " [Nakano 99]. They describe an ILE which
realizes a problem-making practice. This environment deals with arithmetical
word problems and its solution-methods.
There are many systems that focus on ILE additionally as well. In this paper, we
will discuss easily about ILE, because our research deals with ITS.
2.2.4 Computer Supported Collaborative Learning (CSCL)
A student's frame of mind is affected differently depending on whether he/she
is being addressed by a teacher or fellow student. It is more difficult in many
cases for the student to understand the teacher's explanation than student's it is
for him/her to understand a fellow student's explanation. It can be said that
central to CSCL is communication among people. CSCL focuses on what is
being communicated and used in the educational setting. The purpose of CSCL
is to scaffold or support students in learning together effectively [Hsiao]. This
CSCL is based on the premise that computer supported systems can support
and facilitate group process and group dynamics in ways that is not achievable
by face-to-face, but it is not designed to replace face-to-face communication.
CSCL system is typically tailored for use by multiple students working at the
same workstation or across networked machines. The research of CSCL covers
19
not only the techniques of the groupware but also the social, psychological,
organizational, and learning effects. The advantages of CSCL are summarized
as follows [Mizoguchi]:
1) Getting students motivated
2) Learning is stimulated more through communication done between each
other.
 Learning by teaching which facilitates learning by externalization of one's
understanding
 Learning by diagnosing which deepens understanding by diagnosing
other students.
 Learning by open discussion which facilitates thinking capability through
interaction
3) Learning of how to discuss and how to negotiate
Although all of them are equally important, we take on the first and second as a
target in our research. Our CSCL system does not depend on a domain. It is
supported by communication between the students teaching one another.
2.3 Background and Related Works
Most educators believe that advances in computational technology have a
positive impact on educational activities. For this reason, currently, many
works have been done in the field of education. CAIs were developed to
instruct students on specific topics, test their knowledge by assigning exercises,
and provide remediation about topics on which students did not perform well.
In this chapter, we introduce, two of these systems. The first is an individual
learning support system, and the second is a collaborative learning support
system.
20
2.3.1 Related work on the individual learning support
system
A general model of many ITSs includes the following basic modules: teaching
materials knowledge, teaching knowledge, a student model and a user
interactive interface. Using its domain knowledge, ITS should be able to solve
any problem. Our system has the same structure as a general ITS [Otsuki 86].
III Teaching materials knowledge
As I mentioned above, research on ITS has been enthusiastically conducted for
the purpose of support for the individual student. Although a handful of ITS
has been developed in recent years, relatively little work has been done with
algorithms on such systems. Our research deals with algorithms as domain
knowledge because learning algorithms is a very significant and fundamental
component of computer science courses. Next, we will survey and discuss how
several learning support systems for algorithm are used in Computer Science
instruction.
Teaching knowledge
One of generally used technology for supporting algorithm-learning is
algorithm animation (hereafter AA). AA is the process of abstracting the data,
operations, and semantics of computer programs, and then creating animated
graphical views of those abstractions. Animation is useful for showing various
functions, especially for representing their dynamic features. ITSs purpose is to
illustrate how the algorithm functions to someone seeking to learn the
algorithm, such as a student in a computer science class. Because algorithms can
be challenging to learn, it is hoped that the graphical depiction can make the
algorithm more concrete, and easier to comprehend for the student. AA has a
leading role in computer-aided algorithm design, documentation and
debugging because interactive graphics is a richer channel than text for
communication. AA is mainly used to visualize dynamic behavior of algorithm.
In AA, there are two types of animation:
21
(1) Animation to understand the data structure and its movement
(2) Animation to understand algorithm such as the sorting algorithm, search
algorithm and its movements
It is common to show the program source code which stands as a model for
each algorithm in an algorithm textbook. For that reason, INCENSE [Myers 83],
Bell Lab's movie/Stills [Bentley 87], PECAN [Reiss 85], Brown's Balsa [Brown
84], Stasko's Tango [Stasko 89], Brown's Zeus [Brown 91], Nap's GAIGS [Naps
90,94], Inoue's Penny [Inoue 98] are developed for data structure and its
movement. These systems support animation of programs source code along
with high-level visualization of algorithm data structures. However, merely
knowing how to track a program's code movements and deal with a problem
well is insufficient for the student to fully understand algorithm.
The objective of our research is to make students understand the detailed
process of search algorithms and their meaning. For that reason, we deal with
the second type, "animation to understand search algorithm and its movement".
The following systems are a few examples of the second type.
The videotape "Sorting Out Sorting", presented by Backer at the AACM
SIGGRAPH conference in 1981 [Backer 81], is generally accepted beginning of
AA. This video tape shows the animation of nine different sorting algorithms.
This videotape helps students to visually understand the characteristics of the
algorithm by watching it rather than trying to imagine its actions from a verbal
explanation or static images. Although displaying the behavior by algorithm
animation may be effective to help the student understand algorithm, the fact
that students passively receive the explanation lessens its effectiveness. For this
reason weaker students are often unable to grasp some of the more subtle
nuances that the visualization was intended to demonstrate.
Another next AA system for search algorithms learning support system is
SALA (Search ALgorithm Animation) [Myat 98]. SALA system has been
developed in order to visualize search process on the screen of personal
computers. This system not only enables the student to understand search
algorithms (e.g., breath first search, depth first search, Algorithm A* etc.)
visually, but he/she can also compare it to his/her own performances. SALA
22
allows students to freely operate the interface. However, one drawback of
SALA is it is a type of TCAI and cannot advise and support each student
because of its lack of an ITS functions. In our learning support system, we
prepared a function which can guide each student's learning according to
his/her various differences: knowledge, ability, experiences, interests.
As stated above AA systems are of the stand-alone type. With to the diffusion
of the internet has come a great change in the way teaching and learning are
done. For example, students can study algorithm by using various sites using
AA such as [Nemoto 96], [Dershem 98], [Jsmith 99], [Duane 2000], [Jarac 2001],
and [Sekishita].
The above systems were developed in order to help students understand the
characteristics of search algorithm and displaying the behavior by algorithm
animation may be effectives; however, to reiterate, a drawback is the student
receives the explanation passively such as in the simultaneous learning style.
Documented evaluative experiments in the literature [Byrne 96], [Lawrence 92],
[Stasko 93] have revealed that learning effectiveness is reduced, in passive
modes of learning. For instance, in the Lawrence experiment, when slides were
substituted for algorithm animation in lecture, no statistically significant
difference in learning was observed. On the other hand,
- when practical teaching materials were used in place of slides in lecture,
there was a marked difference in learning effectiveness
- when students were allowed to select data for input themselves, rather than
the instructor having the students observe animation which he/she had
selected for input, the practice was more effective
As a result, there have been more trials in which visualization technology has
been adopted in even higher active learning programming programs such as
Henry's UWPI [Henry 90], Mukherjea's Lens System [Mukherjea 93], and Nap's
GAIGS [Naps 90,94].
In our learning support system, we prepared a passive learning mode as well as
an active learning mode.
23
INStudent model
The student model aims to express only the domain knowledge of which the
student has an understanding at any given time. The student model of ITS
attracted many researchers' interest and created much debate. In the mid 70,
people interested in student models focused their attention on procedural
errors made by a population of students in a certain domain that could be
explicitly represented in the student model. Various types were developed,
such as the overlay model, buggy model and cognitive model [Mizoguchi 95],
[Okamoto 1]. However, the overlay model and buggy model have been
considered the most efficient in terms of identifying cause of error in real time
[Otsuki 2000].
- Overlay model
This term was introduced by Goldstein in 1977 [Carr], used in a very simple
way in the SCHOLAR as well as in GUIDON, WEST. It is a model that
supposes the student's knowledge (SK) to be a subset of the system's
knowledge, or domain knowledge (DK), of the subject, as shown in Figure 2.3
[Okamoto 2]. As the student learns, the subset grows, and the modeler's job is
to keep track of the subset. It can reproduce the parts which the student
correctly answered, but cannot provide information about the parts which the
student missed. Therefore, the overlay model has some limitation.
- Buggy model
BUGGY was developed in 1975 by J. S. Brown and R. R. Burton, described in
[Brown 75, 77, 78]. The term "bug" was borrowed at the time from computer
jargon to indicate a "procedural mistake", i.e.; the correct execution of an
incorrect procedure, rather then a fundamental misconception. The study of
"bugs" gave birth to a long project which started with BUGGY
, a "descriptive
theory of bugs whereby the model enumerates observable bugs".
This is a model containing a library of mistakes in knowledge commonly
observed in most students. This library of mistakes lists typical mistakes
alongside corresponding correct answers as indicated in Figure 2.4 [Okamoto
24
2].
In the buggy model, the model tries to capture the student's misconceptions
about the subject by including bug rules in the system. Bug rules are
erroneous variants of the correct rules which the student has to apply in
order to fulfill a task or exercise. A specific case of a bug rule is the buggy
plan which represents an alternative erroneous plan that is stored in the
system in order to capture the kind of misconception about the required
programming plan the student made.
There are lots of similar studies on support systems in Search Algorithm.
However, including those surveyed systems, there are very few systems that
support a student using the student model. In our learning support system, we
have adopted the buggy model as a means of providing feedback for the proper
remedy on each individual cause of student's error.
DK
Figure 2.3 Overlay model
25
Teaching / Error Knowledge (KR) Library
knowledge
Knowledge 1 EK 11 EK 12 EK 13
Knowledge 2 EK 21 EK 22 EK 23
Knowledge 3 EK 31 EK 32 EK 33


Figure 2.4 Error Knowledge Library of buggy model
 The user interactive interface
This is the communicating component of the ITS which controls interaction
between the student and the system. Though there has been much research on
techniques and systems for AAs, there are few cases of practical use. There are
two reasons for this: one is that it is too complicated to construct AA at
educational quality. The other is that traditional animation has no remarkable
features for representing procedural aspects of algorithm. To cope with this
problem, Inoue proposed A_chart (Animation_chart), a new style of AA,
extending the traditional one [Inoue 97, 98 a, 98 b]. It presents the structure of
algorithm as well as the operations involved. To highlight the structure of
algorithm, A_chart borrows flowchart representation and embeds traditional
style algorithm animation into nodes.
26
Our system uses a similar technique when it explains the correct procedure of
search algorithm using the data structure display view and the feature display
view. The feature display view corresponds to the flowchart in Inoue s A
_chart
We use these views like Brown's Zeus system [Brown9l] to help the student
develop a mental representation of algorithm and its meaning. These views are
shared workspace between the student and the computer advisor.
2.3.2 Related work on CSCL
The community of collaborative learning in schools is often a small group of
students, usually students in the group because learning is the main activity.
One important aspect of the supportive learning environment is the need to
have considerable interaction between members of the group. Students must
encourage and facilitate each other efforts. This might involve them helping
each other, providing feedback, challenging each other, suggesting ways
forward, acting in trusting ways and so on. Each member has to feel that they
will be supported by the others [David].
The predominance of group learning to individual learning, which is the
learning form of the student to the computer such as ITS and ILE, can be
attributed to communication between the students and learning by teaching,
learning by diagnosing. For this reason, there is a lot of research such as [Miller
95], [Suchers 95], and [Ogata 2000].
Nakamura et al designed and developed a CAI system for information
processing education in order to reduce the teacher load. This system is
composed of two sub-systems: DA (Domain Application) which supports
learning of each specific domain, not the whole of contents of a practice, and
TEMALEARN (Teaching Assistant and computer Assisted LEARNing system)
which supports practice progress [Hayashi 99]. DA is placed on the student's
terminal and TAMALEARN is placed on teacher terminal. They developed
DOSCOI (ms-DOS learning Computer assisted Instruction system) as a DA.
DOSCOI promoted the student's understanding whereby making the operation
of directory by the command relate to the operation of directory by the visual.
27
In contrast to Hayashis' version of DA
, DOSCOI, our DA's purpose is search
algorithm. Our communication tool is a multi-purpose system and it can run
under network.
2.4 Conclusion
In this chapter, we have reviewed the history of CAI and explained related
works. The CAI system for individual learning support system can be classified
into TCAI, ITS, and ILE. Another CAI system for small group learning support
system is CSCL. As our research deals with ITS and CSCL, we only focused on
these two systems.
CAI is good for motivating students to study something. They can study using
their own learning styles, and they can see the results of their learning.
Learning can be individualized using computers. Students can study materials
related to their individual goals and what they need or are interested in, with
the appropriate difficulty level and at their own pace. Computers can analyze
the problems of each student, and the teacher can help individual students with
their problems based on the analysis.
Research in CAI began in the 1950s as a means to provide automated
individualized instruction to students. However, early systems did little more
than incrementally replay canned text while waiting for a response from the
student. As CAI evolved, instructional systems made use of a student's
responses throughout an instructional session to determine the material to
present during the remainder of the session. Advances in CAI technology later
allowed systems to automatically generate teaching material. However, even
with advances in CAI technology, sophisticated computer programs still did
not approach the skill of human instructors. One reason for this shortcoming
was that CAI systems lacked the means to accurately model a student's
knowledge, i.e., they lacked a model of the student's cognitive processes, and
therefore could not provide a robust individualized training environment.
ITSs emerged in the 1970s to address the deficiencies of CAI. By making use of
28
the results of research work in AI, ITSs were able to employ knowledge
representation strategies to model a student's cognitive processes. What
distinguishes ITS from CAI is the goal of being able to respond to the individual
student's learning style to deliver customized instruction. The purpose of TTS is
simply to get the student to correctly assimilate knowledge from the domain
knowledge. In contrast to ITS, ILE's purpose to get the student who has been
provided an environment to recognize the correct situation and appropriately
choose the tools and data that are necessary to operate in that situation.
A general model of many ITS includes four basic components: teaching material
knowledge which expresses the domain knowledge, the student model which
describes the knowledge condition of the student, the teaching knowledge
which describes the teaching methods and interactive user interface which
allows communication between the student and the system. Using their domain
knowledge, ITS should be able to solve the problems the pedagogical module
puts to the students. The teaching knowledge component controls the
interaction with the student, based on its own knowledge of teaching and
comparisons between the student model and the domain knowledge. The term
student model, used in the context of an ITS, typically refers to an abstract
representation of the student in the system, that is usually used to drive
instructional decisions. The goal of using a student model within an ITS is to
make the system adaptable to individual students. A student model component
permits the system to store relevant knowledge about the student and to use
this accumulated knowledge as the basis for system adaptation to student
needs, and thus may be considered to be the fundamental ingredient for an
intelligent, individualized computer-based learning environment [Holt 94].
Several methods such as overlay model and buggy model have been proposed
for modeling a student's level of comprehension or understanding. Overlay
model and buggy model have been considered as methods for identifying in an
efficient manner cause of error in real time.
These four components interact to provide the individualized educational
experience promised by TTS technology. In our learning support system, we
deal with algorithms as domain knowledge and used AA technologies to
support algorithm learning as one of the teaching knowledge. In order to
understand the characteristic of various algorithms, a number of system have
29
been used such as algorithm visualization, algorithm animation, etc. for almost
20 years especially particularly those the pertain to the visually rich areas of
data structures. AA is one of the software visualization systems as sequences of
illustrations on bitmap display and it can be used in teaching to help students
understand how algorithms work. A number of animation system, as stated
above, that have been developed by instructors for use in their classes are
described in the literature. However, most of these systems tend to TCAI and
lack of ITS functions such as student model. In our learning support system, we
have adopted the buggy model as a means of providing feedback on each
individual cause of student's error. Moreover, this system provides to the
student with three views and two learning styles to get better understanding of
the relationship between procedures for operating data structure and their
meanings by interactive user interface.
In computer assisted instructional methods such as ITS, although problems in
individual learning gaps are addressed through computer-generated teaching
and error diagnosis strategies, it is difficult to make communication among the
students. Students must encourage and facilitate each others efforts. This might
involve them helping each other, providing feedback, challenging each other,
suggesting ways forward, acting in trusting ways and so on. Each member has
to feel that they will be supported by the others. For this reason, we have
introduced communication tool which is not dependent on a domain.
We will give an account of our learning support system in detail in the next
chapter, Chapter 3.
30
Chapter 3
The Characteristics of the System
3.1 Introduction
Learning of algorithms is one of most essential components of computer science
courses. In an introductory lecture on AI, algorithms are taught in order to
understand the characteristics of several kinds of algorithms and concrete steps
involved in various algorithms. Algorithm refers to the techniques and the
processes to involve in solving various problems. As an example of a basic
algorithm is the search algorithm, the purpose of which is to search a particular
key among several keys, and the matching algorithm which check to see if
particular row of characters is included within a certain sentence. Other
examples include the sort algorithms in which given elements are lined up from
the top up or the top down [Sekishita 98].
Generally, search algorithms are well covered as a main subject in primary
textbooks on AI. When a student learns an algorithm, it is important to
understand not only its procedure for operating data structure but also its
meaning [Myat 99]. It is also important to grasp the relationship between the
operations to be done. One of the generally used technologies to support
algorithm learning is an AA. It is mainly used to visualize dynamic behavior of
algorithm. AA system is designed to foster student construction of animations
31
which involves certain key requirements [Stasko 97]
. These systems can support
effectively to learn algorithm as a basis that a student can observe the
movement of the algorithm visually. Moreover these systems have many trials
of adopting visualization technology for the programming practice. Most of AA
systems are used to chase the movement of the program but the research which
is supporting individual guidance is hardly being done during the practice of
the search algorithm for each student. Here, we propose an ITS, in order to
make a student understand the relations between the procedures for operating
data structure and their meanings. In this system, students can confirm the
algorithm by operating it by themselves.
The remainder of this chapter is organized as follow. In Section 2, we explain
three views for learning relationships among algorithm, its meanings and
problem (maze problem). Next, in Section 3, we address learning environment.
In Section 4, we describe tailed assistant. Finally, Section 5 summarizes the
chapter.
3.2 Three views for learning relationships among
algorithm, its meanings and problem
In order to learn search algorithms, the student is provided with three views:
data structure display view, feature display view and problem display view.
The data structure display view shows the algorithm-operated data structure.
The change of contents of this data structure gives students detailed procedures.
The data structure display view consists of four fields, which correspond to
variables used in the search algorithm: the Inspecting Node, the Expanded List,
the CLOSED and the OPEN. Here, "Expanded List " represents "the list of
successors which is expanded from Inspecting node", "CLOSED" represents
"CLOSED List
, or it has been searched", and "OPEN" represents "OPEN List, or
it will search from now" respectively.
32
Inspecting Node Expanded List CLOSED OPEN
~
\` ( 2 y,yt
a ,
Figure 3.1 Data structure display view
The feature display view shows the algorithm's characteristic features and has
been designed to represent interpretation of the algorithm's procedures. The
growth of the tree according to the progress of search can represent
characteristics of different kinds of search algorithm well. The student gets
characteristics of the algorithm from this view. The feature display view is
effective in understanding the algorithm as a whole, because it is an abstraction
of the data structure display view. The student may also understand the
meaning of data operations by comparing these two views.
In Figure 3.2, the square represents a node, the letter of the alphabet is the name
of the node and it corresponds to the letter of alphabet on the problem display
view. The number in the lower left-hand corner is the "cost", or how far a
distance it has gone from the starting point, and the number in the lower
right-hand corner is the "estimate value", or the approximate distance left
before the goal is reached. The red number in the upper left-hand corner
indicates the order in which the node appears on the trace view. The outside
number indicates which step of the search process the node is on this
corresponds to the "data structure display view" below the main screen. The
results of the search are displayed simultaneously in the feature display view
and in the data structure view below.
33
i. I' 11t
t,
Fil
Figure 3.2 Feature display view
The problem display view, in Figure 3.3, shows the maze problem on which the
algorithm has to be applied to solve that problem. Since the conditions that each
individual problem places on the specific movements of the algorithm, or the
specific operations that are performed on the data structure, limit those
movements, the conditions involved in applying a particular algorithm to a
problem are crucial bits of information when seeking a solution. When the
student studies the algorithm, understanding of the relationship between
problem conditions and data structure operation is essential. Using both the
data structure display view and the problem display view at the same time
helps the students to understand the relationship between the problem
constraints and the execution process of the algorithm.
ig
'
"`<, '
Figure 3.3 Problem display view
34
3.3 Active Learning Environment
In engineering knowledge of algorithms, there are two types of knowledge:
declarative knowledge and procedural knowledge. Passive learning style,
which generally occurs during lecture, is suitable for mastering declarative
knowledge. However a more active learning style, which traces the behavior of
the algorithm, is more suitable for the attainment of procedural knowledge
[Inoue E 98a]. In order to help the student to understand algorithms, displaying
the dynamic behavior of the algorithm through the use of animation may be
effective. Here the student receives the explanation passively. However,
Stasko's have found that it has a little effect in the form of passive learning by
the evaluation experiment [Byrne 96], [Lawrence 92], [Stasko 93]. In the
Lawrences' experiment, for example, they reported that when algorithm
animation was used by the lecture instead of slides, there was no significant
difference in student's grade. For this reason it can be concluded that the
animation alone is not sufficient to improve understanding, but must be
included in a more active learning environment for complete understanding.
Active involvement in learning helps the student to build knowledge in his/her
head, which is one of the key issues advocated by constructivists. When the
student has not yet acquired deep understanding of search algorithms, he/she
attempts to solve given problems utilizing his/her own hypotheses. In order to
activate his/her thinking and give him/her a chance to reorganize his/her
knowledge, it is important to give good feedback that also reflects upon the
meaning of the student's trials.
In order to active learning to take place, we have adopted a learning method
that allows the student to confirm his/her understanding of search algorithm
by having him/her operate the data structure view himself/herself. The
student performs operations on the data while keeping to the conditions of the
problem that are obtainable in the problem display view. Our learning support
system displays a feature display view that reflects the operations performed on
the data and provides feedback regarding those operations. In this type of
learning environment, the student is able to further his/her understanding of
the details of algorithm by applying algorithms to individual problems and
35
confirm for himself/herself the meaning of the operations by observing the
feature display view, which reflects the operations being performed on the data.
While a student may understand the features of an algorithm, he/she may have
only a vague understanding of the order of the operations performed on the
data. In such a case, by observing changes in the feature display view, he/she
can obtain feedback on the accuracy of his/her operations.
Moreover, we prepared a passive learning environment. In the passive learning
environment, the system teaches to the student about the relationship between
the data structure and its meaning in the same manner as a teacher does during
lecture. The system operates both the data structure display view and the
feature display view. Therefore, the student can understand the relationship
between the data structure and its meaning comparing with the data structure
display view and the feature display view by using the passive learning
environment.
3.4 Tailored Assistance
When a student solves a problem, it is desirable that the student achieves
his/her goals by himself/herself even at the risk of making mistakes or coming
to an impasse. If the student is unable to determine the source of his/her
mistakes, it is necessary to provide support. In spite of the feedback given by
the feature display view, not all students are able to overcome their difficulties
by themselves. In these cases, the assistance given must correspond with the
learning needs of each individual student. Our system identifies the cause of
the student's error and provides suitable advice to each individual student.
Several methods such as overlay model and buggy model have been proposed
for modeling a student's level of comprehension. Here, we have adopted buggy
model because it have been considered as a method for identifying in an
efficient manner the cause of error in real time.
In order to help students gain a sufficient understanding, it is important to
assign problems that include parts which are easy to commit errors as well as to
36
provide problems that check their ability to correct the kind of mistakes made
on previous trials. To make a practical system, we analyzed students' papers
and determined the common sources of misunderstanding. The student's
papers are submitted for assignments in an AI lecture. The diagnosis module
was designed based upon the results of the analysis. We built student model
based on the results of the error identification and the system assigns the
problem that suits his/her particular need are selected to each student. We will
elaborate on these results in the next section.
3.5 Conclusion
In this chapter, we introduced the characteristics of the individual learning
support system for the purpose of learning search algorithms. When a student
learns an algorithm, it is important to understand not only its procedure for
operating data structure but also its meaning. Moreover, it is also important to
grasp the relationship between the operations and how the problem on which
the algorithm is applied to solve. Our intention is that students not only learn
characteristics but also understand each step of algorithms and its meaning. In
our system, we emphasized the relationship among problems, the data
structure and it's meaning. In order to help the student grasp these dynamics,
that has three views: a data structure display view, a feature display view and a
problem display view, two types of learning style: a passive learning and an
active learning, and tailored assistant. By using this system, students can
confirm the algorithm by operating it themselves. Moreover, this system
advises the student when he/she encounters different kinds of difficulties. We
implemented the system for students in computer science courses in order to
assist beginners when they learn search algorithms. Furthermore, as our aim is
to make a practical system, we analyzed students' papers and determined the
common sources of misunderstanding. The diagnosis module was designed
based upon the results of the analysis.
We will state the basis procedure of search algorithm and the analysis result of
students' papers in the next chapter, Chapter 4.
37
Chapter 4
The Analysis Result of Students' Papers
4.1 Introduction
In an introductory lecture on AI, algorithms are taught in order to understand
the characteristics of several kinds of search algorithms and concrete steps
involved in various search algorithms. In this paper, we are handling five
search algorithms, such as breadth-first search, depth-first search, best-first,
minimum consuming cost and algorithm A*.
In Section 2, we state the basis procedure of search algorithm. Next, in Section 3,
we address the bug classification which are easily committed when we
analyzed students' papers [Myat 2001]. The student's papers are submitted for
assignments in an AI lecture. Finally, Section 4 summarizes this chapter.
4.2 Basic Procedure of Search Algorithms
In the lecture of search algorithms which have almost the same procedure as in
the following steps are taught as follows [Hirashima 2000]:
38
- in the case of breadth-first search
, depth-first search (in case-1) -
Step 0: The start node is put in a list called OPEN.
Step 1: Create a list called CLOSED that is initially empty.
Step 2: If "OPEN = = []" then "exit with failure".
Step 3: Select the first node in OPEN, and remove it from OPEN. Call this node
n.
Step 4: If "n = = goal" then "exit with success".
Step 5: Put n in CLOSED.
Step 6: Expand node n to generate successors, and put them in a list called
Expanded List.
Step 7: Remove successors in Expanded List, if the same nodes exist in
CLOSED.
Step 8: Merge Expanded List and OPEN, and create new OPEN.
Step 9: Return to Step-2.
- in the case of heuristics searches (in case-2) 
Step 0: The start node is put in a list called OPEN.
Step 1: Create a list called CLOSED that is initially empty.
Step 2: If "OPEN = = []" then "exit with failure".
Step 3: Select the first node in OPEN, and remove it from OPEN. Call this node
n.
39
Step 4: If "n = = goal" then "exit with success".
Step 5: Put n in CLOSED.
Step 6: Expand node n to generate successors, and put them in a list called
Expanded List.
Step 7: Calculate the cost of successors in Expanded List.
Step 8: Remove successors in Expanded List, if the same nodes exist in
CLOSED.
Step 9: Merge Expanded List and OPEN, and create new OPEN.
Step 10: Return to Step-2.
Here, both "OPEN" and "CLOSED" are lists composed of search nodes. Node
means one of condition (e.g., start, a, ... , goal), and successor means expanded
node from a certain node. OPEN is including unexpanded nodes and CLOSED
is including expanded nodes.
The differences among these search algorithms are characterized by the
operation of Step8 (in case-1), Step 9 (in case-2), i.e., put the successors in OPEN.
The method of putting successors into the OPEN is an essential to the search
algorithms. This case-1 algorithm can be used to perform best-first search,
breadth-first search. The case-2 algorithm can be used to perform heuristic.
The case of breath-first search is characterized as the algorithm in which the
successors are put into the tail of the OPEN in Step8, i.e., new nodes are simply
put at the end of OPEN (first in, first out, or FIFO). The case of depth-first
search is characterized as the algorithm in which the successors are put into the
head of the OPEN in Step8, i.e., new nodes are put at the beginning of OPEN
(last in, first out, or LIFO). In heuristic, OPEN is reordered according to the
heuristic merit of the nodes in Step9. In heuristics searches, the way to sort the
OPEN is also essential characteristic. Next, we will explain the example of
depth-first search algorithm.
40
 Example of depth-first search algorithm
In the following maze problem, a search for the path from "s (start)" to "g
(goal)" is performed using depth-first search. In depth-first search, a graph
is searched from node to node by exploring a path from a given node as far
as that path will go [Stasko 96]. The path is then backtracked until a node is
reached that has a path (or "edge") going from it that has not yet been
inspected. Conditions are as follows:
1) nodes are assigned letters and the search starts at the node named "s".
2) put nodes from Expanded List to OPEN in alphabetical order.
3) a node in the CLOSED that is the same as the expanded node cannot be
put in the OPEN.
For instance, in Figure 4.2, the search would start at node "s". If more than
one edge, or successors, can be followed from this node, the successors
connected to the node with the lowest letter is chosen first. In step 3 of
Figure 4.2, the possible choices would be to go to nodes, "b" or "c". The
node "b" is chosen since "b" is lower letter of the possible choices. When
the node is reached, the search continues to the next unvisited node