« Empirical Studies of Programmers: Sixth Workshop by Wayne D. Gray and Deborah A. Boehm-Davis | Main | Analysing the Novice Analyst: Cognitve Models in Software Engineering by A. G. Sutcliffe and N. A. M. Maiden »
April 18, 2005
"The Programmer's Burden: Developing Experise in Programming" by Robert L. Campbell, Normal R. Brown, and Lia A. DiBello
This article describes and illustrates a developmental approach to programming knowledge. A constructivist developmental approach using Piagetian structural interview and tape diaries are used to gather information. The study interviews programming experts and follows individuals learning Smalltalk for 2 months.
Results of the experiment:
Interviews conducted required programmers to introspect and find in retrospect moments in which they viewed themselves becoming more aquinted with a language. The moments describe a metaphor of climbing a mountain, where some moments they think they have climbed over, only to see more of the mountain ahead. Expert programmers could tell which programs have been coded by experts and those done by novices. There's a consensus in a progression from "cookbook" to "intuitive" understanding involved in programming among the interviewees.
The second method, involving tape diaries of programmers learning smalltalk, followed the development of learning the language. From this researches could deduce developmental levels for learning smalltlak. Professional programmers were much quicker to learn Smalltalk pedagogy than novices or non-programmers.
What's important to us:
The tape diaries of much use to us in this experiment. Since the team has less than 10 weeks, performing such tape diaries, let alone find people willing to participate, is impossible. We're better off conducting interviews and performing experiments in the lab.
Binary distinction between novice and expert is inadequate because of enormous variations in skill, knowledge, and productivity among programmers. One person's expert research could be another's novice programmer, so our study should make this distinction.
Novices differ from experts in four general areas
- Syntactic knowledge
- Semantic knowledge
- Schematic knowledge
- Strategies
By taking up the programmer's burden, professional programmers are working against the grain of Smalltalk, and they end up frustrated with its principles of code reuse. This material may be dated, but it's interesting to see that experts will try what they already know in programming problems.
Posted by Matthew at April 18, 2005 10:43 AM
Comments
Post a comment
Thanks for signing in, . Now you can comment. (sign out)
(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)