Discovery and detection of novice Java programmer errors
Date of Publication
Doctor of Philosophy in Computer Science
College of Computer Studies
Defense Panel Member
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.
Archives, The Learning Commons, 12F Henry Sy Sr. Hall
1 computer optical disc ; 4 3/4 in.
Cruz-Suarez, M. T. (2007). Discovery and detection of novice Java programmer errors. Retrieved from https://animorepository.dlsu.edu.ph/etd_doctoral/173