Computer tutoring for programming education

Software is increasingly pervasive in the products we use. Consequently, more programmers are needed to develop the software. However, there is also an unmet demand on programming instructors. One possible solution to the increased demand is to complement human teaching with automated computer tutoring. Several examples of such computer tutors for programming already exist, however they have not found widespread success. In the operational world, there are several job-aids that support programmers in the field. Some of these job-aids reflect similar principles used in training tools, particularly scaffolding. Finally, several researchers in the realm of programming instruction indicate the importance of using a problem-based learning approach, or integrating learning and performance for learners. Thus, the paper concludes with questions revolving around how computer tutoring for programming may be enhanced, and lead to greater success, by developing an approach that similarly integrates performance and learning.

[1]  Margaret M. Recker,et al.  Learning Strategies and Transfer in the Domain of Programming , 1994 .

[2]  Steven C. Shaffer Ludwig: an online programming tutoring and assessment system , 2005, SGCS.

[3]  Joanna C. Dunlap Problem-based learning and self-efficacy: How a capstone course prepares students for a profession , 2005 .

[4]  Gavan Lintern,et al.  The Janus principle , 2004, IEEE Intelligent Systems.

[5]  Janet Ward Schofield,et al.  Teachers, Computer Tutors, and Teaching: The Artificially Intelligent Tutor as an Agent for Classroom Change , 1994 .

[6]  Bruce W. Weide,et al.  Checkmate: cornering C++ dynamic memory errors with checked pointers , 2000, SIGCSE '00.

[7]  Thuy Nguyen,et al.  Dependability assessment of safety-critical system software by static analysis methods , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

[8]  J. H. Kim,et al.  An intelligent tutoring system for introductory C language course , 1997, Comput. Educ..

[9]  Fadi P. Deek,et al.  A Survey and Critical Analysis of Tools for Learning Programming , 1998, Comput. Sci. Educ..

[10]  Albert T. Corbett,et al.  Evaluation of an Automated Reading Tutor That Listens: Comparison to Human Tutoring and Classroom Instruction , 2003 .

[11]  Albert T. Corbett,et al.  Intelligent Tutoring Systems , 1985, Science.

[12]  Mordechai Ben-Ari,et al.  A long-term investigation of the comprehension of OOP concepts by novices , 2005, Comput. Sci. Educ..

[13]  Peter Chalk Scaffolding learning in virtual environments , 2001, ITiCSE.

[14]  Tom M. Warms The power of notation: modeling pointer operations , 2005, SGCS.

[15]  Kathy Sylva,et al.  Scaffolding in Reading Recovery , 1996 .