Expert tutoring system for teaching computer programming languages M.M. El-Khouly * , B.H. Far, Z. Koono Department of Information & Computer Sciences, Faculty of Engineering, Saitama University, Urawa-shi, Shimo-okubo 255, Saitama 338-8570, Japan Abstract This paper presents an Expert tutoring system (E-TCL) for teaching computer programming languages through WWW. In this version, many teachers can cooperate together to put the curriculum of one/more computer programming language(s). Their contributions may include: (a) add or modify the commands’ structure that will be taught; (b) generate different tutoring dialogs for the same command; and (c) generate different tutoring styles. On the contrary, the students can access the system through WWW, select any language they want to learn as well as the style of presentation they prefer and they can exchange their experiences. A personal assistant agent for teachers (PAA-T), a personal assistant agent for students (PAA-S) with an adaptive interface, and tutoring agent (TA) has been built. The TA resides on the server side and communicates via HTTP and IIOP with both the PAA-T and PAA-S on the clients side. This structure allows customization of the PAA-T and PAA-S to the needs of the teachers and students, without putting extra burden on the server. In addition, this allows having many teacher agents attending to the needs of a single or multiple student agent(s). 2000 Elsevier Science Ltd. All rights reserved. Keywords: Expert tutoring system; Intelligent agent; Computer aided instruction 1. Introduction El-Khouly, Far and Koono (1999), presented a stand- alone version for an agent-based tutoring system for teach- ing computer programming languages. In this paper, we extend the features of that system to include Internet- based, adaptive learning environment and multi-agent tech- nologies. With the WWW as an educational platform, it will be feasible for the students to access the multimedia course- ware with general-purpose browsers. No special tools are required to start learning. For the courseware provider, it is not necessary to worry about the distribution and mainte- nance of the copies of the courseware but they just take care of the original on their server (Nakabayashi, Maruyama, Koike, Kato, Touhei & Fukuhara, 1997). The proposed system consists of three agents representing a server–client relationship, tutoring agent (TA) as a “server”, personal assistant agent for teachers (PAA-T), and personal assistant agent for students (PAA-S) as “clients”. The PAA-S can communicate with the TA through the WWW to retrieve the tutoring dialog of the command(s) that a student wants to practice, and to access the experiences of other students in the blackboard module. While the PAA-T communicates with the TA to add/modify semantic rules of computer programming languages and to check the correctness of the contents of the blackboard database (as shown in Fig. 1). 2. Personal assistant agent for teachers The object of the PAA-T is to standardize the decomposi- tion of the language under investigation (as shown in Fig. 2), such that the TA can deal with all languages in the same way. The PAA-T consists of three parts, expertise module, semantic rules base, and tutoring text base. The PAA-T helps the teacher to cope with the knowledge base of a computer programming language under investigation, to add or modify the command’s structure that will be taught, and to produce a meta level language representing this computer language, which we call “semantic rules”. 2.1. Expertise module The expertise module consists of domain knowledge that the teacher intends to teach to the student. Representative AI methods used to organize the domain knowledge in the expertise module include development of semantic networks, application of production systems, procedural representations, and building of scripts-frames (Hartley & Expert Systems with Applications 18 (2000) 27–32 PERGAMON Expert Systems with Applications 0957-4174/00/$ - see front matter 2000 Elsevier Science Ltd. All rights reserved. PII: S0957-4174(99)00047-0 www.elsevier.com/locate/eswa * Corresponding author. Tel.: +81-48-858-3489; fax: +81-48-858-3716. E-mail addresses: elkhouly@cit.ics.saitama-u.ac.jp (M.M. El-Khouly); far@cit.ics.saitama-u.ac.jp (B.H. Far); koono@cit.ics.saitama-u.ac.jp (Z. Koono).