Revealing the programming process

One of the most important goals of an introductory programming course is that the students learn a systematic approach to the development of computer programs. Revealing the programming process is an important part of this; however, textbooks do not address the issue -- probably because the textbook medium is static and therefore ill-suited to expose the process of programming. We have found that process recordings in the form of captured narrated programming sessions are a simple, cheap, and efficient way of providing the revelation.We identify seven different elements of the programming process for which process recordings are a valuable communication media in order to enhance the learning process. Student feedback indicates both high learning outcome and superior learning potential compared to traditional classroom teaching.

[1]  Benedict duBoulay,et al.  Some Difficulties of Learning to Program , 1986 .

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

[3]  Elliot Soloway,et al.  Analyzing the high frequency bugs in novice programs , 1986 .

[4]  Jens Bennedsen,et al.  Teaching Object-Oriented Programming – Towards Teaching a Systematic Programming Process , 2004 .

[5]  Elliot Soloway,et al.  Novice mistakes: are the folk wisdoms correct? , 1986, CACM.

[6]  David Gries,et al.  What should we teach in an introductory programming course? , 1974, SIGCSE '74.

[7]  Rex E. Gantenbein Programming as process: a “novel” approach to teaching programming , 1989, SIGCSE '89.

[8]  Bernard J. Jansen,et al.  Digital video in education , 1999, SIGCSE '99.

[9]  Elliot Soloway,et al.  Learning to program = learning to construct mechanisms and explanations , 1986, CACM.

[10]  David Hung-Chang Du,et al.  Video-Based Hypermedia for Education-on-Demand , 1998, IEEE Multim..

[11]  K. L. Alford Video faqs - instruction-on-demand , 2003, 33rd Annual Frontiers in Education, 2003. FIE 2003..

[12]  Michael Kölling,et al.  Testing object-oriented programs: making it simple , 1997, SIGCSE '97.

[13]  Jens Bennedsen,et al.  Rationale for the Design of a Web-based Programming Course for Adults , 2004 .

[14]  Tom Boyle,et al.  Design principles for authoring dynamic, reusable learning objects , 2003, ASCILITE.

[15]  Isabel Michiels,et al.  Eighth Workshop on Pedagogies and Tools for the Teaching and Learning of Object Oriented Concepts , 2004, ECOOP Workshops.

[16]  Jens Bennedsen,et al.  Revealing the programming process , 2005 .

[17]  Michael Kölling,et al.  Teaching Object Orientation with the Blue Environment , 1999 .

[18]  Marcia C. Linn,et al.  The case for case studies of programming problems , 1992, CACM.

[19]  Jens Bennedsen,et al.  Programming in context: a model-first approach to CS1 , 2004 .