Creating more versatile intelligent learning

1 downloads 0 Views 234KB Size Report
However, no existing single ITS can intelligently perform more than a few of the activities listed above. There is a very practical reason for this lack. Existing ...
Creating more versatile intelligent learning environments with a component-based architecture Steven Ritter1, Peter Brusilovsky2, and Olga Medvedeva1 1 Department of Psychology, Carnegie Mellon University Pittsburgh, PA 15213, USA {sritter, medol}@andrew.cmu.edu 2 School of Computer Science, Carnegie Mellon University Pittsburgh, PA 15213, USA [email protected]

Abstract. In this paper we show that, with an appropriate component-based architecture, new functionality can be added to an Intelligent Tutoring System (ITS) with minimal effort. In particular, we show that an explanation function can be added to a component-based ITS which was originally designed to support activity in a learning-by-doing environment. We support these two claims by presenting our recent efforts to extend the Java Algebra Tutor, a variant of the PAT algebra tutor, with a generic example explanation module.

1

Introduction

A human tutor performs several different activities in the teaching process. For example, when teaching some math topic in the classroom a human tutor may: • explain the core knowledge on the topic • tell how this knowledge can be applied to solving problems in the given area • provide examples of problem solving (perhaps by solving several problems on the blackboard and explaining each step of the solution) • support a student in the process of problem solving by providing hints and corrections • suggest a relevant example from past experience • analyze student solutions and explain errors • suggest the next most relevant activity for the student to participate in, taking into account student learning goals and experience For an ITS to approach the flexibility and generality of a human tutor, it will need to support at least these kinds of activities, in ways that adapt to individual students' needs and abilities. Adaptive hypermedia systems [2] can present the core knowledge. Problem solving support systems [6] can help the student in the process of problem solving. Solution analyzers [15] can explain errors and deduce misconceptions. Problem sequencing systems [7] can analyze the student model and select the most

relevant activity. However, no existing single ITS can intelligently perform more than a few of the activities listed above. There is a very practical reason for this lack. Existing "single-purpose" ITSs are a natural result of the traditional approach to ITS development. With this approach, developing an ITS which can support two or three different activities doubles or triples the research and development time. Very few ITS research groups or developers can afford this effort. At the same time, to be useful, ITSs have to support some reasonable part of the teacher's or/and student's work. Otherwise, the benefit from using one more system is not worth the burden of installing and learning it. This problem was analyzed by Brusilovsky [1] in his talk at the AI-ED'95 conference. The author claimed that the problem can be resolved with a new approach to ITS development and a new architecture based on re-usable interacting components. With such a component-based architecture, new functionality could be added to an ITS with minimal effort through re-use of the existing components in another context. At the same conference, Ritter and Koedinger [12] suggested one promising component-based architecture. This architecture has since been applied to the development of several component-based ITSs [11; 13]. In this paper we present another component-based ITS built along the lines of Ritter and Koedinger's [13] architecture. This system provides both interactive problem solving support and step-by-step example presentation in basic algebra. The example presentation functionality was added to the core problem-solving support engine with minimal programming by re-using existing modules in another context. One of the goals of this paper is to demonstrate how new functionality in the given component-based architecture can be added by re-using existing components. To achieve this goal, we provide some basic background on Ritter and Koedinger's [13] plug-in architecture, briefly present the original problem-solving support system and describe how the example explanation component was built by re-using the modules of the original system.

2

The Java Algebra tutor

The Java Algebra Tutor is a variant of the Practical Algebra Tutor (PAT), described in [6]. The tutor assists students in solving word problems described by one or two linear equations. Students solve these problems by completing a spreadsheet and graph describing the problem situation and by solving equations related to the problem situation. The system encourages active learning-by-doing. Students can ask for hints at any step of the process, and the system provides immediate feedback on the appropriateness of each student action. The Java Algebra Tutor currently implements only the spreadsheet portion of the system. PAT contains an expert system capable of solving the problems that are posed to students. As students take steps to complete the problem (for example, by filling in cells in the spreadsheet), the tutor considers whether or not those steps are consistent with a solution that it would follow. If not, the tutor checks to see if the step is consistent with a common error (or "bug"). In such cases, the tutor is able to provide instruction tailored to that bug. Since the tutor is tracking the student's solution at

