skip to main content
article

Developing intelligent programming tutors for novice programmers

Published:01 June 2003Publication History
Skip Abstract Section

Abstract

First year Computer Science students often encounter difficulties when learning to write procedural and object-oriented programs for the first time. This is also true of students being exposed to a new programming paradigm. One-on-one tutoring has proven to be the most effective means of assisting first time programmers overcome learning difficulties. However, due to large class numbers and funding constraints the provision of one-on-one tutoring is not usually possible. Intelligent tutoring systems (ITSs) have successfully been used to tutor novice programmers on a one-on-one basis. Despite this, intelligent programming tutors (IPTs) are not widely used and few such systems have made their way into the classroom. This can be attributed to the high developmental costs associated with building IPTs. The paper firstly identifies the facilities that must be provided by intelligent programming tutors. In an attempt to reduce the costs of developing IPTs, the paper proposes a generic architecture for the development of intelligent programming tutors. The paper specifies the components that should comprise such an architecture and describes the functions that must be performed by each component.

References

  1. Alpert S. R., Singley M. K., Carroll J. M., "Multiple Multimodal Mentors, Delivering Computer-Based Instruction via Specialized Anthropomorphic Advisors", in Behaviour and Information Technology, Vol. 14, No. 2, pp. 69--79, Taylor & Francis, Ltd, 1995.Google ScholarGoogle ScholarCross RefCross Ref
  2. Anderson J.R. and Skwarecki E., "The Automated Tutoring of Introductory Computer Programming", Communications of the ACM, Volume 29, September 1986, pp. 842--849, ACM Press, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Barr M., Holden S., Phillips D., Greening T., "An Exploration of Novice Programming Errors in an Object-Oriented Environment", SIGCSE Bulletin, Vol. 31, No. 4, pp. 42--46, ACM Press, December 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Beck J., Stern M., Haugsjaa E., Applications of AI in Education, <http://www.acm.org/crossroads/xrds3-1/aied.html>, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Calloni B. A, Bagert D. J., "Iconic Programming Proves Effective for Teaching the First Year Programming Sequence", in Proceedings of SIGCSE 1997 Conference, pp. 262--266, ACM Press, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Chee, Y. S. & Xu, S. (1997), "SIPLeS: Supporting Intermediate Smalltalk Programming Through Goal-based Learning Scenarios", in Proceedings of AI-ED 97: 8th World Conference on Artificial Intelligence in Education, Kobe, Japan, pp. 95--102, IOS Press, 1997.Google ScholarGoogle Scholar
  7. Dale N., "Two Threads from the Empirical Studies of Programmers", SIGCSE Bulletin, Vol. 30, No. 4, pp. 16a--17a, ACM Press, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. du Boulay B. "Intelligent Systems for Teaching Programming", in Artificial Intelligence Tools in Education, IFIP Working Conference on Artificial Tools in Educaiton, Frasacti, Italy, pp. 5--15, IFIP, May 1988.Google ScholarGoogle Scholar
  9. Goold A., Rimmer R., "Factors Affecting Performance in First-Year Computing", in SIGCSE Bulletin, Vol. 32, No. 2, pg. 39--43, ACM Press, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Johnson W. L., "Understanding and Debugging Novice Programs", in Artificial Intelligence and Learning Environments, edited by W.J. Clancy, E. Soloway, pp. 51--97, MIT Press, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Lester J., Acker L., Souther A., Porter B., "Generating Coherent Explanations to Answer Students' Questions", in Intelligent Tutoring Systems, Evolutions in Design, edited by. H. Burns, J. Parlett, and C. Redfield, pp. 151--176, Hillsdale, New Jersey, Lawrence Earlbaum, 1991.Google ScholarGoogle Scholar
  12. Mizoguchi R., Bourdeau J., "Using Ontological Engineering to Overcome Common AI-ED Problems", in International Journal of Artificial Intelligence in Education, Vol. 11, No. 2, pg. 107--121, IJAIED, 2000.Google ScholarGoogle Scholar
  13. Odekirk E., "Analysing Student Programs", in SIGCSE Bulletin: Conference Proceedings of the 5th Annual SIGCSE/SIGUE Conference on Innovation and Technology in Computer Science Education, ITiCSE 2000, Vol. 32, No. 3, pg. 191--191, ACM Press, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. O'Shea T, "A Self-Improving Quadratic Tutor", in Intelligent Tutoring Systems, edited by Sleeman and Brown, London Academic Press, 1988.Google ScholarGoogle Scholar
  15. Proulx V. K., "Programming Patterns and Design Patterns in the Introductory Computer Science Course", in SIGCSE Bulletin: Conference Proceedings of the Thirty First SIGCSE Symposium on Computer Science Education, Vol. 32, No. 1, pg. 80--84, ACM Press, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Reiser B. J., P. Friedmann, J. Gevins, D. Y. Kimberg, M. Ranney, A. Romero, "A Graphical Programming Language Interface for an Intelligent Lisp Tutor", in Proceedings of CHI'88: Conference on Human Factors in Computing Systems, pp. 39--44, ACM Press, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Robling G., Schler M., Freisleben B., "The ANIMAL Algorithm Animation Tool", in SIGCSE Bulletin: Conference Proceedings of the 5th Annual SIGCSE/SIGUE Conference on Innovation and Technology in Computer Science Education, ITiCSE 2000, Vol. 32, No. 3, pg. 37--40, ACM Press, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Singley M. K., Carroll J. M, Alpert S. R., "Psychological Design Rationale for an Intelligent Tutoring System for Smalltalk", in Empirical Studies of Programmers: Fourth Workshop, pp. 196--209, Norwood, N.J.: Ablex, 1991.Google ScholarGoogle Scholar
  19. Suthers D., "Introduction: Architectures and Methods for Designing Cost Effective and Reusable ITS's", ITS'96 Workshop on Architectures and Methods for Designing Cost Effective and Reusable ITSs, Montreal, June 1996.Google ScholarGoogle Scholar
  20. Ueno H., "A Generalized Knowledge-Based Approach to Comprehend Pascal and C Programs", in IEICE Transactions on Information Systems, Vol. E81-D, No. 12, pp. 1323--1329, IOS Press, 2000.Google ScholarGoogle Scholar
  21. Wood P. J., Warren J. R., Rapid Prototyping of an Intelligent Tutorial System, http://www.ascilite.org.au/conference/melbourne95/smtu/papers/woods.pdf,1995.Google ScholarGoogle Scholar
  22. Xu S., Chee Y. S., "SIPLES-II: An Automatic Program Diagnoses System for Programming Learning Environments", in Artificial Intelligence in Education-Open Learning Environments: New Technologies to Support Learning, Exploration, and Collaboration, edited by S.P. Lajoie and M. Vivet, IOS Press, pp. 397--404, July 1999. Google ScholarGoogle Scholar
  23. Zeller A., "Making Students Read and Review Code", in SIGCSE Bulletin:Conference Proceedings of the 5th Annual SIGCSE/SIGUE Conference on Innovation and Technology in Computer Science Education, ITiCSE 2000, Vol. 32, No. 3, pg. 89--92, ACM Press, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. .Ziegler U., Crews T., "An Integrated Program Development Tool for Teaching and Learning How to Program", in SIGCSE Bulletin, Conference Proceedings of the Thirtieth SIGCSE Symposium on Computer Science Education, Vol. 31, No. 1, pg. 276--280, ACM Press, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Developing intelligent programming tutors for novice programmers
        Index terms have been assigned to the content through auto-classification.

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM SIGCSE Bulletin
          ACM SIGCSE Bulletin  Volume 35, Issue 2
          June 2003
          202 pages
          ISSN:0097-8418
          DOI:10.1145/782941
          Issue’s Table of Contents

          Copyright © 2003 Author

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 June 2003

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader