Academia.eduAcademia.edu

Teaching Computer Programming Languages Through WWW

This paper presents web-based tutoring system (W-TCL) for teaching computer programming languages through WWW. In this version, two new features have been added: blackboard module and adaptive interface. With blackboard module a teacher can exchange his expertise with other teachers, and with adaptive interface the novice student will be satisfied because the system avoids complex interfaces. The system contains three sub- agents: the personal assistant agent for teacher (PAA-T) , the personal assistant agent for student (PAA-S) and tutoring agent (TA). Using PAA-T, many teachers can cooperate together to: (a) put the curriculum of one/more computer programming language(s), (b) add or modify the commands' structure that will be taught, (c) generate different tutoring dialogs for the same command, and (d) generate different tutoring styles (e.g. text or Q&A).

ABSTRACTS Proceedings of M/SET 2000– Feb ruary 5-8, 2000 San Diego , Califo rnia Editor Ro bby Ro bso n Copyright © 2000 by the Association for the Advancement of Computing in Education (AACE) All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, without the prior written permission of the publisher. The publisher is not responsible for the use which might be made of the information contained in this book. Published by Association for the Advancement of Computing in Education (AACE) P.O. Box 2966 Charlottesville, VA 22902 USA www.aace.org Printed in the USA ISBN 1-880094-38-X Special thanks to—AACE Technical Coordinator: Jerry Price, Univ. of Houston. Teaching Computer Programming Languages Through WWW Mahmoud M. El-Khouly Behrouz H. Far Zenya Koono Computer Sciences & Information Dept. Saitama University, Japan. {elkhouly,far,koono}@cit.ics.saitama-u.ac.jp Abstract: This paper presents web-based tutoring system (W-TCL) for teaching computer programming languages through WWW. In this version, two new features have been added: blackboard module and adaptive interface. With blackboard module a teacher can exchange his expertise with other teachers, and with adaptive interface the novice student will be satisfied because the system avoids complex interfaces. The system contains three subagents: the personal assistant agent for teacher (PAA-T), the personal assistant agent for student (PAA-S) and tutoring agent (TA). Using PAA-T, many teachers can cooperate together to: (a) put the curriculum of one/more computer programming language(s), (b) add or modify the commands' structure that will be taught, (c) generate different tutoring dialogs for the same command, and (d) generate different tutoring styles (e.g. text or Q&A). Introduction Learning one of the computer languages today, is essential for students in both undergraduate and graduate levels. However, the lack of good instructors is a problem. Using computer-aided instruction (CAI) and Internet technology can solve this problem. The movement toward client-server applications began in the late 1980s and so in many organizations there are already many server applications with well-structured APIs for RPC or IPC access by a client. However, in many cases the backend server is a relatively standard database monitor, which provides no logic or protocol specific to the current application. The emergence of network computing, where the client side of the application logic is provided by JAVA applets that are downloaded at runtime to a Web browser, offers a new opportunity for constructing the agent-equivalent of a Web browser (Alper, 1997). With the WWW as an educational platform, it will be feasible for the students to access the multimedia courseware with generalpurpose browsers. No special tools are required to start learning. For the courseware provider, it is not necessary to worry about the distribution and maintenance of the copies of the courseware but they just take care of the original on their server (Nakabayashi et al., 1997). Lewis Johnson (Lewis Johnson, et al., 1997) support interaction with teachers and students through their project ADE, using off-the-shelf whiteboard and teleconferencing tools. But this required both teachers and students to be on-line. The proposed system consists of three agents representing a server-clients relationship, tutoring agent (TA) as a “server”, personal assistant agent for teachers (PAA-T), and personal assistant agent for students (PAA-S) as a “clients”. The PAA-S can communicate with TA through 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 blackboard module. While the PAA-T communicates with 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 Figure 1). Personal Assistant Agent for Teachers The object of the personal assistant agent for teachers (PAA-T) is to standardize the decomposition of the language under investigation (as shown in figure 2), such that TA can deal with all languages with the same way. Each computer programming language has been stored at a different directory, and each file in its directory represents a command name associated with (level of difficulty, text or Q/A or quasi). For example, the file named for01t.html at BASIC directory, means that this file contains the text describes the FOR command for first level. PAA-T consists of three parts, expertise module, semantic rules base, and tutoring text base. 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 it “semantic rules”. To construct the semantic rules base, PAA-T uses BNF (for Backus-Naur Form) (Aho, etc., 1986). Tutoring Module TA Server 3. PAA-S 4. Agents User Interface Students PAA-S Agents PAA-T Agents Teachers Figure (1): W-TCL System Tutoring Text Tutoring text-base contains the text that represents the commands of computer programming language. Text is organized in terms of a conceptual network (Brusilovsky, et al., 1996) hierarchically into lessons, sections, subsections, and terminal pages. Terminal pages contain the problems to be solved for the current command under investigation before it introduces new command. Each teacher can contribute in this tutoring text-base: he/she provides an optimal learning path for an assumed average student. The tutoring text will be retrieved by the name of the command. At the database, the extension of the command’s name represents the teacher’s ID number as well as the order of this text. The ID number of the teachers and the order of the text will be used to determine which text should present first at PAA-S. Taking into consideration the teacher’s specialist (since a text of one computer programming language can be used in teaching another computer programming language, as we shall later). Blackboard module Teachers can share their experiences through blackboard module. The blackboard module has three components: Ø global database called the blackboard (hosted at the TA-Server), Ø independent knowledge sources (from any PAA-T), Ø Scheduler to control knowledge sources and the blackboard database. All experience elements are recorded in a structure, global database called the blackboard (Avelino et al., 1993). The blackboard structure organizes experience elements along two dimensions, computer language name and command name. Each record contains the following fields (teacher ID, computer language, command name, new quasi, and suggestion of solution). When a teacher wants to generate some examples and he needs some previous examples even from different computer programming language, then he sends a message to the message center at the blackboard module. A statement of the example required is displayed by the message center to all teachers on line. When a participant feels that he can contribute to the solutions, he sends his contribution to the message center. Personal Assistant Agent for Students The personal assistant agent for students (PAA-S) consists of three components, student model, tutoring module and user interface module. Student Model PAA-S invokes the student model to check the student answer. In order to accept a free format answers from a student, one of the Compiler-phases had been used, it called “Lexical Phase” (Philip et al., 1978). The lexical phase is concerned with breaking up the string of characters into the words they represent. For example, if the system asks the student to construct a conditional statement that calculates the tax as 10% of the salary if the salary exceeds 200000 yen, then the answer of one student might be: if salary>200000 then tax = salary * 0.1 The lexical phase would discern the fact that this character string represents the word “IF” followed by variable “salary” followed by the operator “>” followed by the number “200000” followed by the word “THEN” followed by a statement “tax = salary * 0.1”. Again the last statement will be broken to be variable “tax” followed by an equality operator followed by variable “salary” followed by multiply operator followed by number “0.1”. Each token consists of two parts, a class part and a value part. The class part denotes that the token is in one of a finite set of classes and indicates the nature of the information included in the value part. Moreover, during lexical phase in the above example, PAA-S makes spell checking for the reserved word character by character. For instance, if the student enters “if salary > 200000 tha”, then the agent will not accept any other characters and underlines character “a” and an error message appears, guiding the student to correct it to be character “e”. Then the student can complete his answer. Note that, if the student enters “tex” instate of “tax”, the system will not correct it, since the system checks only reserved words for the computer programming language under consideration. The system always consult semantic rules base to do that. Using the tutorial module When the student accesses the module, the system asks about the computer's language, which the student wants to learn. The system downloads the tutoring dialog of this language and waits for the student to select the command he/she wants to practice, to retrieve the associated tutoring dialog's file(s). The system presents the text that describes the command, and asks the student if he/she understands it or not. If the reply is “no”, the system presents another text for another teacher. If still the answer is “no” the system converts to another style for presenting the command (e.g., Q&A) or consult the blackboard database. If the reply is “yes”, the system asks the student to write an example statement to check it. The system can accept a free format text from the student, and then infer the student model to check this statement. If the statement is correct, the system increments two counters, one for the number of questions which had been asked to the student, and the other is the correct answer counter. Otherwise, only the first counter will be increased. If the correct answers of a student exceed 75% then the level of difficulty will increase by one, but if it is less than 50% the level of difficulty will decrease by one. After the student completes this step, the system re-presents the first menu to allow the student to select one of the followings: (a) select another command, (b) present the score, and (c) exit. PAA-S & TA interface Students can share their experiences through blackboard module. All experience elements are recorded in a structure, global database called the blackboard. The blackboard structure organizes experience elements along two dimensions, computer language name and command name. Each record contains the following fields (student ID, computer language, command name, problem description, and suggestion of solution). When a student faces a problem, and he/she could not catch the required meaning from the teacher’s text, he sends a message to the message center at the blackboard module. A statement of the existing problem is displayed by the message center to all students on line. When a participant feels that he can contribute to the solutions, he sends his observations and/or conclusions to the message center. The scheduler organizes the knowledge source activity as well as the blackboard database and sends the content from time to time to teachers to check its correctness, if it is correct it is moved to previous dialog database (hosted at TA) (as shown in figure 1). Each teacher observes the messages written by others and considers those messages related to his specialty. Some of those teachers (who built the knowledge base for the same computer programming language under investigation) are able to offer immediate suggestion on what to do since their knowledge applies directly to the information currently in the message center. Others (who built the knowledge base for another computer programming languages), however, are forced to wait, possibly for an extended time, before their expertise is needed and can be applied. PAA-S User Interface In most of intelligent learning environments (ILE) systems, only tutoring component is adaptive. The user interface usually looks the same for the novice and for the advanced student, while the student’s knowledge changes from the beginning to the end of a course (Brusilovsky, et al., 1995). In PAA-S we use the student model for creating an adaptive interface. This done in several ways: (1) last state adaptation, (2) visual adaptive annotation of links, and (3) function panel adaptation. By this way, the student can feel better, because when the interface is oriented towards an experienced student, the interface appears to be too complex for a novice student, and vice verse. The browser downloads the HTML page and the applet code from TA server to PAA-S. The applet then runs on the client’s computer. First, the applet downloads the data file containing the initial variables about how the user interface should looks like. Then according to the student performance, which will be recorded in the file, the browser downloads the suitable page for him. Last state adaptation Last state adaptation means adaptation to the last state of the user-system interaction, i.e. the system keeps the “settings” of the individual user (working directories, window position, etc.) and comes up when starting like the last time the user worked with it. Visual adaptive annotation of links PAA-S uses an extension of the traffic lights metaphor to annotate links visually. When presenting the current command tutoring under investigation, links to the other commands were annotated corresponding to a simple traffic lights metaphor referring to knowledge state of each student. A red font of the link indicated that the corresponding command or section was not ready to be learned because necessary prerequisites were not met. The prerequisite relationships between commands are not represented directly, but the system is able to compute them from part-or and is-a relationships using several heuristics. A green font of the link indicated that this command or section was ready and recommended to be learned and a yellow font indicated that this command have been learned. If the student visit a tutoring part of a command and did not success to solve its exercise, the link of this command will be marked as a green font not as a yellow one in the next invoke. Tutoring Agent TA contains tutoring module, previous dialogs database, semantic rules base, and blackboard database. Any computer language has command(s) for I/O, condition, loop, and etc. The way to teach those commands is almost the same for all computer languages, for instance, to teach the condition command in BASIC will be done in quite the same way as the condition command in FORTRAN. The tutoring agent can construct the tutoring module for the new language by retrieving the tutoring dialog of similar command in another language and adapts it. This is very useful to produce several tutoring texts from different teaching point of views to fit students needs. For example, if TA has the tutoring dialog of IF command in BASIC, then it consults the semantic rules of FORTRAN to substitute the BASIC command in tutoring dialog with the FORTRAN command. W-TCL & WWW Interface A main design consideration in W-TCL version was to reuse as much of component as possible. In the stand-alone version (El-Khouly et al., 1999), students receive immediate feedback on every action they take. If they enter an incorrect statement, the system will present a message error and guide them to correct answer. HTML forms do not allow this kind of tightly coupled interaction. TA server receives information about student actions only when the student submits that information. In W-TCL system, the TA, PAA-T and PAA-S agents can find and communicate with each other dynamically, using Common Object Request Broker Architecture (CORBA). CORBA allows agents find each other and coordinate their behavior on a common object bus. This makes CORBA ideal for component-based applications. The advantages of using such technology in W-TCL system is using those objects as a metaphor for using existing stand-alone A-TCL application as well as personalizing and task sharing between the client and server. In Internet based W-TCL, the Java ORB is used. With a Java ORB, an applet can invoke methods on CORBA objects using the IIOP protocol over the Internet. Consequently, there is no need to use HTTP and CGI programs that are the cause of extra overhead on the server and also the client-side ORB enabled applets can be used in any Java enabled browser. Conclusion In this paper, W-TCL system had been presented for teaching computer languages. W-TCL consists of three agents, tutoring agent, personal assistant agent for teachers and personal assistant agent for students. They communicate with each other as client-server through WWW. This allows the system to communicate with other agents to exchange semantic rules and tutoring text for different languages. The adaptive learning environment had been used in PAA-S. Moreover, both the teachers the students can share their experiences through the blackboard modules hosted at TA, i.e. the system can be dynamically enhance by all members (teachers & students). References Alfred V.Aho, Ravi Sethi, and Jeffrey D. Ullman. (1986). Compilers: Principles, Techniques and Tools. Addison-Wesley Pub. Co. ALPER C and Colin H (1997) Agent Source book: A Complete Guide to Desktop, Internet, and Intranet Agents. John Wiley & Sons, USA. Avelino J. Gonzalez, & Douglas D. Dankel (1993). The engineering of knowledge-based systems theory and practice: Prentice-Hall, Inc. USA. Brusilovsky, P., Schwarz, E., & weber, G. (1996). ELM-ART: An intelligent tutoring system on World Wide web. In Frasson, C., Gauthier, G., and Lesgold, A., eds., Proceedings of the Third International Conference on Intelligent Tutoring systems, ITS-96. Berlin: Springer. 261-269. Hartley J. R., & Tait K. (1986). Learner control and educational advice in computer based learning: The study station concept. Computers and Education, Vol. 10, No. 2, 259-265. Kiyoshi Nakabayashi, Mina Maruyama, Yoshimasa Koike, Yasuhisa Kato, Hirofumi Touhei, & Yoshimi Fukuhara. (1997). Architecture of an Intelligent Tutoring System on the WWW. In Proc. 8th World Conference of the AIED Society, Kobe, Japan. Lewis Johnson & Erin Shaw (1997). Using Agents to Overcome Deficiencies in Web-Based Courseware. AI-ED’97 workshop on intelligent educational systems on the world wide web. Mahmoud El-Khouly, Behrouz H. Far, & Zenya Koono. (1999). Agent-based computer tutorial system –an experimental for teaching computer languages (ATCL)-. Special issue for Intelligent Agents for Computer-Based Educational Systems of the Journal of Interactive Learning Research, To be published. Peter Brusilovsky, Marcus Specht, & Gerhard Weber. (1995). Towards Adaptive Learning Envirnoments. In F. HuberWäsche, H. Schauer & P. Widmayer (Hrsg.): GIS 95, 322-329. Philip M. Lewis II, Daniel J. Rosenkrantz, & Richard E. Stearns (1978). Compiler design theory. Addison-Wesley Pub. Co.