Design and implementation of a web-based tutoring tool ... - CiteSeerX

14 downloads 24986 Views 64KB Size Report
as an effective support tool for distance learning. The ... programming problems, the problem generator, the ... Keywords: Computer aided education, WWW,.
Design and implementation of a web-based tutoring tool for Linear Programming problems J.M. López, E. Millán, J.L. Pérez-de-la-Cruz & F. Triguero. Dept. de Lenguajes y Ciencias de la Computación. E.T.S.I. de Informática. Universidad de Málaga. SPAIN. e-mail: [email protected]

Abstract It has already been shown that the WWW can be used as an effective support tool for distance learning. The development of web-based learning tools allows the integration of its flexibility with worldwide availability. This paper presents a tool developed to help teachers in the task of teaching the Simplex Algorithm. The domain of the system is algorithmic, and it learning process is strongly related to problem resolution. In the development of the system, several subtasks have been accomplished: the expert system to solve linear programming problems, the problem generator, the student model, the diagnosis module and the engine. The system also has a dynamic help system, and a webbased interface very adequate for the task of teaching. It is capable of proposing problems to each student at the right level of difficulty for her current state of knowledge, to evaluate the student's answer and to decide the next instructional action. Keywords: Computer aided education, WWW, intelligent tutoring systems, learning environments, Simplex Algorithm.

1 Introduction The Simplex Algorithm (Dantzig, 1940) is an iterative procedure to solve linear programming problems, that consists in finding the optimum of a linear function subject to a number of linear constraints. The simplicity and beauty of the algorithm, together with the great savings in money, efforts or time achieved with its use have made it very popular, and today, it is taught in almost any Operations Research course. When teaching the algorithm in a traditional Operations Research course, usually sheets of problems are given to the students. Our first idea was to provide students with a problem solver to allow them to check if the problems had been correctly solved. The problem solver was given to our students, and it showed to be a very useful tool. Then we started

to think in using our problem solver as the expert module of a learning tool. Making this tool available to any person interested was the next step, so the development of a web-based tool was our new goal. ILESA (Intelligent Learning Environment for the Simplex Algorithm) does not try to replace human teachers in the task of teaching the simplex algorithm (the process of teaching the theoretical concepts must be accomplished by them), but to tutor students in developing problem solving abilities from the theoretical concepts acquired. In the next section, we will describe the theoretical basis for ILESA. Then we will discuss the design and development of the system and its implementation in Java, and finally some conclusions and future lines of work will be mentioned.

2 Theoretical basis From a pedagogic point of view, ILESA is based on the curriculum theory [LES 88] that structures the domain in lessons and prerequisite relationships between them. This graph is called the learning strategy and is designed by the teacher. In ILESA, we have organized the domain by constructing groups of problems according to its level of difficulty (each group is a lesson). These levels are: •

Level 1. In this level the system with pose problems to the student with the following characteristics: Optimize c1x1+c2x2+...+cnxn Subject to a11x1+a12x2+...+a1nxn ≤ b1

 am1x1+am2x2+...+amnxn≤ bm x1, x2,...,xn ≥ 0

1

where all bi are non-negative, which is the simplest structure of a linear programming problem. We will call this type of problems LP0 problems, and the general problem will be called LP problem. In the first stage we will pose only maximization LP0 problems. We have imposed certain restrictions to the problem generator in such a way that, at this first level, the problems posed have an unique optimal solution. Level 2: In this step the student is posed LP0 • problems that have alternative optimal solutions. Level 3: Unbounded LP0 problems are • added Level 4: In this step minimization LP0 • problems can also be posed Level 5: Unfeasible problems (non• negativity of bi’s is no longer required) are added Level 6: Any problem with non-negativity • constraints for all the variables can be asked Level 7: In this level any LP problem can be • posed. To advance in this curriculum, the student will not need to show perfect knowledge of a particular level, (the levels are cumulative) but the requirements to fulfil last level will be harder. The learning strategy is kept fixed. There might be another possibilities: levels 2 and 3 could be interchanged between them or posed before level 4, as proposed in [WINS 94]. ILESA relies in the classical model of cognitive skill acquisition (see [VANL 96] for a complete description) using the coached problem solving technique. Coached problem solving happens when the student solves problems with a tutor, and has proven to be an effective technique of instruction, especially for procedural knowledge. In ILESA, students try to solve the problem, and receive immediate feedback if they make a mistake. Another important characteristic of ILESA is that it is a generative program, because it is able to generate the problems to be presented to the students at the right level of difficulty. In [MILLA 96] we describe the design and implementation of TUDER, an ITS for symbolic derivation that is also a generative program.

