Abstract:
Demand for programming skills is rapidly growing and has driven improvements in the technologies delivering introductory computer science education to students. Intelligent tutoring systems will potentially contribute to solving this problem, but no single solutions has emerged, and research continues to seek improved methods. This thesis presents a novel alternative, Abstract Syntax Tree Retrieval, which uses case-based reasoning to infer student programming goals using a case-base of prior solutions. Without requiring programmed expert knowledge, our system demonstrates that accurate retrieval is possible for basic problems. This leads us to conclude that advanced code clone detection technologies and modern case-based reasoning can be developed into effective intelligent tutoring systems.