Skip to main content
Log in

Cognitive Factors in Programming with Diagrams

  • Published:
Artificial Intelligence Review Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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

    Google Scholar 

  • 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.

    Google Scholar 

  • Ferguson, E.S. (1992). Engineering and the Mind's Eye. MIT Press: Cambridge, MA.

    Google Scholar 

  • Fitter, M. & Green, T.R.G. (1979). When do Diagrams Make Good Computer Languages? International Journal of Man-Machine Studies 11(2): 235–261.

    Google Scholar 

  • Gilmore, D.J. & Green, T.R.G. (1984). Comprehension and Recall of Miniature Programs. International Journal of Man-Machine Studies 21: 31–48.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Hoc, J.-M., Green, T.R.G., Samurçay, R. & Gilmore, D.J. (1990). Psychology of Programming. Academic Press: London.

    Google Scholar 

  • Kahn, K. (1996). ToonTalkTM-An Animated Programming Environment for Children. Journal of Visual Languages and Computing 7(2): 197–218.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Nardi, B.A. (1993). A Small Matter of Programming: Perspectives on End User Computing. MIT Press: Cambridge, MA.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Repenning, A. & Sumner, T. (1995). Agentsheets: A Medium for Creating Domain-Oriented Visual Languages. IEEE Computer 28(3): 17–25.

    Google Scholar 

  • Scanlan, D.A. (1989). Structured Flowcharts Outperform Pseudocode: An Experimental Comparison. IEEE Software 6(5): 28–36.

    Google Scholar 

  • Shneiderman, B. (1980). Software Psychology: Human Factors in Computer and Information Systems. Winthrop: Cambridge, MA.

    Google Scholar 

  • 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.

    Google Scholar 

  • Smith, D.C., Cypher, A. & Spohrer, J. (1994). KIDSIM: Programming Agents Without a Programming Language. Communications of the ACM 37(7): 55–67.

    Google Scholar 

  • 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.

    Google Scholar 

  • Weinberg, G.M. (1971). The Psychology of Computer Programming. Van Nostrand Reinhold: New York.

    Google Scholar 

  • Whitley, K. (1997a). Visual Programming Languages and the Empirical Evidence for and Against. Journal of Visual Languages and Computing 8(1): 9–142.

    Google Scholar 

  • 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).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1006689708296