3 Design of the system 3.1 Description of the system When the student begins the session, she has to type her name and a password, to create or recover her student model. Students can use ILESA in different ways: a) as a problem solver b) to solve problems with the help of the system. The problems to be solved can be introduced by the student (for example, if she wants to use the tool to solve a sheet of problems that the teacher has given her) or generated by the system according to her student model. Let us suppose that a student chooses this last option, and begins the tutorial at the lowest level. Then, the system will automatically generate a problem and coach the interaction: the student will be asked to perform the following operations; 1) introduce slack variables 2) fill in the simplex tableau with data 3) identify the basic feasible solution and the value of the objective function 4) determine the entering variable and the pivot row 5) Perform the iteration and identify new solution and new objective function value 6) decide if the algorithm has finished, and if it hasn't, return to step 4. If the student makes a mistake in any step, she will be informed about it and encouraged to try to fix it, but if she still doesn't know how to do it, a help system will be activated and the necessary information will be presented to the student. The general schema for the following levels is basically the same, but the coaching will fade progressively as the student advances. In the last level the student is even allowed to take wrong decisions because we think that, by allowing the students to explore wrong paths, their knowledge of the subject matter can be reinforced. As an example, we show one of the windows that are presented to a student in the resolution of a problem. The student has already identified the variables that have to enter and leave the basis, and their corresponding row and column change their color to facilitate the identification of the pivot element.

2

of knowledge reached by the student, where 0 means that the system is sure that the student does not have the skill, 2 means that the system does not know if the student has the skill, and 4 means that the system is sure that the student has the skill. For a new student, all skills are assigned a value of 2 (ignorance). These values are updated according to the student's answers with a simple heuristic rule: we increase the value in one if the student shows competence in the skill, and decrease the number in 1 otherwise. Figure 1. Window for an iteration (partially filled-in by the student)



An array of eight booleans, that represents if the student is already able to solve the problems corresponding to the shaded nodes.

3.2 Structure and components of the system In the design of the system, we have used the traditional model of an intelligent tutoring system, which is described in detail in [POLS 88]. Next we describe the modules that compose the system The expert module The domain of this system is an iterative algorithm, so the expert module is a linear programming problem solver. The simplex algorithm is not very difficult to implement, but this expert module was constructed not only to solve problems, but also to allow diagnosis of the student answers, so a great number of different ways to solve problems has been considered. Although the size of the problems proposed to the students has been limited for pedagogical reasons, the expert module is able to solve also big problems, so it can also be used as a general problem solver. Student diagnosis module We have decomposed the domain in skills, and established prerequisite relationships between them, as shown in figure 2 (all of them are AND relationships). The nodes shaded correspond with the problems posed to the student at the seven levels specified (nodes 12 and 13 correspond to level 3, remember that the levels are accumulative). The student model consists basically in: •

An array of 15 integers between 0 and 4. Each number corresponds to a basic skill and represents the system beliefs about the degree

1

2

3

5

4

6

8

11

9

12

10 13

16

17

14 15

18

20

7

19 21

22 23

Basic skill. Ability to solve certain type of problem

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.

Introduce slack variables. Fill in the simplex tableau with data. Identify solution and objective value in the tableau. Select entering variable for maximization LP0´s. Select leaving variable. Perform calculations. Identify optimal solutions. Solve maximization LP0´s with unique solutions. Recognize alternative optimal solutions. Solve LP0´s with alternative optimal solutions. Recognize unbounded solution. Solve LP´s with unbounded solutions. Solve any maximization LP0. Select entering variable for minimization LP0´s. Solve any minimization LP0. Introduce artificial variables. Construct problem for Phase 1. Identify unfeasibility in Phase 1. Solve LP´s with unfeasible solutions. Construct Phase 2 problems. Solve any Two Phase problem Relax non negativity assumptions Solve any LP Problem

Figure 2: List of skills and relationships between them

Problem generator This module constitutes an unlimited source of problems for the student, providing always the adequate type of problem. Although the generation of linear programming problems seems to be not a very difficult problem (in fact, it reduces to generate a set of random values as coefficients for the objective function and constraints), for our purpose we needed to control the type of problem to be generated, so we have developed certain conditions to generate problems with unique solution, alternative solutions, unbounded solutions and no feasible solutions. Instructional module This module will manage the learning strategy to control the pedagogic functioning of the system, including help requests from students. It coordinates and directs the actions of the expert system, the student diagnosis module and the

3

