Experimental investigations of the utility of detailed flowcharts in programming
Communications of the ACM
The effects of symbology and spatial arrangement on the comprehension of software specifications
ICSE '81 Proceedings of the 5th international conference on Software engineering
Learning to program: spreadsheets, scripting and HCI
ACE '04 Proceedings of the Sixth Australasian Conference on Computing Education - Volume 30
Hi-index | 0.00 |
Graphical representations for algorithms (GRA's) have been available to practitioners as software comprehension aids since the introduction of the flowchart in the late forties. Many others have followed, including the Nassi-Shneiderman (1972), Warnier-Orr (1976), action diagram (1984), and control structure diagram (1986). Empirical studies of GRA's have focused primarily on the flowchart and the results of these studies indicate its effectiveness as an aid to comprehension is questionable. These results also indicate that, with the evolution of more sophisticated software development tools, there is a need to determine which, if any, of these GRA's would be most beneficial to the user as an aid in program comprehension.The usefulness of flowcharts as a graphical means of representing software continues to be debated. Although studying a “picture” may be more aesthetically appealing than poring through lines of “textual” code for program reading, debugging, modification, etc., empirical studies have indicated that flowcharts may be no more beneficial than source listings. In fact, they may even be a hindrance.In one study, students were asked questions which forced them to do forward and backward tracing through an algorithm in flowchart form and another in a constrained language such as PDL. The results were equal, in speed and accuracy, for both forms. In a questionnaire that followed the experiment, more students indicated that they preferred using the constrained language over flowcharts [1]. Another study concluded that procedures written as flowcharts did not increase performance by subjects in identifying procedural faults [2]. Yet another found that programs written with the aid of a flowchart were no better than programs written without one [3]. The use of flowcharts as an educational tool may even inhibit students in learning a programming language, since it introduces new information that distracts them from learning the basic material [4].Few, if any, empirical studies have been done to measure the effectiveness of more recent GRA's such as the Nassi-Shneiderman chart, Warnier-Orr diagram, and, in particular, the action diagram and control structure diagram, which are simple graphical extensions of pseudo-code or source code. The need for new empirical studies of GRA's is predicated on the renewed interest in graphical representation of software that has resulted from availability of high-density bit-mapped graphics. A formal study of the comprehension effectiveness of GRA's is currently under way here at Auburn University.