The preface to the proceedings of the fourth workshop explained why I couldn’t find the third workshop: It was held jointly with CHI ’89 and no bound proceedings were published. There wasn’t even a true call for papers.
A Feasibility Study of Early Class Hierarchy Construction in Object-Oriented Development
Joseph L. Dvorak and Thomas G. Moher
It is difficult to design class hierarchies given just requirements if domain experience is lacking.
A semantic net is a (conceptually) better model for classes than an inheritance hierarchy. Semantic net links would be relationships such as inclusion, deletion, similarity and causality.
An Investigation of Procedure and Variable Names as Beacons During Program Comprehension
Edward M. Gellenbeck and Curtis R. Cook
Function and variable names are beacons, but strong code beacons such as the swap in a sort overwhelm the power of names.
Beacons as a theory do not rest on a solid foundation: Most beacon research has centred on the swap in the sort.
How Do We Read Algorithms? A Case Study
Crosby, M.E., Stelovsky, J.
According to an eye-tracking experiment, experts’ code-reading strategies differ from novices’. Both experts and novices use a variety of strategies.
Does Signaling Help Professional Programmers Read and Understand Computer Programs?
Edward M. Gillenbeck, Curtis R. Cook
Typographic signaling about important program sections, header comments before modules and mnemonic module names boost program comprehensibility.
Use of Structure Editing Tools by Novice Programmers
Dennis R. Goldenson, Bing Jyun Wang
GENIE environments disallow syntax errors by construction. They provide a rich editing environment for programs that supports direct manipulation of program constructs. If taught properly, even novices are able to take advantage of their power.
Comprehensibility of Visual and Textual Programs: A Test of Superlativism Against the ‘Match-Mismatch’ Conjecture
T. R. G. Green, M. Petre, R. K. E. Bellamy
Visual programs take longer to understand than textual. Programmer’s comprehension is mostly about training. Visual programming languages only have advantages when the structures match the tasks and the users know it.
How Experts Infer Novice Programmer Expertise: A Protocol Analysis of LISP Code Evaluation
Thomas Mastaglio, John Rieman
Experts use a limited set of cues to determine the expertise of another programmer.
Transfer of Training Between Programming Subtasks: Is Knowledge Really Use Specific?
Nancy Pennington, Robert Nicolich
There is substantial transfer between programming subskills, such as writing and comprehending computer programs.
What Do Expert Commenters Communicate By Means of Descriptive Commenting?
R. Douglas Riecken
Expert programmers mostly try to communicate semantic domain knowledge in comments. They also add spacing to make code more clear.
Novices actually need help with complex syntactic constructs before they can absorb the semantic knowledge.
Psychological Design Rationale for an Intelligent Tutoring System for Smalltalk
Mark K. Singley, John M. Carroll, Sherman R. Alpert
Great progress has been made in the psychology of programming, but this research has not affected the design of tools much. A tool is presented with a design informed by empirical results.
An Empirical Study of the Effects of Design/Documentation Formats on Expert System Modifiability
Kathleen M. Swigger, Robert P. Brazile
In a large expert system, a Petri net for control flow was superior to an ER diagram for comprehensibility.
Strategy Selection and Change in PASCAL Programming
Quanfeng Wu, John. R. Anderson
Programmers are tenacious in using the most appropriate looping strategy for problems. Programming languages ought to support cognitively natural looping constructs for loops where termination conditions are naturally found at the beginning, in the middle, or at the end of an iteration body.