Computer Science and
     Software Engineering

Computer Science and Software Engineering

MAST 06/09

A Constraint-based ITS for the Java Programming Language

Jay Holland (supervisor Tanja Mitrovic)
Department of Computer Science and Software Engineering
University of Canterbury

Abstract

Programming is one of the core skills required by Computer Science undergraduates in tertiary institutions worldwide, whether for study itself, or to be used as a tool to explore other relevant areas. Unfortunately, programming can be incredibly difficult; this is for several reasons, including the youth, depth, and variety of the field, as well as the youth of the technology that frames it. It can be especially problematic for computing neophytes, with some students repeating programming courses not due to academic laziness, but due to an inability to grasp the core concepts. The research outlined by this thesis focuses on our proposed solution to this problem, a constraint-based intelligent tutoring system for teaching the Java programming language, named J-LATTE.

J-LATTE (Java Language Acquisition Tile Tutoring Environment) is designed to solve this problem by providing a problem-solving environment for students to work through programming problems. This environment is unique in that it partitions interaction into a concept mode and a coding mode. Concept mode allows the student to form solutions using high-level Java concepts (in the form of tiles), and coding mode allows the student to enter Java code into these tiles to form a complete Java program. The student can, at any time, ask for feedback on a solution or partial solution that they have formed.

A pilot study and two full evaluations were carried out to test the effectiveness of the system. The pilot study was run with an assignment given to a postgraduate Computer Science course, and because of the advanced knowledge level of the students, it was not designed to test teaching effectiveness, but instead was useful in determining usability issues and identifying any software errors.

The full evaluations of the system were designed to give insight into the teaching effectiveness of J-LATTE, by comparing the results of using the system against a simulated classroom situation. Unfortunately, the participant base was small, for several reasons that are explained in the thesis. However, the results prove interesting otherwise and for the most part are positive towards the effectiveness of J-LATTE. The participants’ knowledge did improve while interacting with the system, and the subjective data collected shows that students like the interaction style and value the feedback obtained.

Back to index page