Skip to main content

Inferring Student Coding Goals Using Abstract Syntax Trees

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 9969))

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. 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)

    Google Scholar 

  2. 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)

    Google Scholar 

  3. Bille, P.: A survey on tree edit distance and related problems. Theoret. Comput. Sci. 337(1–3), 217–239 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. Guzdial, M.: A media computation course for non-majors. SIGCSE Bull. 35(3), 104 (2003)

    Article  Google Scholar 

  8. 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

    Chapter  Google Scholar 

  9. Kammer, M.L.: Plagiarism detection in Haskell programs using call graph matching. Master’s thesis, Utrecht University (2011)

    Google Scholar 

  10. 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)

    Article  Google Scholar 

  11. 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)

    Article  Google Scholar 

  12. Mckendree, J.: Effective feedback content for tutoring complex skills. Hum. Comput. Interact. 5(4), 381–413 (1990)

    Article  Google Scholar 

  13. 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

    Chapter  Google Scholar 

  14. 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)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. 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

    Chapter  Google Scholar 

  17. Snyder, L.: Being Fluent with Information Technology. National Academy of Sciences, Washington, D.C. (1999)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. Vaidyanathan, S.: Fostering creativity and innovation through technology. Learn. Lead. Technol. 39, 24–28 (2012)

    Google Scholar 

  20. 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

  21. 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)

    Google Scholar 

  22. Zhang, K., Shasha, D.: Simple fast algorithms for the editing distance between trees and related problems. SIAM J. Comput. 18(6), 1245–1262 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  23. 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)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Paul Freeman .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics