We also describe JV2M as an example of a game-driven intelligent tu- toring system to ... With few exceptions, almost every game gets to an end. When the user ...
Game-Driven Intelligent Tutoring Systems1 Marco A. Gómez-Martín, Pedro P. Gómez-Martín and Pedro A. González-Calero Dep. Sistemas Informáticos y Programación Universidad Complutense de Madrid, Spain {marcoa,pedrop,pedro}@sip.ucm.es
Abstract. With the increase of computer capabilities, many learning systems have become complex simulators with advanced interfaces close to game quality. However, many games features have not been added to them. This paper focus on this area, listing what games can provide to simulation-driven tutoring systems. We also describe JV2M as an example of a game-driven intelligent tutoring system to teach the compilation process of Java programs.
1
Introduction
Since computers have become popular, many tutoring systems have been developed. We can categorize them into animations, simulations, computer assisted instruction (also called computer-based training), Web-based learning, intelligent tutoring systems (ITS) and pedagogical agents. In knowledge-domains where the student has to practice what she learns, simulators are the natural approach. But providing an almost perfect simulation is not enough without some kind of instruction and guide. Some ITS arise as improved simulators where intelligence has been added. Now the simulation is the learning environment, and the system provides guidance at the end of each iteration ([1]). Case-base teaching (CBT), as a particular kind of ITS, is a learning method based on Case-based reasoning (CBR). Actually, CBT is a learning-by-doing approach where the student works on a task that pursues a pedagogical goal that profits from the expert experiences presented at the right moments. In order to do this, it confronts the student with more and more complex problems, and gives her contextualized explanations. When the system detects the student has enough knowledge to get over the next level, it presents the next exercise. A supplementary enhancement is to incorporate animated pedagogical agents (PA) who inhabit in the learning environments ([7]). Most of those systems focused on learning factors are boring applications that the student uses because he has to. On the other hand, the rise of computer speed have increased the amount of entertainment software. Players are immersed in microworlds, not learning any particular domain but becoming part of the environment. Gaming shows us that long, traditionally tedious, and difficult tasks can be engaging and fun when they are part of a good story ([5]). When we manage to make learning 1
Supported by the Spanish Committee of Science & Technology (TIC2002-01961)
content blurs with game story, the concept of game-based learning is born. Thus, game-based teaching is used to describe the application of games to learn ([10]). We are not aware of any attempt to combine games (or game-base learning) with intelligent tutoring systems. This paper focuses on that attempt. In the next section we look for features in games that can be used in tutoring systems. We then describe one of such systems called JV2M that we are developing to teach the Java compilation process, where we are integrating both fields. We conclude with an examination of related work and some conclusions.
2
What games can provide to learning-by-doing
The basic relation between games and tutoring systems is the equivalence between game levels and exercises. In this section we analyse the consequences of this relation and how an ITS based on CBT can profit from the ideas already used in games. With few exceptions, almost every game gets to an end. When the user reaches it, the game rewards her showing spectacular effects. This can motivate her, hoping to see where the game drives her. In learning environments where the concepts in the domain are clearly limited, the nature of the domain itself forces the application to finish when the user model indicates the learner knows all the domain concepts. When playing entertainment software, the big reward is to win the game, but when the user starts playing, that is a pretty distant goal ([9]). Thus to keep the player attention, many games add little rewards at the end of some levels (as cutting-scenes). Experience teaches us that these rewards cause users to play more. Learning applications can apply the same concept when the student resolves an exercise. Usually, games manage to keep the user attention with a background story. In entertainment products, there is a common thread running throughout the entire game, giving the user the idea of unit. The cutting-scenes shown between levels are part of that story or tail, and they show the user the next challenge to overcome. Therefore, when a tutoring system pretends to be as fun as a game, it is important to break the feeling of the application as a collection of independent exercises. It needs to keep some kind of relation between each exercise, in order for the user to perceive coherence in the application. The idea of using a background story can be taken from the game domain. Since every story must have an end, the ITS should finish. This contrasts with the fact that traditional intelligent tutoring systems do not have an implicit ending; the user does stop using it when she thinks she has learnt enough, when she gets bored or when the system does not introduce any new concept. In order to obtain the story, a scriptwriter can compose an engaging script with a clear ending. As a basic constraint, the script has to be divided into different phases or levels, each one becoming an exercise proposed by the CBT. When the application considers the user knows all the concepts, it drives the story to its end, letting know the student that both, the game and the learning process, have finished. Ideally, the story has not to be wire coded, but can be created by a director system which dynamically generates it and controls it ([3]) according to the exercise progress. Whatever method is used to generate the script, the CBT cycle underlies the game process:
– The script motivation is shown to the user, in order to engage her to proceed with the next exercise. It consists in presenting the goals of the story that the user will get if she manages to resolve the problem. – The pedagogical module chooses the next exercise using the student model. – The virtual environment is shown, and the user is left on it to perform the exercise. If there is a pedagogical agent, he also receives information about the new exercise. – Learner tries to resolve the problem while the pedagogical agent observes her and helps when she needs it. User model is updated with the information collected by the agent or system. One potential drawback of hiding the CBT cycle is that the user cannot participate in the decision of choosing the next exercise, as some traditional tutoring systems allow. For example, in [11] the user can opt to repeat an exercise or ask for another similar one to practise the same concepts with a different problem. However the idea also matches entertainment software. Nowadays more and more games allow the user to repeat a level. This behaviour can be kept in games with learning content, but now the user actually performs again the exercise when she is not very proud of her solution or time. The game could even have an option as “play a level similar to this one which I have already passed”. Here the pedagogical module will select an exercise that involves the same concepts that those taught in this phase. Using all these ideas, a set of relationships arises between the characteristics many games posses today and the kind of features a CBT system should have: – Start a game: a new player is registered in the system. At the beginning, her user model will indicate that she has no knowledge on the domain. – Game tutorial: more and more games include an initial tutorial to teach the user the basics of the application. In a learning environment this stage could be used to extract the learner’s initial knowledge of the concepts and update her model. – Accomplish a level (puzzle or quiz): it is equivalent to resolving an exercise selected by the pedagogical module. – Save the game: in a CBT system, the save-points store the user model and the story state. The saved game also contains which exercises have been already resolved, to give a chance of repeating them. – Load a game: it retrieves the user model and accomplished levels. The user is able to proceed to the next level or to repeat or to play in a similar one. – Win the game: when all the levels have been accomplished, the user has finished the game. In a CBT system, the application states the user knows everything the system is able to teach. The script must be finished, and the user perceives that she has reached the end. – Failed: when the user cannot accomplish the phase (she has been defeated), she must reload a previous game. In CBT systems, this action symbolizes the user performing an exercise incorrectly, and she must try again. Either the system or the pedagogical agent must provide some help to assure the student learns from her mistakes, and she advances towards the comprehension of the concepts. – Checkpoints with automatic saving: in some occasions the game stores its state without an explicit order from the player. If the user happens to fail in her mission, the level starts over on that instant, rather than going back to the last user-saved
point. However, these check points are not stored between sessions, so if the user closes the game it is not possible to start from this point. In a CBT system the application can use these places when the user has made too many mistakes in the exercise resolution, and it is not possible to recover from them.
3
JV2M description
Currently, we are developing JV2M, an application where we aim at putting into practise the previous ideas about the relationship between games and ITS. JV2M uses ideas from CBT and pedagogical agents to teach programmers with Java knowledge the Java Virtual Machine (JVM) internals and how the compiler translates source code into object code (JVM code). Specifically, student is immersed in a virtual environment where she can manipulate objects and interact with characters. The three-dimensional environment is an artificial site that simulates the JVM. User is symbolized as an avatar that interacts with the objects in the virtual world. She also owns an inventory where collected objects are stored in order to be used later. The metaphorical virtual machine is also inhabited by JAVY (Java taught Virtually), an animated pedagogical agent who supplies hints, and who, eventually, can solve the exercise by himself. Each exercise consists of the source code of a Java program that must be compiled. User has to execute the compiled object code on top of the JVM represented by the metaphorical virtual environment. The central part for a CBT becoming a game is a script that joins the exercises (levels) to keep them coherent. The story’s background is the user avatar, who used to live in the real world, waking up with a hangover in a mysterious cartoon straw rick. He discovers he has been rammed into a virtual world, known as YOGYAKARTA, where he wants immediately run away. But he will be only able to leave when he understands the rules of that strange city. Obviously, YOGYAKARTA is our metaphorical JVM, so understanding it consists in executing Java program on top of it. In the virtual world, our main character is not on his own. The environment is populated by other characters who are in similar horrible situation, locked in a world that is not theirs. They are oppressed peasants, who have neither time nor enough knowledge to unleash a war of liberation. And that is, specifically, the “auto impose” role of our pupil: he will study how that world works, in order to execute more and more difficult exercises to liberate more and more peasants of their oppressors and, eventually, to open the hidden communicating door with the free world. In each level, a peasant asks the user to be freed. The student will have to execute a specific program to do it, and the slave will, eventually, join to the revolution. Clearly the exercise to solve is selected by the pedagogical module according to the estimated user knowledge. The game (and the learning process) ends when the pedagogical module decides to face the user with the last level that joins every concept the user is supposed to have learnt. Instead of releasing a new peasant, this last exercise opens the secret door that let everybody leave YOGYAKARTA and, finally, come back to the real world.
Fig. 1. Student (right) approaching JAVY (left) to ask him a question.
4
Related work
There are multiple commercial and academic attempts to teach specific concepts to children by means of computer applications that hide the learning process under a game. Even some commercial games have been recognized to promote beneficial skills and abilities as deductive reasoning, memorisation or co-operation. Teaching content which is of direct relevance to the school curriculum seems more difficult to teach ([6]). Nevertheless, that has been achieved in some systems, as the commercial “Where is Carmen Sandiego?” game series. “Monkey Wrench Conspiracy” ([8]) is a videogame tutorial, which teaches how to use a complex CAD program. Each level corresponds to an exercise in that program, but the system “decorates” them using a motivating script. Nevertheless, it does not seem to have a pedagogical module or a pedagogical agent: every game will be the same for each user. The academic world has developed educational software to teach how some real and virtual machines work. A work similar to our system (about the way we teach the JVM) is CPUCity ([1]). A pedagogical agent called WHIZLOW inhabits the virtual environment but the system has not a script to give a background story. Actually, the system is neither presented as a game at all nor had a clear exercise base or pedagogical module. We are not aware of any other attempt to teach the compilation process, although there are some systems that aim at teaching computer programming. For example, ToonTalk ([4]) is a game to teach programming. Nevertheless, it is a system developed with children in mind, so it is supposed to teach programming concepts but users do not learn how to write source code. Finally, Spion ([2]) has been used for years to teach German language using a textual adventure game about spies in the years previous to the unification of Germany.
5
Conclusions and future work
In this paper, we have analysed the different opportunities to improve intelligent tutoring systems using features of the game world, and vice versa. The main idea is to supply ITS with an explicit ending using a background story. We have also detailed how we are putting into practise this scheme in our own educational system, JV2M. This application teaches the Java compilation process using a virtual environment that simulates the Java Virtual Machine using a metaphor with buildings, characters and machines. Each exercise is the source code of a Java program the user has to compile and to execute on top of that JVM. A pedagogical agent called JAVY inhabits the learning environment and he supplies the user with help. JV2M is still under development and it needs more work. To gauge the effectiveness of our system, an evaluation will be conducted with students with Java programming knowledge when the program will be finished. To conclude, an exciting point of open research that should be scrutinize is the real-time adjustment of the background story depending on the user interaction, in order to do each game even more different to others.
References 1. W. Bares, L. Zettlemoyer, and J. C. Lester. Habitable 3D learning environments for situated learning. In Proceedings of the Fourth International Conference on Intelligent Tutoring Systems, pages 76-85, San Antonio, TX, August 1998. 2. G. Culley, et al. A foreign language adventure game: Progress report on an application of AI to language instruction. CALICO Journal, 4(2):69-87, December 1986. 3. C. Fairclough and P. Cunningham. A multiplayer case based story engine. In 4th International Conference on Intelligent Games and Simulation (GAME-ON), pages 41-46, November 2003. 4. K. Kahn. A computer game to teach programming. In Proc. National Educational Computing Conf., 1999. 5. D. Klaila. Game-based e-learning gets real. Learning Circuits ASTD's Online Magazine. http://www.learningcircuits.org/2001/jan2001/klaila.html, January 2001. 6. A. McFarlane, A. Sparrowhawk, and Y. Heald. Report on the educational use of games. TEEM: Teachers Evaluating Educational Multimedia, 2002. 7. R. Moreno, R. Mayer, and J. C. Lester. Life-like pedagogical agents in constructivist multimedia environments: Cognitive consequences of their interaction. In Conference Proceedings of the World Conference on Educational Multimedia Hypermedia, and Telecommunications (ED-MEDIA), pages 741-746, Montreal, Canada, June 2000. 8. M. Prensky. Digital Game-Based Learning. McGraw-Hill Trade, First edition edition, December 2000. 9. A. Rollings and D. Morris. Game Architecture and Design. New Riders, Indianapolis, 2003. 10. L. Smith and S. Mann. Playing the game: A model for gameness in interactive game based learning. In Proceedings of the 15th Annual NACCQ, 2002. 11. R. H. Stottler. Tactical action officer intelligent tutoring system (TAO ITS). In Proceedings of the Industry/Interservice, Training, Simulation & Education Conference (I/ITSEC 2000), November 2000.