A Review of AI-Supported Tutoring Approaches for Learning Programming

  • Nguyen-Thinh LeEmail author
  • Sven Strickroth
  • Sebastian Gross
  • Niels Pinkwart
Part of the Studies in Computational Intelligence book series (SCI, volume 479)


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.


Computer-supported collaborative learning Intelligent Tutoring Systems programming pair learning 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 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. 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. 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)CrossRefGoogle Scholar
  5. 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. 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. 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. 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. 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)CrossRefGoogle Scholar
  10. 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. 11.
    Anderson, J.R., Reiser, B.: The Lisp Tutor. Journal Byte 10, 159–175 (1985)Google Scholar
  12. 12.
    Sykes, E.R.: Qualitative Evaluation of the Java Intelligent Tutoring System. Journal of Systemics, Cyber (2006)Google Scholar
  13. 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)CrossRefGoogle Scholar
  14. 14.
    Johnson, W.L.: Understanding and debugging novice programs. Journal Artificial Intelligence 42, 51–97 (1990)CrossRefGoogle Scholar
  15. 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)CrossRefGoogle Scholar
  16. 16.
    Looi, C.-K.: Automatic Debugging of Prolog Programs in a Prolog Intelligent Tutoring System. Journal Instructional Science 20, 215–263 (1991)CrossRefGoogle Scholar
  17. 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. 18.
    Vizcaíno, A.: A Simulated Student Can Improve Collaborative Learning. Journal AI in Education 15, 3–40 (2005)Google Scholar
  19. 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)CrossRefGoogle Scholar
  20. 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. 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)CrossRefGoogle Scholar
  22. 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. 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)CrossRefGoogle Scholar
  24. 24.
    Hoppe, H.U.: The use of multiple student modeling to parameterize group learning. In: Int. Conference on AIED (1995)Google Scholar
  25. 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

Copyright information

© Springer International Publishing Switzerland 2013

Authors and Affiliations

  • Nguyen-Thinh Le
    • 1
    Email author
  • Sven Strickroth
    • 1
  • Sebastian Gross
    • 1
  • Niels Pinkwart
    • 1
  1. 1.Department of InformaticsClausthal University of TechnologyClausthal-ZellerfeldGermany

Personalised recommendations