summaryrefslogtreecommitdiff
path: root/aied2017/introduction.tex
diff options
context:
space:
mode:
Diffstat (limited to 'aied2017/introduction.tex')
-rw-r--r--aied2017/introduction.tex2
1 files changed, 1 insertions, 1 deletions
diff --git a/aied2017/introduction.tex b/aied2017/introduction.tex
index 44fc8df..790d1e7 100644
--- a/aied2017/introduction.tex
+++ b/aied2017/introduction.tex
@@ -13,7 +13,7 @@ Developing the domain model requires significant knowledge-engineering effort~\c
This paper addresses the problem of finding useful features to support data mining in programming tutors. Features should be robust against superficial or irrelevant variations in program code, and relatable to the knowledge components of the target skill (programming), so as to support hint generation.
% our approach: patterns + rules
-We describe features with \emph{patterns} that encode relations between variables in a program’s abstract syntax tree (AST). Patterns describe paths between certain “interesting” leaf nodes. By omitting some nodes on these paths, patterns match different programs containing the same relation. We then induce rules to predict program correctness based on AST patterns, allowing us to generate hints based on missing or incorrect patterns.
+We describe features with \emph{AST patterns} that encode relations between nodes in a program’s abstract syntax tree. We use patterns that describe a path between pairs of leaf nodes referring to variables or values. By omitting some nodes on these paths, patterns can match different programs containing the same relation. We then induce rules to predict program correctness based on AST patterns, allowing us to generate hints based on missing or incorrect patterns.
% evaluation
We evaluated our approach on existing Prolog programs submitted by students during past lab sessions of a second-year university course. Rule classification accuracy ranged between 85\% and 99\% for most problems. For 75\% of incorrect submissions we are able to suggest potentially useful patterns -- those that the student had actually implemented in the final, correct program.