Studying the Language and Structure in Non-Programmers' Solutions to Programming Problems

J.F. Pane, C.A. Ratanamahatana, and B.A. Myers, "Studying the Language and Structure in Non-Programmers' Solutions to Programming Problems," International Journal of Human-Computer Studies, vol. 54, no. 2, February 2001, pp. 237-264.

Programming may be more difficult than necessary because it requires solutions to be expressed in ways that are not familiar or natural for beginners. To identify what is natural, this article examines the ways that non-programmers express solutions to problems that were chosen to be representative of common programming tasks. The vocabulary and structure in these solutions is compared with the vocabulary and structure in modern programming languages, to identify the features and paradigms that seem to match these natural tendencies as well as those that do not. This information can be used by the designers of future programming languages to guide the selection and generation of language features. This design technique can result in languages that are easier to learn and use, because the languages will better match beginners' existing problem solving abilities.

Full Paper:
PaneRatanamahatanaMyers2001.pdf (229 KB).

The materials that were used in these studies are available as Appendices D and E of John Pane's Thesis.

John Pane's Home Page
Natural Programming Project Page (last modified on 20000321)