The Role of Notation and Knowledge Representation in the Determination of Programming Strategy: A Framework for Integrating Models of Programming Behavior

Cognitive Science 15 (4):547-572 (1991)
  Copy   BIBTEX

Abstract

A number of accounts of expert programming behavior have been advanced. These models of the programming activity have served to highlight the range of factors that are thought to underpin programming strategy. However, such accounts have tended to emphasize either the effects of the organization of the programmer's knowledge representation or the role played by features of the notation of the task language on the emergence, development, and support of particular forms of strategy. Such work has neglected to (a) provide an account of the way in which these factors might interact to determine programming strategy, and (b) shed light upon the nature of the development of particular strategies as programming skill increases.This article presents the results of an empirical analysis of the strategies employed by programmers of varying skill levels using different programming languages. The development of particular forms of strategy is hypothesized to be related both to the development of systematic asymmetries in programmers' generic plan‐based representations of programming knowledge and to the way in which features of the notation of particular programming languages might differentially support particular strategies. However, the results of the study reported here suggest that these effects must be interpreted within a broad developmental context. Hence, as programming skill develops, it appears that the notation of the task language tends to take precedence as a determinant of strategy, but has less relevance at beginning stages of skill development and within the context of expert performance. This finding would not be predicted by current models of the programming activity because such models suggest that any notational effects will tend to be consistent regardless of the skill level attained by the programmer. This article endeavors to extend current models of programming by emphasizing the need to consider in detail not only the development of programming strategy, but also the way in which knowledge representation and features of the task langauge interact to give rise to particular forms of programming behavior.

Links

PhilArchive



    Upload a copy of this work     Papers currently archived: 92,654

External links

Setup an account with your affiliations in order to access resources via your University's proxy server

Through your library

Similar books and articles

Understanding programming languages.Raymond Turner - 2007 - Minds and Machines 17 (2):203-216.
Formalizing multiple interpretation of legal knowledge.Andreas Hamfelt - 1995 - Artificial Intelligence and Law 3 (4):221-265.

Analytics

Added to PP
2013-11-21

Downloads
17 (#875,159)

6 months
7 (#441,920)

Historical graph of downloads
How can I increase my downloads?

Citations of this work

Program Structure and Design.Robert S. Rist - 1995 - Cognitive Science 19 (4):507-562.

Add more citations

References found in this work

Acquisition of cognitive skill.John R. Anderson - 1982 - Psychological Review 89 (4):369-406.
Schema Creation in Programming.Robert S. Rist - 1989 - Cognitive Science 13 (3):389-414.

Add more references