problem generator. It will decide at each moment if a problem must be posed, or help must be offered, the deepness of these help, etc. The navigation through the learning strategy will depend of the knowledge showed by the student during the interaction. Engine This module will be a control mechanism to guide the behavior of the rest of the components of the system. It creates the initial student model for a new user, and checks the password for an old one to recover her student model. Then it calls to the problem generator and presents a problem to the student. It also orientates the student in the resolution of the problem. To evaluate the student answers, the expert module is called to solve the problem and then the student and expert solutions are compared. Finally it consults the instructional module to receive pedagogical instructions, and then the interaction with the student begins again.

classes to the variable Central, these are shown directly on the applet, sequencing the different screens in the same frame. Each of these classes corresponds to one of the stages of the interaction between the student and the system. The sequence is given in Figure 3, in which some of the main stages have been highlighted. The cylinders represent the connections with the server, which take place to generate, recover or update student models. 1. UserReception 2. ChooseLevel



34

9. Solution 10. DataIntroduction

3.3

Implementation of the system. Client/Server Architecture of ILESA

31

29

30

27

26

25

28 3



32

13. ProblemGeneration 

29. NewIteration

33



32. SolutionIdentification 

6

5

7

22 21

9 2

1

4

13

3

10

23

8

34. Congratulations

User interface This module will allow the student to interact with the system.. As ILESA is web-based and has been implemented in Java, its interface is very easy to understand and use by any person that is used to navigate in the web. To facilitate the interaction of the system and the student, the interface admits fractions and decimals, and we have built a small calculator and integrated it in the system to be used by the students that want help in the calculations.

21



7. ShowProblem

14

12

11

24

19

20

17

18

15 16

Figure 3: Diagram of classes in ILESA

So the ‘intelligence’ of the system resides in the applet, which makes all the decisions taking into account the information retrieved from the server. The system has been implemented in Java with Sun Microsystems’s JDK 1.1.4, and at this moment it is available at http://alcor.lcc.uma.es/~jmlopez/

4 Conclusions

The system is based on a Client/Server architecture. The student model is kept in the server, which accepts read and write requests from the applet (the client). All the processes are carried out in the applet (generation of new problems, expert problem solving, comparison of student’s and expert solutions). The instructional decisions are made by the client, that also decides when and how to update the student model.

In this paper we have described ILESA, a webbased tool to help teachers in the task of teaching the Simplex Algorithm. We think that ILESA has successfully met the initial goals fixed: it is an useful tool for distance learning and provides an unlimited source of problems that allow students to begin in the lowest level and then practice until the problem solving activity becomes nearly automatic.

The applet defines an area in which graphical objects can be shown. Most of the classes of the system have been declared subclasses of a class Panel. This panel is stored in a variable Central. Thus, when assigning different objects in these

Developing web-based tutoring systems has its advantages but also its disadvantages. In our opinion, the main advantages of using the web are its worldwide availability, its extended interactivity, its nice interfaces and the improved

4

capabilities of new WWW browsers. Between the drawbacks we can cite the delays due to downloading, but in ILESA the waiting times for the student are not very high. In relation to future works, we are currently thinking in some improvements: •

We want to introduce probabilistic models (bayesian networks) for the student diagnosis module, because we think that the soundness of propagation algorithms could improve the accuracy of our student model.



We plan to turn ILESA in a self-contained tool, that is, we plan to include in the system not only help devices, but a sort of electronic text-book, in such a way that a student can learn the simplex algorithm by means of the interaction process with ILESA.



When the system has been improved with these two characteristics, we plan to subject ILESA to external evaluation to test its effectiveness and to study what pedagogical improvements can be made. Informal evaluations have showed that students find the system easy to understand and manage, thanks to its friendly web-based interface.

[WINS 94] Winston, W. Operations Research: Applications and Algorithms. Third Edition, Duxbury Press, 1994.

5 References [LESG 88] Lesgold, A. Towards a theory of curriculum for use in designing intelligent instructional systems. In Mandl, H. and Lesgold, A. (eds), Learning issues for Intelligent Systems. Berlin, Springer Verlag, 1988. [MILLA 96] Millán, E., Pérez-de-la-Cruz, J.L. Triguero, F.and Vázquez, L. TUDER: an ITS for symbolic derivation. Computer Aided Learning and Instruction in Knowledge Engineering. Lecture notes in Computer Science, 1108, Springer Verlag, 1996. [POLS 88] Polson, M.C. Y J.J. Richardson (eds). Foundations for Intelligent Tutoring Systems. Hillsdale, N.J., Lawrence Erlbaum, 1988. [VANL 96] VanLehn, K. Conceptual and Meta Learning during Coached Problem Solving. Proceedings of the International Conference on Intelligent Tutoring Systems (ITS'96), Montreal, June, 1996.

5