But My Program Runs! Discourse Rules for Novice Programmers
- 1 February 1986
- journal article
- Published by SAGE Publications in Journal of Educational Computing Research
- Vol. 2 (1), 95-125
- https://doi.org/10.2190/6e5w-ar7c-nx76-hut2
Abstract
In this article, we present an approach to critiquing and correcting novice programs that “work” (that is, they have correct I/O behavior for all input from the problem space), but are poorly constructed. Poorly constructed working code is often produced by beginning programming students, and it is important but difficult to teach them why some working code is better than others. Traditional explanations of these problems often rest on some kind of efficiency principle. We shall argue that using efficiency as a guiding principle in critiquing working code is inappropriate for novice programmers. Instead, we develop an approach to critiquing working but poorly constructed novice programs based on the principle of program readability. That is, we base our critique of working code on its ability to communicate to program readers.Keywords
This publication has 7 references indexed in Scilit:
- Empirical Studies of Programming KnowledgeIEEE Transactions on Software Engineering, 1984
- Cognitive strategies and looping constructsCommunications of the ACM, 1983
- Just so storiesACM SIGCUE Outlook, 1983
- Automatic Program Improvement: Variable Usage TransformationsACM Transactions on Programming Languages and Systems, 1983
- Beyond numbersPublished by Association for Computing Machinery (ACM) ,1983
- Prose Comprehension Beyond the WordPublished by Springer Nature ,1981
- Scripts in memory for textCognitive Psychology, 1979