ABSTRACT
Should programming languages use natural-language-like syntax? Under what circumstances? What sorts of errors do novice programmers make? Does using a natural- language-like programming language lead to user errors? In this study, we read the entire online interactions of sixteen children who issued a total of 35,047 commands on MOOSE Crossing, an educational MUD for children, We counted and categorized the errors made. A total d 2,970 errors were observed. We define natural-language errors as those errors in which the user failed to distinguish between English and code, issuing an incorrect command that was more English-like than the correct one. A total of 314 natural-language errors were observed. In most of those errors, the child was able to correct the problem either easily (41.1% of the time) or with some effort (20.7%). Natural-language errors were divided into five categories. In order from most to least frequent, they are: syntax errors, guessing a command name by supplying an arbitrary English word, literal interpretation of metaphor, assuming the system is keeping more state information than is actually the case, and errors of operator precedence and combination. We believe that these error rates are within acceptable limits, and conclude that leveraging users natural-language knowledge is for many applications an effective strategy for designing end-user-programming languages.
- 1.Hoopper, G.M., Keynote Address, in History of Programming Languages, R.L. Wexelblat, Editor. 1981, Academic Press: New York. p. 7-20.]] Google ScholarDigital Library
- 2.Sammet, J., The Early History of COBOL, in History of Programming Languages, R. Wexelblat, Editor. 1981, Academic Press: New York.]] Google ScholarDigital Library
- 3.Spohrer, J. and E. Soloway, Analyzing the High Frequency Bugs in Novice Programs, in Empirical Studies of Programmers, E. Soloway and S. Iyengar, Editors. 1986, Ablex Publishing: Norwood, Nj.]] Google ScholarDigital Library
- 4.Boulay, B.D., Some Difficulties of Learning to Program, in Studying the Novice Programmer, E. Soloway and J.C. Spohrer, Editors. 1989, Lawrence Erlbaum Associates: Hillsdale, NJ. p. 283-299.]]Google Scholar
- 5.Goodman, D., The Complete HyperCard Handbook. 2nd ed. 1988, New York: Bantam Books.]] Google ScholarDigital Library
- 6.Kaehler, T., 1996, personal communication.]]Google Scholar
- 7.Bartle, R., Interactive Multi-User Computer Games. 1990, MUSE Ltd: ftp://ftp.lambda.moo.mud.org/pub/MOO/papers/mudxeport.txt]]Google Scholar
- 8.Bruckman, A. and M. Resnick, The MediaMO0 Project: Constructionism and Professional Community. Convergence, 1995.1(1): p. 94-109.]]Google Scholar
- 9.Glusman, G., E. Mercer, and I. Rubin, Real-time Collaboration On the Internet: BioMO0, the Biologists' Virtual Meeting Place., in lnternet for the Molecular Biologist., S.R. Swindell, R.R. Miller, andG.S.A. Myers, Editors. 1996, Horizon Scientific Press: Norfolk, UK.]]Google Scholar
- 10.Van Buren, D., et al., The AstroVR Co,Uaboratory, in Astronomical Data Analysis Software and Systems IV, R. Hanish and H. Payne, Editors. 1994, Astronomical Society of the Pacific: . San Francisco.]]Google Scholar
- 11.O'Day, V., et al., Moving Practice: From Classrooms to MOO Rooms. Computer Supported Cooperative Work, 1998.7: p. 9-45.]] Google ScholarDigital Library
- 12.Bruckrnan, A., Community Support for Constructionist Learning. Computer Supported Cooperative Work, 1998.7: p. 47-86.]] Google ScholarDigital Library
- 13.Bruckman, A., MOOSE Crossing." Construction, Community, and Learning in a Networked Virtual World for Kids. 1997, MIT, Ph.D. dissertation: http://www.ee.gateeh.edu/~asb/thesis/]] Google ScholarDigital Library
- 14.Curtis, P. Mudding: Social Phenomena in Text- Based Virtual Realities. in DIAC. 1992. Berkeley, CA: ftp://ftp.lambda.moo.mud.org/pub/MOO/papers/DIAC92.txt]]Google Scholar
- 15.Curtis, P., LambdaMO0 Programmer's Manual. 1993: ftp ://ftp. lambda.moo.mud, org/pub/M OOfProgrammersManual.txt]]Google Scholar
- 16.Curtis, P. and D. Nichols. MUDs Grow Up: Social Virtual Reality in the Real World'. in Third International Conference on Cyberspace. 1993. Austin, Texas: ftp://ftp.lambda.moo.mud.org/pub/MOO/papers/MUDsGrowUp.txt]]Google Scholar
- 17.Papert, S., Mindstorms: Children, Computers, and Powerful Ideas. 1980, New York: Basic }Books.]] Google ScholarDigital Library
- 18.Miller, L.A., Natural language programming: Styles, strategies, and constrasts: IBM Systems Journal, 1981. 211(2): p. 184-215.]]Google Scholar
- 19.Bonar, J. and E. Soloway, Preprogramming Knowledge: A Major Source of Misconceptions in Novice Programmers, in Studying the Novice Programmer, E. Soloway and J. Spohrer, Editors. 1989, Lawrence Erlbaum Associates: Hillsdale, NJ.]]Google Scholar
- 20.Pea, R.D., Language-Independent Conceptual "Bugs" in Novice Programming. Journal af Educational Computing Research, 1986. 2(1): p. 25- 36.]]Google Scholar
Index Terms
- Should we leverage natural-language knowledge? An analysis of user errors in a natural-language-style programming language
Recommendations
Correction of phonographic errors in natural language interfaces
SIGIR '88: Proceedings of the 11th annual international ACM SIGIR conference on Research and development in information retrievalIn this paper, we point out that, in applications available to the general public, and/or natural language interfaces, the correction of phonographic errors (which are competence errors) is far more important than the correction of typographical errors (...
Natural language semantic model for arithmetic sentences
ICCIP '17: Proceedings of the 3rd International Conference on Communication and Information ProcessingOver the past 40 years, many studies related to natural language processing have been conducted in various fields, such as text summarization, human-computer interaction, language translation and natural language interfaces to a database. Most of these ...
Syntax errors just aren't natural: improving error reporting with language models
MSR 2014: Proceedings of the 11th Working Conference on Mining Software RepositoriesA frustrating aspect of software development is that compiler error messages often fail to locate the actual cause of a syntax error. An errant semicolon or brace can result in many errors reported throughout the file. We seek to find the actual source ...
Comments