diff options
-rw-r--r-- | paper/aied2017.bib | 22 | ||||
-rw-r--r-- | paper/method.tex | 2 |
2 files changed, 12 insertions, 12 deletions
diff --git a/paper/aied2017.bib b/paper/aied2017.bib index af09d8a..1f4a6b8 100644 --- a/paper/aied2017.bib +++ b/paper/aied2017.bib @@ -1,14 +1,14 @@ @inproceedings{bagrak2004trx, title={{trx}: Regular-tree expressions, now in Scheme}, author={Bagrak, Ilya and Shivers, Olin}, - booktitle={Proceedings of the Fifth Workshop on Scheme and Functional Programming}, + booktitle={Proc. Fifth Workshop on Scheme and Functional Programming}, pages={21--32}, year={2004} } @article{demsar2013orange, author = {Janez Demšar and Tomaž Curk and Aleš Erjavec and Črt Gorup and Tomaž Hočevar and Mitar Milutinovič and Martin Možina and Matija Polajnar and Marko Toplak and Anže Starič and Miha Štajdohar and Lan Umek and Lan Žagar and Jure Žbontar and Marinka Žitnik and Blaž Zupan}, - title = {Orange: Data Mining Toolbox in Python}, + title = {Orange: Data Mining Toolbox in {Python}}, journal = {Journal of Machine Learning Research}, year = {2013}, volume = {14}, @@ -76,7 +76,7 @@ @inproceedings{jin2012program, title={Program representation for automatic hint generation for a data-driven novice programming tutor}, author={Jin, Wei and Barnes, Tiffany and Stamper, John and Eagle, Michael John and Johnson, Matthew W and Lehmann, Lorrie}, - booktitle={Proc. 11th Int'l Conf. Intelligent Tutoring Systems (ITS 12)}, + booktitle={Proc. 11th Int'l Conf. Intelligent Tutoring Systems}, pages={304--309}, year={2012}, } @@ -106,7 +106,7 @@ @inproceedings{keuning2016towards, title={Towards a Systematic Review of Automated Feedback Generation for Programming Exercises}, author={Keuning, Hieke and Jeuring, Johan and Heeren, Bastiaan}, - booktitle={Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education}, + booktitle={Proc. 2016 ACM Conf. on Innovation and Technology in Computer Science Education}, pages={41--46}, year={2016}, organization={ACM} @@ -159,13 +159,13 @@ title={Tregex and Tsurgeon: tools for querying and manipulating tree data structures}, author={Levy, Roger and Andrew, Galen}, year={2006}, - booktitle={5th International Conference on Language Resources and Evaluation (LREC 2006)} + booktitle={5th Int’l Conf. Language Resources and Evaluation} } @inproceedings{li2016measuring, title={Measuring code behavioral similarity for programming and software engineering education}, author={Li, Sihan and Xiao, Xusheng and Bassett, Blake and Xie, Tao and Tillmann, Nikolai}, - booktitle={Proceedings of the 38th International Conference on Software Engineering Companion}, + booktitle={Proc. 38th Int’l Conf. on Software Engineering Companion}, pages={501--510}, year={2016}, organization={ACM} @@ -185,7 +185,7 @@ @inproceedings{nguyen2014codewebs, title={Codewebs: scalable homework search for massive open online programming courses}, author={Nguyen, Andy and Piech, Christopher and Huang, Jonathan and Guibas, Leonidas}, - booktitle={Proc. 23rd Int'l World Wide Web Conf. (WWW 14)}, + booktitle={Proc. 23rd Int'l Conf. World Wide Web}, pages={491--502}, year={2014}, COMMENTorganization={ACM}, @@ -223,8 +223,8 @@ journal={International Journal of Artificial Intelligence in Education}, pages={1--28}, year={2015}, - doi={10.1007/s40593-015-0070-z}, - url={http://dx.doi.org/10.1007/s40593-015-0070-z}, + COMMENTdoi={10.1007/s40593-015-0070-z}, + COMMENTurl={http://dx.doi.org/10.1007/s40593-015-0070-z}, } @inproceedings{schleimer2003winnowing, @@ -319,10 +319,10 @@ publisher={SIAM} } -@inproceedings{cn21991, +@inproceedings{clark1991rule, title={Rule Induction with {CN2}: Some Recent Improvements}, author={Peter Clark and Robin Boswell}, - booktitle={Proceedings of the Fifth European Conference on Machine Learning}, + booktitle={Proc. Fifth European Conference on Machine Learning}, pages={151--163}, year={1991} } diff --git a/paper/method.tex b/paper/method.tex index b52b74f..1cd3497 100644 --- a/paper/method.tex +++ b/paper/method.tex @@ -28,7 +28,7 @@ Since programs can be validated with appropriate unit tests, our goal is not cla Before explaining the algorithm, let us discuss the reasons why a program can be incorrect. Our experience indicates that bugs in student programs can often be described by 1) some incorrect or \emph{buggy} pattern, which needs to be removed, or 2) some missing relation (pattern) that should be included before the program can be correct. We shall now explain how both types of errors can be identified with rules. -To discover buggy patterns, the algorithm first learns rules that describe incorrect programs (I-rules). We use a variant of the CN2 algorithm~\cite{cn21991} implemented within the Orange data-mining toolbox~\cite{demsar2013orange}. Since we use rules to generate hints, and since hints should not be presented to students unless they are likely to be correct, we impose additional constraints on the rule learner: +To discover buggy patterns, the algorithm first learns rules that describe incorrect programs (I-rules). We use a variant of the CN2 algorithm~\cite{clark1991rule} implemented within the Orange data-mining toolbox~\cite{demsar2013orange}. Since we use rules to generate hints, and since hints should not be presented to students unless they are likely to be correct, we impose additional constraints on the rule learner: \begin{enumerate} \item The classification accuracy of each learned rule must exceed a threshold (we selected 90\%, as 10\% error seems acceptable for our application). \item Each conjunct in a condition must be significant with respect to the likelihood-ratio test (in our experiments significance threshold was set to $p=0.05$). |