Discovery and detection of novice Java programmer errors

Building models of students is a complex task, but it cannot be avoided because of the relevance of such knowledge to adaptive systems such as intelligent tutoring systems. Machine learning techniques have been applied to the task of student modeling, more so in building tutors for acquiring program...

Full description

Saved in:
Bibliographic Details
Main Author: Cruz-Suarez, Merlin Teodosia
Format: text
Language:English
Published: Animo Repository 2007
Subjects:
Online Access:https://animorepository.dlsu.edu.ph/etd_doctoral/173
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: De La Salle University
Language: English
Description
Summary:Building models of students is a complex task, but it cannot be avoided because of the relevance of such knowledge to adaptive systems such as intelligent tutoring systems. Machine learning techniques have been applied to the task of student modeling, more so in building tutors for acquiring programming skill. It had been developed for various languages (Pascal, Prolog, Lisp, C++) and programming paradigms (procedural and declarative) but never for object-oriented programming in Java. Java Bugs builds a bug library automatically using discrepancies between a student and correct program. While other works analyze code snippets or UML diagrams, Java Bugs examines a complete Java program and identifies the most similar correct program to the student solution. It has to find the most similar correct program among a collection of correct solutions. Java Bugs uses a two-pass multi strategy conceptual clusterer to build local and global error hierarchies. A local error hierarchy is a tree of student misconceptions, while a summary of common, co-occurring misconceptions in local error hierarchies are stored as the global error hierarchy. Java Bugs uses not only similarity, but background knowledge and generalization of misconceptions to discover and detect student misconceptions. Experiments show that Java Bugs can detect the most similar correct program 97% of the time, and discover and detect 74.95% of misconceptions identified by the expert. Keywords: bug library, multi strategy learning, conceptual clustering, Java object-oriented programming.