An Intelligent Tutoring System For Learning Java Objects
An Intelligent Tutoring System For Learning Java Objects
2, April 2011
ABSTRACT
The paper describes the design of a web based intelligent tutoring system for teaching Java objects to
students to overcome the difficulties they face. The basic idea of this system is a systematic introduction
into the concept of Java objects. The system presents the topic of Java objects and administers
automatically generated problems for the students to solve. The system is dynamically adapted at run
time to the student’s individual progress. The system provides explicit support for adaptive presentation
constructs. An initial evaluation study was done to investigate the effect of using the intelligent tutoring
system on the performance of students enrolled in computer science III in the Faculty of Engineering and
Information technology at Al-Azhar University, Gaza. The results showed a positive impact on the
evaluators.
KEYWORDS:
Intelligent Tutoring System, Java Objects, Problem Generation, JO-Tutor
1. INTRODUCTION
Intelligent Tutoring Systems (ITSs) can be traced back to the early 1970s, when Carbonell
tried to combine methods of Artificial Intelligence (AI) with Computer Aided Instruction
(CAI)[9]. Thus, the first generation of ITSs are more or less a kind of “intelligent” CAI. Their
main task is stated by Lelouche: “The basic principle of ‘intelligent’ CAI is that it should know
the taught material”[15]. Knowledge about the taught material is embedded in the ITS in form
of expert systems, that is, the expert module [3,11]. The integration of insights of cognitive
science in ITSs, has led to what today is called an Intelligent Tutoring System[2]. In addition to
the knowledge about the taught material, these systems have knowledge about pedagogical
strategies and knowledge about the student, realized as pedagogical module and student
module, respectively.
The classical ITS architecture, first described by Clancey, consists of the components: expert
module, pedagogical module, student module, and user interface[10]. The naming of the
components varies. Sometimes, depending on the training domain, a component for automatic
generation of exercises is also part of the ITS. Whereas the ITS’s constituents seem to be part
of common agreement in the ITS community, the role and the functionality of each of the
components varies a lot[1,3]. The reason for this can partly be seen in the different application
domains. One can easily imagine that training in mathematics places different demands on ITSs
than clinical medicine training. Another reason might be the realization of different learning
DOI : 10.5121/ijaia.2011.2205 68
International Journal of Artificial Intelligence & Applications (IJAIA), Vol.2, No.2, April 2011
theories in ITS. Case-based learning, described in the former section, places special demands
on an ITS that are somewhat different in problem-oriented learning. These reasonable aspects
often necessarily lead to heterogeneous and incomparable systems. But even in the same
application domain and based on the same learning style, ITSs are often not comparable and
based on a complete different interpretation of the same architecture. Moreover, regarding only
the ITS architecture on a more abstract level, it becomes hard to find reasons for heterogeneous
realizations at all. A mixture of content and delivery functions, which is seemingly not based on
insights of research but on traditions of ITS development, can be found in ITS realizations.
In other ITSs, the expert knowledge base is a simple database without own functionality[17].
The same situation can be found in the different ways the pedagogical knowledge module is
realized and embedded in the ITS. Thus, there are ITSs that consist of a set of interacting and
more or less separate subsystems, and there are ITSs consisting of passive components plus a
component that encapsulates the execution. Execution in this context contains the interaction
with the student, the evaluation of the student’s behavior and success, and the provision of
contents and navigation. Thus, two perspectives on the same architecture can be found,
reflecting different interpretation of the same modules:
ITS architecture consists of either separate independent subsystems or passive components with
centralized execution system.
Both perspectives have their advantages and disadvantages. However, the main system’s
philosophy regarding the realization of the components should be made clear to provide for
comparability of ITSs and reusability of ITS components. The advantage of this approach is
that the central steering component might be reused in different ITSs, as it is obviously
separated from the databases and the user interface. Figure 1 shows the suggested ITS
architecture with the tutoring process module is sketched.
69
International Journal of Artificial Intelligence & Applications (IJAIA), Vol.2, No.2, April 2011
The design of the Intelligent Tutoring System for Learning Java Objects (JO-Tutor) adopted the
ITS architecture with automatically generated problems module.
• To have a system that is dynamically adapt at run time to the student’s individual
progress
2. JO-Tutor Design
Over the years a few innovative tutoring tools have been studied in an attempt to improve the
quality, flexibility and cost effectiveness of teaching and learning. Kashy developed a tutor
called CAPA to help students in solving Physics problems[12].
Barker have developed a tutor for homework assignment in electronic and control system
discipline[6].
Bridgeman developed Interactive tutors like: PILOT and SAIL[7,8]. PILOT was for Learning
and grading. PILOT is a problem generation tool for graph algorithms, while SAIL is a LaTeX-
based scripting tool for problem generation.
JO-Tutor is unique with respect to the previous work in the following manner:
• The system was built to look like the most familiar interactive interfaces like OS desktops,
including (icons, drag and drop features, drop down menus, and pop up windows) which
are all integrated in one single window.
• The intelligent tutoring system was built for problems for which the answers might not be
always quantitative [1,2].
Kashy have shown that the use of problem generation systems have increased student
performance by 10% in Physics, largely due to limitless time spent on the task[13].
70
International Journal of Artificial Intelligence & Applications (IJAIA), Vol.2, No.2, April 2011
The JO-Tutor is designed to be used as a supplement to the traditional method of teaching (Java
textbook and Instructor), either during a laboratory session, after class training, or for
homework assignments.
JO-Tutor has the following modules: Pedagogical Module, Problems Generation Module,
Expert Module, Student Module, and Tutoring process module.
4. Inheritance
• Superclasses and Subclasses
• protected Members
• Relationship between Superclasses and Subclasses
• Constructors in Subclasses
• Nested Classes
5. Polymorphism
• Introduction to Polymorphism and Examples
• Demonstrating Polymorphic Behavior
• Abstract Classes and Methods
• Final Methods and Classes
by randomly instantiating templates written in the grammar. Each template can be carefully
designed with specific pedagogical objectives in mind.
Problem Generation Module is responsible for generating the template of code, theses
templates cover the main topics of Java Object Oriented Programming which are (functions,
classes, Inheritance & polymorphism). The module depends on randomly structuring of the
pieces of codes which forms the templates that consist of (access modifiers types, return types,
arguments data types, classes, methods, and arguments names). These structures are imported
from pre defined lists of keywords.
The template is generated with a previously intended problem each time it is requested,
followed by a related question and possible solutions. The questions have different styles
including either asking the student to correct a Java code, write a Java code, multiple choice, or
true/false. From the perspective of enhancing high availability of required tools for student
during learning process, the system provide a simple editor linked with a Java compiler, to
enable the user to test some pieces of Java code he wants, so that there is no need to get out of
the system environment to compile Java codes.
2.4 Expert Module of JO-Tutor
Expert Module was implemented to gather the necessary information for generating the
feedback[4]. The expert module is capable of solving the generated problems by parsing the
template. Since the expert module can execute any code, it can generate the correct answer for a
problem on its own, and determine whether the user’s answer is correct/incorrect. In addition to
whether the user’s answer is correct/incorrect, the module can provide the student with the
correct answer when it is requested. Furthermore, the module provides the student the proper
feedback in response to the student's answer.
2.5 Student Module of JO-Tutor
A new student must create his own account to have a profile. The profile has information about
the student such as his name, dates of login, score of each session, and learning progress during
the each session. The student's score can be viewed at any time during the session as a 3D Bar
chart that describes the student performance in solving problems in the following subjects:
casting, classes and inheritance.
2.6 Tutoring process module of JO-Tutor
Tutoring process module works as a coordinator that controls the functionality of the whole
system.
and inheritance(see figure 7). Furthermore, the user can use the pop up menu to select any of
the functions of the icons.
73
International Journal of Artificial Intelligence & Applications (IJAIA), Vol.2, No.2, April 2011
74
International Journal of Artificial Intelligence & Applications (IJAIA), Vol.2, No.2, April 2011
75
International Journal of Artificial Intelligence & Applications (IJAIA), Vol.2, No.2, April 2011
Table 1: Shows the rating of the of the JO-Tutor by lecturers and students
Rating %
Item
Item
# Lecturers Students
1 The Quality of the JO-Tour Design 88% 92%
2 The importance of the topic covered (advanced Java) 94% 98%
3 Would you benefit from using the JO-Tutor? 86% 98%
4 Do you recommend using JO-Tutor for Computer Science III 100% 100%
(advanced Java) as a supportive tool?
5 Would you like to see similar tutoring system in other 100% 100%
courses?
Form the summary of Table 1, the evaluation of the JO-Tutor showed a positive impact on the
evaluators (Lecturers and students). Furthermore, they recommend that similar systems for
other courses to be implemented.
REFERENCES
[1] Abu-Naser, S., 2009. Evaluating the effectiveness of the CPP-tutor, an
intelligent tutoring system for students learning to program in C++. J. Applied
Sci. Res., 5: 109 -114
[2] Abu-Naser, S., 2008. Developing an intelligent tutoring system for students
learning to program in C++. Inf. Technol. J., 7: 1055 –1060
[3] Amalathas, S., A. Mitrovic, R. Saravanan and D. Evison, 2010. Developing an
intelligent tutoring system for palm oil in ASPIRE. Proceedings of the 18th
International Conference on Computers in Education, Nov. 29-Dec. 3, Asia-
Pacific Society for Computers in Education, Putrajaya, Malaysia, pp: 101-103
[4] Anderson, J.R., A.T. Corbett, K.R. Koedinger and R. Pelletier, 1995. Cognitive
tutors: Lessons learned. J. Learn. Sci., 4: 167-207.
[5] Arnow, D. and O. Barshay, 1999. WebToTeach: An interactive focused
programming exercise system. Proc. Annu. Frontiers Educ. Conf., 1: 12A9/39 -
12A9/44
[6] Barker, D.S., 1997. CHARLIE: A computer-managed homework, assignment
and response, learning and instruction environment. Proc. Annu. Frontiers Educ.
Conf. Teach. Learn. Era Change, 3: 1503 - 1509
76
International Journal of Artificial Intelligence & Applications (IJAIA), Vol.2, No.2, April 2011
[7] Bridgeman, S., M.T. Goodrich, S.G. Kobourov and R. Tamassia, 2000. PILOT:
An interactive tool for learning and grading. Proc. SIGCSE Tech. Symp.
Comput. Sci. Educ., 32: 139-143.
[8] Bridgeman, S., M.T. Goodrich, S.G. Kobourov and R. Tamassia, 2001. SAIL: A
system for generating, archiving and retrieving specialized assignments using
LaTeX. Proceedings of the 31st SIGCSE Technical Symposium, Mar. 7-12,
Austin, TX, pp: 300-304
[9] Carbonell, J., 1970. AI in CAI: An artificial-intelligence approach to computer-
assisted instruction. IEEE Trans. Man Mach. Syst., 11: 190 - 202
[10] Clancey, W., 1984. Methodology for Building an Intelligent Tutoring System.
In: Methods and Tactics in Cognitive Sciences, Kintsch, W., J.R. Miller and
P.G. Polson (Eds.). Lawrence Erlbaum Associates, Hillsdale, New Jersey,
London, pp: 51-84
[11] Fournier-Viger, P., R. Nkambou and E. Mephu, 2010. Building Intelligent
Tutoring Systems for Ill-Defined Domains. In: Advances in Intelligent Tutoring
Systems, Nkambou, R., R. Mizoguchi, and J. Bourdeau (Eds.). Springer-
Verlag, Berlin, Heidelberg, pp: 81-101.
[12] Kashy, E., B.M. Sherrill, Y. Tsai, D. Thaler, D. Weinshank, M. Engelmann
and D.J. Morrissey, 1993. CAPA-An integrated computer-assisted personalized
assignment system. Am. J. Phys., 61: 1124-1130.
[13] Kashy, E., M. Thoennessen, Y. Tsai, N.E. Davis and S.L. Wolfe, 1997. Using
networked tools to enhance student success rates in large classes. Proc. Annu.
Frontiers Educ. Conf. Teach. Learn. Era Change, 1: 233-237
[14] Koffman, E.B. and J.M. Perry, 1976. A module for generative CAI and
concept selection. Int. J. Man Mach. Stud., 8: 397-410.
[15] Lelouche, R., 1999. Intelligent tutoring systems from birth to now. Kunstliche
Intelligenz, 13: 5-11.
[16] Martin, B. and A. Mitrovic, 2000. Tailoring feedback by correcting student
answers. Proc. Intell. Tutor. Syst., 1839: 383-392.
[17] Tang, Y., 2005. Qualitative reasoning and articulate software. Inform.
Technol. J., 4: 184-188.
[18] Daniel Liang, Y., 2010, Introduction to Java Programming, Comprehensive
(8th Edition), Prentice Hall.
[19] Deitel, P. and H. Deitel, 2009, Java How to Program: Early Objects Version
(8th Edition), Prentice Hall.
[20] Reges, S. and M. Stepp, 2010, Building Java Programs: A Back to Basics
Approach (2nd Edition), Addison Wesley.
77