each step, the tutor is able to give help associated with the student's solution path at any time. In addition to providing help and identifying errors, the tutor continually assesses the student's progress. Each of the rules in the underlying expert system represents a skill that the student needs to master in order to solve the problem. Each skill is either mastered or not, and the tutor maintains, for each student, the probability that the student has mastered the skill. These probabilities are displayed graphically on the "skillometer," which provides the student with information about his or her progress along each of the component skills in the curriculum. The Java Algebra Tutor contains a compiled version of the expert system's rules, as they apply to the current problem situation. Instead of pattern matching against rules in the expert system, the tutor simply matches student inputs and branches along predetermined paths. This compiled version of the system provides better response time with a lower memory requirement, while still preserving the entire behavior of the model-tracing system. From the user's point of view, there is no difference between the systems.

3

Presenting examples while teaching problem solving skills

While the Java Algebra Tutor provides support for students’ problem-solving activities, examination of its initial use made it clear that more specific declarative support for the activity was needed. This is especially important when the instruction is being delivered over the World-Wide Web. Unlike in the classroom context, students accessing the tutor over the World-Wide Web do not have a teacher or other student to guide them in working through a new problem type, and students are much more likely to jump around the curriculum, thus getting less practice on multiple problems of the same format. These students find it tedious to be thrown into the middle of a problem-solving situation, with the only guidance being the ability to ask for help at each step along the way. To provide some declarative instruction, [3] developed a link between an online tutor for algebra and declarative instruction delivered through InterBook [2]. Still, the addition of declarative instruction through InterBook represents only one step towards more flexible presentation of domain knowledge. An obvious next step would be to add the ability for students to follow complete examples of problem solving using the exact tools they will be asked to use to solve problems. Ideally, these examples would be personalized to reflect each student’s level of skill. We can distinguish three basic methods of presenting the information required to master a skill: learning from declarative information, learning by doing, and learning by example. These methods of learning may involve different cognitive mechanisms [14] and can be seen as complimentary. They may account for forming different components of a complex skill [8]. An effective tutor (human or computer) should apply all the three in combination. Despite a growing body of work on learning from examples in the psychological literature [c.f. 5; 16], learning from examples has received relatively minor attention in the ITS area. ITS researchers acknowledge the role of learning from examples in

problem solving [9], but existing ITSs rarely support this method. The ones that do offer an example when it is required [4; 10; 17], typically leave the student alone to explore the examples. We do not know any ITS which provides step-by-step examples in a way that is sensitive to individual students’ abilities. In this paper, we show how this step-by-step example presentation can be added with minimal effort to any system which includes problem solving expertise and an appropriate component-based architecture. Moreover, as we will show later, our example presentation module itself could be re-used to present examples in different domains, thus reducing the efforts to implement this important functionality.

4

Example presentation in PAT-Java

To add example presentation to PAT-Java, we have developed a small examplepresentation module which performs its duties mainly by communicating with existing components such as the Tutor and the Spreadsheet. The module interacts with the student through a small dialog (Figure 1) which appears when the student select an example to learn.

Fig. 1. PAT-Java example presentation interface. The problem-solving window with the spreadsheet is now controlled by the example presentation module. The system is ready to present the next problem-solving step to the student.

Once the student has selected a problem on which to receive an example solution, the student presses the NEXT STEP button (Figure 1). Each step of the example consists of two substeps. On the first substep, the system prepares the student for the next step. It highlights the next cell to be filled and tells the student what is supposed

to be entered on this step. This information is presented using an existing interface component: the help window used to present all help text in the Java Algebra Tutor. This window includes two buttons, labeled >>> and