Abstract
Visual programming languages aim to broaden the use ofdiagrams within the software industry, to the extentthat they are integrated into the programming languageitself. As a result, they provide an ideal opportunityto study the benefits of diagrams as an externalrepresentation during problem solving: not only isprogramming a challenging problem-solving activity,but the effect of diagram usage can be directlyassessed by comparing performance while using a visualprogramming language to performance with a standardtextual language. There have been severalmisconceptions amongst visual language researchersregarding the role of diagrams in software design, butthese are being addressed by empirical studies and bynew theories of notation design derived from studiesof visual programming. Based on this research, theauthors are able to recommend several new directionsfor research into thinking with diagrams.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Baroth, E. & Hartsough, C. (1995). Visual Programming in the Real World. In Burnett, M., Goldberg, A. & Lewis, T. (eds.) Visual Object-Oriented Programming: Concepts and Environments, chapter 2, 21–42. Manning Publications Co.
Blackwell, A.F. (1996a). Metaphor or Analogy: How Should We See Programming Abstractions? In Vanneste, P., Bertels, K., De Decker, B. & Jaques, J.-M. (eds.) Proceedings of the 8th Annual Workshop of the Psychology of Programming Interest Group, 105–113.
Blackwell, A.F. (1996b). Metacognitive Theories of Visual Programming:What DoWe Think We Are Doing? In Proceedings IEEE Symposium on Visual Languages, 240–246.
Blackwell, A.F. (1998). Metaphor in Diagrams. Unpublished PhD thesis. University of Cambridge.
Buckingham-Shum, S. & Hammond, N. (1994) Argumentation-Based Design Rationale: WhatUse at What Cost? International Journal of Human-Computer Studies 40: 603–632.
Burnett, M.M., Baker, M.J., Bohus, C., Carlson, P., Yang, S. & van Zee, P. (1995). Scaling Up Visual Programming Languages. IEEE Computer 28(3): 45–54.
Cox, R. (1997). Representation Interpretation Versus Representation Construction: An ILEBased Study Using SwitchERII. In Proceedings of the 8th World Conference of the Artificial Intelligence in Education Society (AI-ED 97). Amsterdam: IOS Press, ‘Frontiers in Artificial Intelligence and Applications’ series.
Cunniff, N. & Taylor, R.P. (1987). Graphical vs. Textual Representation: An Empirical Study of Novices' Program Comprehension. In Empirical Studies of Programmers: Second Workshop, 114–131.
Curtis, B., Sheppard, S.B., Kruesi-Bailey, E., Bailey, J. & Boehm-Davis, D.A. (1989). Experimental Evaluation of Software Documentation Formats. Journal of Systems and Software 9(2): 167–207.
DeLoache, J.S. & Marzolf, D.P. (1992). When a Picture is Not Worth a Thousand Words: Young Children's Understanding of Pictures and Models. Cognitive Development 7: 317–329
diSessa, A. (1986). Notes on the Future of Programming: Breaking the Utility Barrier. In Norman, D.A. & Draper, S.W. (eds.) User Centered System Design: New Perspectives on Human-Computer Interaction. Lawrence Erlbaum: Hillsdale, NJ.
Ferguson, E.S. (1992). Engineering and the Mind's Eye. MIT Press: Cambridge, MA.
Fitter, M. & Green, T.R.G. (1979). When do Diagrams Make Good Computer Languages? International Journal of Man-Machine Studies 11(2): 235–261.
Gilmore, D.J. & Green, T.R.G. (1984). Comprehension and Recall of Miniature Programs. International Journal of Man-Machine Studies 21: 31–48.
Glinert, E.P. (ed.) (1990a). Visual Programming Environments: Applications and Issues. IEEE Computer Society Press.
Glinert, E.P. (ed.) (1990b). Visual Programming Environments: Paradigms and Systems. IEEE Computer Society Press.
Good, J. (1999). Programming Paradigms, Information Types and Graphical Representations: Empirical Investigations into the Factors involved in Novice Program Comprehension. Unpublished PhD thesis. University of Edinburgh, Department of Artificial Intelligence.
Green, T.R.G. (1977). Conditional Programs Statements and Their Comprehensibility to Professional Programmers. Journal of Occupational Psychology 50: 93–109.
Green, T.R.G. (1989) Cognitive Dimensions of Notations. In Sutcliffe, A. & Macaulay, L. (eds.) People and Computers V, 443–460. Cambridge University Press: Cambridge.
Green, T.R.G. (1991) Describing Information Artefacts with Cognitive Dimensions and Structure Maps. In Diaper, D. & Hammond, N.V. (eds.) People and Computers VI, 297–315. Cambridge University Press: Cambridge.
Green, T.R.G. & Petre, M. (1992). When Visual Programs are Harder to Read than Textual Programs. In Proceedings of Sixth European Conference on Cognitive Ergonomics (ECCE6), 167–180.
Green, T.R.G. & Petre, M. (1996) Usability Analysis of Visual Programming Environments: A ‘Cognitive Dimensions’ Framework. Journal of Visual Languages and Computing 7: 131–174.
Green, T.R.G., Petre, M. & Bellamy, R.K.E. (1991). Comprehensibility of Visual and Textual Programs: A Test of Superlativism Against the ‘Match-Mismatch’ Conjecture. In Empirical Studies of Programmers: Fourth Workshop, 121–146.
Gurka, J.S. & Citrin, W. (1996). Testing Effectiveness of Algorithm Animation. In Proceedings of 1996 IEEE Symposium on Visual Languages (VL '96), 182–189.
Halasz, F.G. & Moran, T.P. (1982). Analogy Considered Harmful. Proc. Conf. Human Factors in Computing Systems: ACM, 383–386.
Hils, D.D. (1992). Visual Languages and Computing Survey: Data Flow Visual Programming Languages. Journal of Visual Languages and Computing 3: 67–101.
Hoc, J.-M., Green, T.R.G., Samurçay, R. & Gilmore, D.J. (1990). Psychology of Programming. Academic Press: London.
Kahn, K. (1996). ToonTalkTM-An Animated Programming Environment for Children. Journal of Visual Languages and Computing 7(2): 197–218.
Mayer, R.E. (1975). Different Problem-Solving Competencies Established in Learning Computer Programming With and Without Meaningful Models. Journal of Educational Psychology 67(6): 725–734.
Modugno, F., Green, T.R.G. & Myers, B.A. (1994). Visual Programming in a Visual Domain: A Case Study of Cognitive Dimensions. In: People and Computers IX, 91–108. Cambridge University Press: Cambridge.
Moher, T.G., Mak, D.C, Blumenthal, B. & Leventhal, L.M. (1993). Comparing the Comprehensibility of Textual and Graphical Programs: The Case of Petri Nets. In Empirical Studies of Programmers: Fifth Workshop, 137–161.
Myers, B.A. (1990). Taxonomies of Visual Programming and Program Visualization. Journal of Visual Languages and Computing 1: 97–123.
Nardi, B.A. (1993). A Small Matter of Programming: Perspectives on End User Computing. MIT Press: Cambridge, MA.
Navarro-Prieto, R. (1998). The Role of Imagery in Program Comprehension: Visual Programming Languages. Doctoral Thesis, University of Granada. ISBN 84–8497–957–1.
Newell, A. & Simon, H.A. (1972). Human Problem Solving. Prentice Hall: Englewood Cliffs, NJ.
Pandey, R.K. & Burnett, M.M. (1993). Is It Easier to Write Matrix Manipulation Programs Visually or Textually? An Empirical Study. In Proceedings of 1993 IEEE Symposium on Visual Languages (VL '93), 344–345.
Papert, S. (1980). Mindstorms, Children, Computers and Powerful Ideas. Basic Books: New York.
Petre, M. (1991). Shifts in Reasoning About Software and Hardware Systems: Must Operational Models Underpin Declarative Ones? In: The Third Workshop of the Psychology of Programming Interest Group (Hatfield, January).
Petre, M. (1995). Why Looking Isn't Always Seeing: Readership Skills and Graphical Programming. Communications of the ACM 38(6): 33–44.
Petre, M. (1996). Programming Paradigms and Culture: Implications of Expert Practice. In: Woodman. M. (ed.) Programming Language Choice: Practice and Experience, 29–44. International Thomson Computer Press: London.
Petre, M. & Blackwell, A.F. (1997). A Glimpse of Expert Programmer's Mental Imagery. In Wiedenbeck, S. & Scholtz, J. (eds.) Proceedings of the 7th Workshop on Empirical Studies of Programmers, 109–123.
Petre, M., Blackwell, A.F. & Green, T.R.G. (1998). Cognitive Questions in Software Visualisation. In Stasko, J., Domingue, J., Brown, M. & Price, B. (eds.) Software Visualization: Programming as a Multi-Media Experience, 453–480. MIT Press: Cambridge, MA.
Petre, M. & Green, T.R.G. (1993). Learning to Read Graphics: Some Evidence that ‘seeing’ an Information Display Is an Acquired Skill. Journal of Visual Languages and Computing 4: 55–70.
Petre, M. & Winder, R. (1988). Issues Governing the Suitability of Programming Languages for Programming Tasks. In: People and Computers IV. Cambridge University Press.
Ploix, D. (1996). Building Program Metaphors. In Ireland, M. (ed.), Proceedings of the First Psychology of Programming Interest Group Postgraduate Student Workshop, 125–129.
Price, B.A., Baecker, R.M. & Small, I.S. (1993). A Principled Taxonomy of Software Visualization. Journal of Visual Languages and Computing 4(3): 211–266.
Reitman, W.R. (1964). Heuristic Design Procedures, Open Constraints and the Structure of Ill-Defined Problems. In Shelly, M.W. & Bryan, G.L. (eds.) Human Judgements and Optimality. Wiley and Sons: New York.
Repenning, A. & Sumner, T. (1995). Agentsheets: A Medium for Creating Domain-Oriented Visual Languages. IEEE Computer 28(3): 17–25.
Scanlan, D.A. (1989). Structured Flowcharts Outperform Pseudocode: An Experimental Comparison. IEEE Software 6(5): 28–36.
Shneiderman, B. (1980). Software Psychology: Human Factors in Computer and Information Systems. Winthrop: Cambridge, MA.
Shneiderman, B., Mayer, R., McKay, D. & Heller, P. (1977) Experimental Investigations of the Utility of Detailed Flowcharts in Programming. Communications of the ACM 20: 373–381.
Smith, D.C., Cypher, A. & Spohrer, J. (1994). KIDSIM: Programming Agents Without a Programming Language. Communications of the ACM 37(7): 55–67.
Stasko, J.T., Badre, A.M. & Lewis, C. (1993). Do Algorithm Animations Assist Learning? An Empirical Study and Analysis. In Proceedings of INTERCHI '93 Conference on Human Factors in Computing Systems, 61–66.
Vessey, I. & Weber, R. (1986). Structured Tools and Conditional Logic: An Empirical Investigation. Communications of the ACM 29(1): 48–57.
Weinberg, G.M. (1971). The Psychology of Computer Programming. Van Nostrand Reinhold: New York.
Whitley, K. (1997a). Visual Programming Languages and the Empirical Evidence for and Against. Journal of Visual Languages and Computing 8(1): 9–142.
Whitley, K. (1997b). In Search of Visual Programming. In Kann, C. (ed.) Proceedings of the First Empirical Studies of Programmers Graduate Student Workshop, October 24, 1997.
Whitley, K.N. & Blackwell, A.F. (1997). Visual Programming: The Outlook from Academia and Industry. In Wiedenbeck, S. & Scholtz, J. (eds.) Proceedings of the 7th Workshop on Empirical Studies of Programmers, 180–208.
Yang, S., Burnett, M.M., DeKoven, E. & Zloof, M. (1995) Representation Design Benchmarks: A Design-Time Aid for VPL Navigable Static Representations. D.C.S. Tech Rpts 95–60–3. Oregon State University (Corvallis).
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Blackwell, A.F., Whitley, K.N., Good, J. et al. Cognitive Factors in Programming with Diagrams. Artificial Intelligence Review 15, 95–114 (2001). https://doi.org/10.1023/A:1006689708296
Issue Date:
DOI: https://doi.org/10.1023/A:1006689708296