Thank you Chris and Walter for such a quick and welcoming response! Here are my answers to your questions:
"I guess you know Pablo, being a student of Sussex." I know of Pablo, but I haven't introduced myself yet as I'm currently in HUMS doing my DPhil in Cognitive Linguistics not related to programming languages. I'm planning on it, but trying to meet some deadlines seems to get in the way though. :) "Perhaps you would like to write something about this for the next PPIG newsletter?" Well, I'm planning on write a short paper on it to submit to the PPIG workshop at Sussex in June. I'm not sure what sort of format the newsletter article would be and how different the newsletter article would be from the paper for the workshop. If you send me some details, I'll think on it. "Do you know of Joseph Goguen and algebraic semiotics?" I know of Joseph Gougen and heard of algebraic semiotics from visiting his website. However, I haven't read any of his papers yet. Since you mentioned it, I should read some for the paper that I'm writing. "Is this for 'novices' or professional programmers?" this = "cognition in understanding and using programming languages and development environments" I guess this distinction is made for understanding the performance differences observed and how learning transforms a novice into a professional programmers. In my approach, I would characterize the cognition necessary to understand programs with conceptual integration networks. This characterization could explain why a novice might not understand or mis-understand a program and how professionals are able to understand a program. Therefore, I don't think that the distinction between novices and professionals matters in what I am trying to do. The distributed cognition comes into play in the form of cognitive offloading. We tend to offload cognition onto the computer, i.e. many cognitive tasks are replicated by the computer. One simple example is the calculator. It's able to replicate the mathematical calculations that humans can perform, but not as fast. So, if you conceptualize the computer and the computer user as a cognitive system, the problem of designing user interfaces and programming languages become a cognitive offloading optimization problem. One has to decide between the user and the computer, what sort of cognition should occur in each such that the cognitive system can perform optimally. This idea is the result of thinking about software engineering problems, working on aspect oriented software development for my master's and working on cognitive linguistics for my DPhil. I've only discovered the PPIG community recently and I've just started to look at some books: Cognitive Aspects of Computer Supported Tasks by Yvonne Waern Cognition and Computer Programming by Wender, Schmalhofer & Boecker The Psychology of Computer Programming by Gerald Weinberg However, these books are quite dated. I thought that perhaps there were more recent articles dealing with analyzing how one understands computer programs or GUIs. Since I'm a novice to PPIG, I thought I'd ask. John ---------------------------------------------------------------------- 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/
