Evaluation of Two Textual Programming Notations for Children

Many researchers have developed many programming environments for children. Typically each of these environments contains its own programming notation ranging from computer code to animated virtual 3D robots and in some case the notation consists of physical objects. While some of these notations were created by examining how children naturally describe computer programs, little research has examined how children understand programs written using these notations. Even less research has examined how children understand programs written using multiple notations.This paper describes an evaluation that compares how children can understand computer programs written using different programming notations: conventional code, English, or a combination of the two. The children were about eleven years old and we measured speed in answering questions about computer programs and the accuracy of their answers. We found that children reading computer programs written in a conventional-style notation were more efficient (faster with no reliable difference in accuracy) than children reading programs written in English. Children with access to a combination of both notations performed between the two other conditions.

[1]  David Gilligan,et al.  An Exploration of Programming by Demonstration in the Domain of Novice Programming , 1998 .

[2]  Brad A. Myers,et al.  Using HCI techniques to design a more usable programming system , 2002, Proceedings IEEE 2002 Symposia on Human Centric Computing Languages and Environments.

[3]  Sharon K. Ellershaw,et al.  Program Visualization – The State of the Art , 2007 .

[4]  Thomas P. Moran,et al.  User-tailorable systems: pressing the issues with buttons , 1990, CHI '90.

[5]  Timothy N. Wright,et al.  Collaborative and multiple-notation programming environments for children , 2004 .

[6]  Andy Cockburn,et al.  Leogo: An Equal Opportunity User Interface for Programming , 1997, J. Vis. Lang. Comput..

[7]  John E. Grayson Python and Tkinter Programming , 2000 .

[8]  Lance A. Miller,et al.  Natural Language Programming: Styles, Strategies, and Contrasts , 1981, IBM Syst. J..

[9]  David Canfield Smith,et al.  Making programming easier for children , 1996, INTR.

[10]  Alexander Repenning AgentSheets: an Interactive Simulation Environment with End-User Programmable Agents , 2000 .

[11]  Ken Kahn,et al.  A Computer Game To Teach Programming. , 1999 .

[12]  Tommy Burnette,et al.  Alice: lessons learned from building a 3D system for novices , 2000, CHI.

[13]  Donald E. Knuth,et al.  Literate Programming , 1984, Comput. J..

[14]  Brad A. Myers,et al.  Studying the language and structure in non-programmers' solutions to programming problems , 2001, Int. J. Hum. Comput. Stud..

[15]  Brad A. Myers,et al.  Taxonomies of visual programming and program visualization , 1990, J. Vis. Lang. Comput..

[16]  Andy Cockburn,et al.  Mulspren: A Multiple Language Simulation Programming Environment , 2002, Proceedings IEEE 2002 Symposia on Human Centric Computing Languages and Environments.

[17]  John Whiteside,et al.  Human factors in computing systems : CHI '90 Conference proceedings, Seattle, Washington, April 1-5, 1990 : empowering people , 1990 .

[18]  Andy Cockburn,et al.  A language and task-based taxonomy of programming environments , 2003, IEEE Symposium on Human Centric Computing Languages and Environments, 2003. Proceedings. 2003.

[19]  Amy Bruckman,et al.  Should we leverage natural-language knowledge? An analysis of user errors in a natural-language-style programming language , 1999, CHI '99.

[20]  Allison Druin,et al.  The design of children's technology , 1998 .