Abstract
Our theoretical framework views programming as search in three problem spaces: rule, instance, and representation. The main objectives of this study are to find out how programmers change representation while working in multiple problem spaces, and how representation change increases the difficulty of programming tasks. Our theory of programming indicates that programming is similar to the way scientists discover and test theories. That is, programmers generate hypotheses in the rule space and test these hypotheses in the instance space. Moreover, programmers change their representations in the representation space when rule development becomes too difficult or alternative representations are available. We conducted three empirical studies with different programming tasks: writing a new program, understanding an existing program, and reusing an old program. Our results indicate that considerable cognitive difficulties stem from the need to change representations in these tasks. We conclude by discussing the implications of viewing programming as a scientific discovery for the design of programming environments and training methods.
Original language | English |
---|---|
Pages (from-to) | 25-50 |
Number of pages | 26 |
Journal | Information Systems Research |
Volume | 8 |
Issue number | 1 |
DOIs | |
Publication status | Published - 1997 Jan 1 |
Fingerprint
All Science Journal Classification (ASJC) codes
- Management Information Systems
- Information Systems
- Computer Networks and Communications
- Information Systems and Management
- Library and Information Sciences
Cite this
}
Why Is Programming (Sometimes) so Difficult? Programming as Scientific Discovery in Multiple Problem Spaces. / Kim, Jin Woo; Lerch, F. Javier.
In: Information Systems Research, Vol. 8, No. 1, 01.01.1997, p. 25-50.Research output: Contribution to journal › Article
TY - JOUR
T1 - Why Is Programming (Sometimes) so Difficult? Programming as Scientific Discovery in Multiple Problem Spaces
AU - Kim, Jin Woo
AU - Lerch, F. Javier
PY - 1997/1/1
Y1 - 1997/1/1
N2 - Our theoretical framework views programming as search in three problem spaces: rule, instance, and representation. The main objectives of this study are to find out how programmers change representation while working in multiple problem spaces, and how representation change increases the difficulty of programming tasks. Our theory of programming indicates that programming is similar to the way scientists discover and test theories. That is, programmers generate hypotheses in the rule space and test these hypotheses in the instance space. Moreover, programmers change their representations in the representation space when rule development becomes too difficult or alternative representations are available. We conducted three empirical studies with different programming tasks: writing a new program, understanding an existing program, and reusing an old program. Our results indicate that considerable cognitive difficulties stem from the need to change representations in these tasks. We conclude by discussing the implications of viewing programming as a scientific discovery for the design of programming environments and training methods.
AB - Our theoretical framework views programming as search in three problem spaces: rule, instance, and representation. The main objectives of this study are to find out how programmers change representation while working in multiple problem spaces, and how representation change increases the difficulty of programming tasks. Our theory of programming indicates that programming is similar to the way scientists discover and test theories. That is, programmers generate hypotheses in the rule space and test these hypotheses in the instance space. Moreover, programmers change their representations in the representation space when rule development becomes too difficult or alternative representations are available. We conducted three empirical studies with different programming tasks: writing a new program, understanding an existing program, and reusing an old program. Our results indicate that considerable cognitive difficulties stem from the need to change representations in these tasks. We conclude by discussing the implications of viewing programming as a scientific discovery for the design of programming environments and training methods.
UR - http://www.scopus.com/inward/record.url?scp=0346613452&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0346613452&partnerID=8YFLogxK
U2 - 10.1287/isre.8.1.25
DO - 10.1287/isre.8.1.25
M3 - Article
AN - SCOPUS:0346613452
VL - 8
SP - 25
EP - 50
JO - Information Systems Research
JF - Information Systems Research
SN - 1047-7047
IS - 1
ER -