Abstract
The rapidly growing demand for programming skills has driven improvements in the technologies delivering programming education to students. Intelligent tutoring systems will potentially contribute to solving this problem, but development of effective systems has been slow to take hold in this area. We present a novel alternative, Abstract Syntax Tree Retrieval, which uses case-based reasoning to infer student goals from previous solutions to coding problems. Without requiring programmed expert knowledge, our system demonstrates that accurate retrieval is possible for basic problems. We expect that additional research will uncover more applications for this technology, including more effective intelligent tutoring systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Antonucci, P., Estler, C., Nikolić, Đ., Piccioni, M., Meyer, B.: An incremental hint system for automated programming assignments. In: Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE 2015), pp. 320–325 (2015)
Baxter, I.D., Yahin, A., Moura, L., Sant’Anna, M., Bier, L.: Clone detection using abstract syntax trees. In: Proceedings of the International Conference on Software Maintenance (ICSM 1998), vol. 98, pp. 368–377 (1998)
Bille, P.: A survey on tree edit distance and related problems. Theoret. Comput. Sci. 337(1–3), 217–239 (2005)
Cui, B., Li, J., Guo, T., Wang, J., Ma, D.: Code comparison system based on abstract syntax tree. In: 2010 3rd IEEE International Conference on Broadband Network and Multimedia Technology (IC-BNMT), pp. 668–673 (2010)
Falleri, J.R., Morandat, F., Blanc, X., Martinez, M., Montperrus, M.: Fine-grained and accurate source code differencing. In: Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering (ASE 2014), pp. 313–324 (2014)
Gerdes, A., Heeren, B., Jeuring, J.: An interactive functional programming tutor. In: Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE 2012), pp. 250–255 (2012)
Guzdial, M.: A media computation course for non-majors. SIGCSE Bull. 35(3), 104 (2003)
Jin, W., Barnes, T., Stamper, J., Eagle, M.J., Johnson, M.W., Lehmann, L.: Program representation for automatic hint generation for a data-driven novice programming tutor. In: Cerri, S.A., Clancey, W.J., Papadourakis, G., Panourgia, K. (eds.) ITS 2012. LNCS, vol. 7315, pp. 304–309. Springer, Heidelberg (2012). doi:10.1007/978-3-642-30950-2_40
Kammer, M.L.: Plagiarism detection in Haskell programs using call graph matching. Master’s thesis, Utrecht University (2011)
Kolodner, J.L., Cox, M.T., González-Calero, P.A.: Case-based reasoning-inspired approaches to education. Knowl. Eng. Rev. 20(3), 1–4 (2005)
Lu, W., Du, X., Hadjieleftheriou, M., Ooi, C.: Efficiently supporting edit distance based string similarity search using B+-trees. IEEE Trans. Knowl. Data Eng. 26(12), 2983–2996 (2014)
Mckendree, J.: Effective feedback content for tutoring complex skills. Hum. Comput. Interact. 5(4), 381–413 (1990)
Paquette, L., Lebeau, J.-F., Beaulieu, G., Mayers, A.: Automating next-step hints generation using ASTUS. In: Cerri, S.A., Clancey, W.J., Papadourakis, G., Panourgia, K. (eds.) ITS 2012. LNCS, vol. 7315, pp. 201–211. Springer, Heidelberg (2012). doi:10.1007/978-3-642-30950-2_26
Piech, C., Sahami, M., Huang, J., Guibas, L.: Autonomously generating hints by inferring problem solving policies. In: Proceedings of the Second ACM Conference on Learning @ Scale (L@S 2015), pp. 195–204 (2015)
Regan, P.M., Slator, B.M.: Case-based tutoring in virtual education environments. In: Proceedings of the 4th International Conference on Collaborative Virtual Environments (CVE 2002), pp. 2–9 (2002)
Rivers, K., Koedinger, K.R.: A canonicalizing model for building programming tutors. In: Cerri, S.A., Clancey, W.J., Papadourakis, G., Panourgia, K. (eds.) ITS 2012. LNCS, vol. 7315, pp. 591–593. Springer, Heidelberg (2012). doi:10.1007/978-3-642-30950-2_80
Snyder, L.: Being Fluent with Information Technology. National Academy of Sciences, Washington, D.C. (1999)
Tao, G., Guowei, D., Hu, Q., Baojiang, C.: Improved plagiarism detection algorithm based on abstract syntax tree. In: 2013 Fourth International Conference on Emerging Intelligent Data and Web Technologies (EIDWT), pp. 714–719 (2013)
Vaidyanathan, S.: Fostering creativity and innovation through technology. Learn. Lead. Technol. 39, 24–28 (2012)
Wilson, C., Sudol, L.A., Stephenson, C., Stehlik, M.: Running on empty: the failure to teach K-12 computer science in the digital age. Technical report, Association for Computing Machinery (ACM) (2010). http://runningonempty.acm.org/fullreport2.pdf
Yang, R., Kalnis, P., Tung, A.K.H.: Similarity evaluation on tree-structured data. In: Proceedings of the 2005 ACM SIGMOD International Conference on Management of Data (SIGMOD 2005), pp. 754–765 (2005)
Zhang, K., Shasha, D.: Simple fast algorithms for the editing distance between trees and related problems. SIAM J. Comput. 18(6), 1245–1262 (1989)
Zheng, W., Zou, L., Lian, X., Wang, D., Zhao, D.: Efficient graph similarity search over large graph databases. IEEE Trans. Knowl. Data Eng. 27(4), 964–978 (2015)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Freeman, P., Watson, I., Denny, P. (2016). Inferring Student Coding Goals Using Abstract Syntax Trees. In: Goel, A., Díaz-Agudo, M., Roth-Berghofer, T. (eds) Case-Based Reasoning Research and Development. ICCBR 2016. Lecture Notes in Computer Science(), vol 9969. Springer, Cham. https://doi.org/10.1007/978-3-319-47096-2_10
Download citation
DOI: https://doi.org/10.1007/978-3-319-47096-2_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-47095-5
Online ISBN: 978-3-319-47096-2
eBook Packages: Computer ScienceComputer Science (R0)