Title: PPIG discuss: programmer's view of program structure?
Good topic.
 
I recommend not starting with the programming literature but with the psychological literature and going forward.  Here are two classic papers on how chess masters perceive board positions:
 
"The Mind's Eye in Chess" (1973)
"Perception in Chess" (1973)
 
Although it's chess, the concepts carry over to different domains and will help you structure your problem better. 
 
- Nick
---
Nick V. Flor
Information & Cognitive Scientist
Anderson Schools of Management
University of New Mexico
[EMAIL PROTECTED]
 


From: [EMAIL PROTECTED] on behalf of Marat Boshernisan
Sent: Fri 2/13/2004 1:37 AM
To: [EMAIL PROTECTED]
Subject: PPIG discuss: programmer's view of program structure?

I am looking for insight on how programmers perceive organizational
structure of computer programs.

For instance, do programmers recognize Java programs as consisting of
packages, which are composed of classes, which, in turn, consist of
method and field declarations?  If so, what are the natural "atomic
units" of such a hierarchization?  Clearly, programmers do no go as far
as viewing program tokens as consisting of individual characters, though
I am sure there are situations in which humans perceive individual words
as constructed from smaller units.  (Note that I am interested in the
*perceived* structure, as opposed to the structure defined by a formal
programming language grammar.)

While there may be little (none?) prior work in this domain pertaining
to programmers, I have a feeling that there should be some existing
psychology research that can be applied in this context.  Perhaps
there's even a formalizm for describing hierarchival composition of
categories?  (Something akin to formal grammars?)

Understanding programmer's perception of program structure is central to
my Ph.D. research and unless I can find existing studies, I will run
user experiments to fill in this gap.  However, at the very least, I am
hoping to find a starting point for devising such a study.

Naturally, I tried looking on various search engines, but I am affrain I
do not know appropriate terminology.  So even pointers in that direction
will be greately appreciated.

Thank you!

Marat Boshernitsan.
Ph.D. Candidate
Computer Science Division, EECS
University of California at Berkeley




----------------------------------------------------------------------
PPIG Discuss List ([EMAIL PROTECTED])
Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss
Announce admin: http://limitlessmail.net/mailman/listinfo/announce
PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/

Reply via email to