Program annotations: feedback for students learning to program

This paper presents a novel program annotation mechanism which enables students to obtain feedback from tutors on their programs in a far simpler and more efficient way than is possible with, for example, email. A common scenario with beginning students is to email tutors with copies of their malfunctioning programs. Unfortunately the emailed program often bears little resemblance to the program the student has been trying to make work; often it is incomplete, a different version and corrupted. We propose an annotation mechanism enabling students to simply and easily annotate their programs with comments asking for help. Similarly our mechanism enables tutors to view students' programs and to reply to their comments in a simple and structured fashion. This means students can get frequent and timely feedback on their programs; tutors can provide such feedback efficiently, and hence students' learning is greatly improved.

[1]  Owen L. Astrachan Concrete teaching: hooks and props as instructional technology , 1998, ITiCSE '98.

[2]  John R. Anderson,et al.  The LISP tutor: it approaches the effectiveness of a human tutor , 1985 .

[3]  Charlie Daly,et al.  Mass production of individual feedback , 2003, PPPJ.

[4]  William R. Murray,et al.  Automatic program debugging for intelligent tutoring systems , 1987, Comput. Intell..

[5]  Eric Rofes,et al.  Christchurch, New Zealand , 2003, The Statesman’s Yearbook Companion.

[6]  Benedict du Boulay,et al.  Some Difficulties of Learning to Program , 1986 .

[7]  Mordechai Ben-Ari,et al.  Constructivism in computer science education , 1998, SIGCSE '98.

[8]  Peter Brusilovsky,et al.  ELM-ART: An Intelligent Tutoring System on World Wide Web , 1996, Intelligent Tutoring Systems.

[9]  Timothy S. Gegg-Harrison ADAPT: Automated Debugging in an Adaptive Prolog Tutor , 1992, Intelligent Tutoring Systems.

[10]  Paul Roe,et al.  Learning to program through the web , 2005, ITiCSE '05.

[11]  Janine Rogalski,et al.  Task Analysis and Cognitive Model as a Framework to Analyse Environments for Learning Programming , 1993 .

[12]  Janet Rountree,et al.  Learning and Teaching Programming: A Review and Discussion , 2003, Comput. Sci. Educ..

[13]  Monica van Oostrom,et al.  Web-based Assignment Submission and Marking , 2006 .

[14]  Jean-Pierre H. Laurent,et al.  LAURA, A System to Debug Student Programs , 1980, Artif. Intell..

[15]  Stephen N. Freund,et al.  Thetis: an ANSI C programming environment designed for introductory use , 1996, SIGCSE '96.

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

[17]  T. Smith,et al.  Identifying a Need for Web Based Course Support , 1999 .

[18]  Roberto Tamassia,et al.  JERPA: a distance-learning environment for introductory Java programming courses , 2002, SIGCSE '02.