Understanding and debugging novice programs
Artificial Intelligence - Special issue on artificial intelligence and learning environments
Refinement-based student modeling and automated bug library construction
Journal of Artificial Intelligence in Education
Multistrategy Discovery and Detection of Novice Programmer Errors
Machine Learning - Special issue on multistrategy learning
Experiments with Incremental Concept Formation: UNIMEM
Machine Learning
Unsupervised and supervised machine learning in user modeling for intelligent learning environments
Proceedings of the 12th international conference on Intelligent user interfaces
JDiff: A differencing technique and tool for object-oriented programs
Automated Software Engineering
Hi-index | 0.00 |
Machine learning techniques have been applied to the task of student modeling, more so in building tutors for acquiring programming skill. These were developed for various languages (Pascal, Prolog, Lisp, C++) and programming paradigms (procedural and declarative) but never for object-oriented programming in Java. JavaBugs builds a bug library automatically using discrepancies between a student and correct program. While other works analyze code snippets or UML diagrams to infer student knowledge of object-oriented design and programming, JavaBugs examines a complete Java program and identifies the most similar correct program to the student's solution among a collection of correct solutions and builds trees of misconceptions using similarity measures and background knowledge. Experiments show that JavaBugs can detect the most similar correct program 97% of the time, and discover and detect 61.4% of student misconceptions identified by the expert.