summaryrefslogtreecommitdiff
path: root/aied2017/introduction.tex
diff options
context:
space:
mode:
Diffstat (limited to 'aied2017/introduction.tex')
-rw-r--r--aied2017/introduction.tex29
1 files changed, 28 insertions, 1 deletions
diff --git a/aied2017/introduction.tex b/aied2017/introduction.tex
index ac26833..3a81767 100644
--- a/aied2017/introduction.tex
+++ b/aied2017/introduction.tex
@@ -1 +1,28 @@
-\section{Introduction} \ No newline at end of file
+\section{Introduction}
+
+% programming feedback: difficult and important
+Programming is an increasingly useful skill even for those not directly involved in software development. Open online courses are making programming education accessible to many. Since thousands of students can attend such courses, it is impossible for teachers to evaluate each participant’s work individually. On the other hand, in-time feedback directly referring to the specific errors can play an important role in the learning process. Providing such feedback automatically would greatly enhance these courses.
+
+% ITS background
+Intelligent tutoring systems have traditionally used manually constructed domain models to find and explain errors in student work. Developing a sufficiently detailed model requires significant knowledge-engineering effort~\cite{folsom-kovarik2010plan}; this is particularly true for programming tutors, where most problems have several alternative solutions and many possible implementations~\cite{le2013operationalizing}.
+
+% data-driven domain modeling
+Large amounts of available of educational data -- particularly from online courses -- have made data-driven domain models feasible. By mining student data a tutor can learn important concepts and common errors, allowing it to generate feedback automatically.
+% problem statement
+This paper addresses the problem of finding useful “program features” to support data mining. Such features should be robust against superficial or irrelevant variations in program code, and relatable to the knowledge components of the target (programming) skill in order to support hint generation.
+
+% our approach
+We use structural patterns to encode relations between variables in a program’s abstract syntax tree. Patterns describe paths between selected leaf nodes. Instead of storing the entire path, each pattern only includes certain internal nodes, allowing it to match in different programs containing the same relation. We have induced rules to predict program correctness based on the presence of these patterns. Rules allow us to generate hints for incorrect programs by looking for missing or incorrect patterns.
+
+% contributions
+The present paper contributes:
+\begin{itemize}
+\item structural patterns as program features;
+\item rules to predict the correctness of student programs; and
+\item evaluation of the effectiveness of those rules for generating hints.
+\end{itemize}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "aied2017"
+%%% End: