Skip to main content

A Review of AI-Supported Tutoring Approaches for Learning Programming

  • Conference paper
Advanced Computational Methods for Knowledge Engineering

Part of the book series: Studies in Computational Intelligence ((SCI,volume 479))

Abstract

In this paper, we review tutoring approaches of computer-supported systems for learning programming. From the survey we have learned three lessons. First, various AI-supported tutoring approaches have been developed and most existing systems use a feedback-based tutoring approach for supporting students. Second, the AI techniques deployed to support feedback-based tutoring approaches are able to identify the student’s intention, i.e. the solution strategy implemented in the student solution. Third, most reviewed tutoring approaches only support individual learning. In order to fill this research gap, we propose an approach to pair learning which supports two students who solve a programming problem face-to-face.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 219.99
Price excludes VAT (USA)
  • Durable hardcover 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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Radosevic, D., Lovrencic, A., Orehovacki, T.: New Approaches and Tools in Teaching Programming. In: Central European Conference on Information and Intelligent Systems (2009)

    Google Scholar 

  2. Yudelson, M., Brusilovsky, P.: NavEx: Providing Navigation Support for Adaptive Browsing of Annotated Code Examples. In: The 12th International Conference on AI in Education, pp. 710–717. IOS Press (2005)

    Google Scholar 

  3. Gegg-Harrison, T.S.: Exploiting Program Schemata in a Prolog Tutoring System. Phd Thesis, Duke University, Durham, North Carolina 27708-0129 (1993)

    Google Scholar 

  4. Chang, K.E., Chiao, B.C., Chen, S.W., Hsiao, R.S.: A Programming Learning System for Beginners - A Completion Strategy Approach. Journal IEEE Transactions on Education 43(2), 211–220 (1997)

    Article  Google Scholar 

  5. Gomes, A., Mendes, A.J.: SICAS: Interactive system for algorithm development and simulation. In: Computers and Education - Towards an Interconnected Society, pp. 159–166 (2001)

    Google Scholar 

  6. Esteves, M., Mendes, A.: A simulation tool to help learning of object oriented programming basics. In: FIE 34th Annual on Frontiers in Edu., vol. 2, pp. F4C7-12 (2004)

    Google Scholar 

  7. Mendes, A., Jordanova, N., Marcelino, M.: PENSEN - A visual programming environment to support initial programming learning. In: International Conference on Computer Systems and Technologies - CompSysTech 2005 (2005)

    Google Scholar 

  8. Brusilovsky, P., Spring, M.: Adaptive, Engaging, and Explanatory Visualization in a C Programming Course. In: World Conference on Educational Multimedia, Hypermedia and Telecommunications (ED-MEDIA), pp. 21–26 (2004)

    Google Scholar 

  9. Lane, H.C., Vanlehn, K.: Teaching the tacit knowledge of programming to novices with natural language tutoring. J. Computer Science Education 15, 183–201 (2005)

    Article  Google Scholar 

  10. Kumar, A.N.: Explanation of step-by-step execution as feedback for problems on program analysis, and its generation in model-based problem-solving tutors. Journal Technology, Instruction, Cognition and Learning 4 (2006)

    Google Scholar 

  11. Anderson, J.R., Reiser, B.: The Lisp Tutor. Journal Byte 10, 159–175 (1985)

    Google Scholar 

  12. Sykes, E.R.: Qualitative Evaluation of the Java Intelligent Tutoring System. Journal of Systemics, Cyber (2006)

    Google Scholar 

  13. Suarez, M., Sison, R.C.: Automatic construction of a bug library for object-oriented novice java programmer errors. In: Woolf, B.P., Aïmeur, E., Nkambou, R., Lajoie, S. (eds.) ITS 2008. LNCS, vol. 5091, pp. 184–193. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  14. Johnson, W.L.: Understanding and debugging novice programs. Journal Artificial Intelligence 42, 51–97 (1990)

    Article  Google Scholar 

  15. Brusilovsky, P., Schwarz, E.W., Weber, G.: ELM-ART: An Intelligent Tutoring System on World Wide Web. In: Lesgold, A.M., Frasson, C., Gauthier, G. (eds.) ITS 1996. LNCS, vol. 1086, pp. 261–269. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  16. Looi, C.-K.: Automatic Debugging of Prolog Programs in a Prolog Intelligent Tutoring System. Journal Instructional Science 20, 215–263 (1991)

    Article  Google Scholar 

  17. Le, N.T., Menzel, W.: Using Weighted Constraints to Diagnose Errors in Logic Programming - The case of an ill-defined domain. J. of AI in Edu. 19, 381–400 (2009)

    Google Scholar 

  18. Vizcaíno, A.: A Simulated Student Can Improve Collaborative Learning. Journal AI in Education 15, 3–40 (2005)

    Google Scholar 

  19. Van Gorp, M.J., Grissom, S.: An Empirical Evaluation of Using Constructive Classroom Activities to Teach Introductory Programming. J. Computer Science Education 11(3), 247–260 (2001)

    Article  Google Scholar 

  20. Nagappan, N., Williams, L., Ferzli, M., Wiebe, E., Yang, K., Miller, C., Balik, S.: Improving the CS1 experience with pair programming. In: The SIGCSE Technical Symposium on CS Education, pp. 359–362. ACM (2003)

    Google Scholar 

  21. Wills, C.E., Deremer, D., McCauley, R.A., Null, L.: Studying the use of peer learning in the introductory computer science curriculum. J. Computer Science Education 9(2), 71–88 (1999)

    Article  Google Scholar 

  22. Strickroth, S., Olivier, H., Pinkwart, N.: Das GATE-System: Qualitätssteigerung durch Selbsttests für Studenten bei der Onlineabgabe von Übungsaufgaben? In: GI LNI, vol. P-188, pp. 115–126. Köllen Verlag (2010)

    Google Scholar 

  23. Deek, F.P., Ho, K.-W., Ramadhan, H.: A critical analysis and evaluation of web-based environments for program development. J. Internet and Higher Education 3, 223–269 (2000)

    Article  Google Scholar 

  24. Hoppe, H.U.: The use of multiple student modeling to parameterize group learning. In: Int. Conference on AIED (1995)

    Google Scholar 

  25. Muehlenbrock, M.: Formation of Learning Groups by using Learner Profiles and Context Information. In: Int. Conference on AI in Education, pp. 507–514 (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nguyen-Thinh Le .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer International Publishing Switzerland

About this paper

Cite this paper

Le, NT., Strickroth, S., Gross, S., Pinkwart, N. (2013). A Review of AI-Supported Tutoring Approaches for Learning Programming. In: Nguyen, N., van Do, T., le Thi, H. (eds) Advanced Computational Methods for Knowledge Engineering. Studies in Computational Intelligence, vol 479. Springer, Heidelberg. https://doi.org/10.1007/978-3-319-00293-4_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-00293-4_20

  • Publisher Name: Springer, Heidelberg

  • Print ISBN: 978-3-319-00292-7

  • Online ISBN: 978-3-319-00293-4

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics