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.
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Beck J., Stern M., Haugsjaa E., Applications of AI in Education, <http://www.acm.org/crossroads/xrds3-1/aied.html>, 1996. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- Dale N., "Two Threads from the Empirical Studies of Programmers", SIGCSE Bulletin, Vol. 30, No. 4, pp. 16a--17a, ACM Press, 1998. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- O'Shea T, "A Self-Improving Quadratic Tutor", in Intelligent Tutoring Systems, edited by Sleeman and Brown, London Academic Press, 1988.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- .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 ScholarDigital Library
Index Terms
- Developing intelligent programming tutors for novice programmers
Recommendations
A New Paradigm for Intelligent Tutoring Systems: Example-Tracing Tutors
The Cognitive Tutor Authoring Tools (CTAT) support creation of a novel type of tutors called example-tracing tutors. Unlike other types of ITSs (e.g., model-tracing tutors, constraint-based tutors), exampletracing tutors evaluate student behavior by ...
Intelligent Tutors for All: The Constraint-Based Approach
Intelligent tutoring systems have revolutionized online education by providing individualized instruction for each student. Constraint-based tutors model instructional domains at an abstract level, a novel approach that simplifies development of these ...
Comments