An empirical study of novice program comprehension in the imperative and object-oriented styles

The objective of this study was to determine whether the mental representation of object-oriented programs differs from imperative programs for novice programmers. In our study novices who had little or no previous programming experience studied and answered questions about three imperative and three object-oriented programs. The questions targeted information categories making up the program model and the domain model representations of the programs. It was found that there was a sharp contrast between the mental representations of the imperative and object-oriented programs. While the comprehension of the imperative programs was better overall than that of the object-oriented programs, the mental representations of the imperative programs focused on program-level knowledge. On the other hand, the mental representations of the objectoriented programs focused more strongly on domain-level knowledge. The results tend to support the view that language notations differ in how well they support the extraction of various kinds of information.

[1]  Nancy Pennington,et al.  Comprehension strategies in programming , 1987 .

[2]  Elliot Soloway,et al.  Mental models and software maintenance , 1986, J. Syst. Softw..

[3]  James C. Spohrer,et al.  Empirical Studies of Programmers: Fifth Workshop , 1993 .

[4]  W. Kintsch,et al.  Strategies of discourse comprehension , 1983 .

[5]  N. Pennington Stimulus structures and mental representations in expert comprehension of computer programs , 1987, Cognitive Psychology.

[6]  Ruven E. Brooks,et al.  Towards a Theory of the Comprehension of Computer Programs , 1983, Int. J. Man Mach. Stud..

[7]  Mary Beth Rosson,et al.  The Cognitive Consequences of Object-Oriented Design , 1990, Hum. Comput. Interact..

[8]  Grady Booch,et al.  Object-oriented development , 1986, IEEE Transactions on Software Engineering.

[9]  F. Schmalhofer,et al.  Three components of understanding a programmer's manual: Verbatim, propositional and situational representations , 1986 .

[10]  Susan Wiedenbeck,et al.  What do novices learn during program comprehension? , 1991, Int. J. Hum. Comput. Interact..

[11]  W. Buxton Human-Computer Interaction , 1988, Springer Berlin Heidelberg.

[12]  Françoise Détienne,et al.  Mental Representations Constructed by Experts and Novices in Object-Oriented Program Comprehension , 1997, INTERACT.

[13]  John Mylopoulos,et al.  Knowledge Representation as the Basis for Requirements Specifications , 1985, Computer.

[14]  Scott P. Robertson,et al.  Expert problem solving strategies for program comprehension , 1991, CHI.

[15]  P. Johnson-Laird,et al.  Mental Models: Towards a Cognitive Science of Language, Inference, and Consciousness , 1985 .

[16]  Susan Wiedenbeck,et al.  A comparison of the comprehension of object-oriented and procedural programs by novice programmers , 1999, Interact. Comput..

[17]  Carol Bergfeld Mills,et al.  Reading Procedural Texts: Effects of Purpose for Reading and Predictions of Reading Comprehension Models. , 1995 .

[18]  Johnette Hassell,et al.  Information Relationships in PROLOG Programs: How Do Programmers Comprehend Functionality? , 1991, Int. J. Man Mach. Stud..

[19]  Kate Ehrlich,et al.  Empirical Studies of Programming Knowledge , 1984, IEEE Transactions on Software Engineering.

[20]  Elliot Soloway,et al.  Empirical Studies of Programmers: Second Workshop , 1991 .

[21]  David J. Gilmore,et al.  Comprehension and Recall of Miniature Programs , 1984, Int. J. Man Mach. Stud..