Skip to main content

Syntactic/semantic interactions in programmer behavior: A model and experimental results

Abstract

This paper presents a cognitive framework for describing behaviors involved in program composition, comprehension, debugging, modification, and the acquisition of new programming concepts, skills, and knowledge. An information processing model is presented which includes a long-term store of semantic and syntactic knowledge, and a working memory in which problem solutions are constructed. New experimental evidence is presented to support the model of syntactic/semantic interaction.

This is a preview of subscription content, access via your institution.

References

  1. 1.

    J. D. Aron,The Program Development Process: Part 1, The Individual Programmer (Addison-Wesley, Reading, Massachusetts, 1974).

    Google Scholar 

  2. 2.

    D. P. Ausubel,Educational Psychology: A Cognitive Approach (Holt, Rinehart and Winston, New York, 1968).

    Google Scholar 

  3. 3.

    J. Bransford and J. Franks, “Abstraction of linguistic ideas,”Cognit. Psychol. 2:331–350 (1971).

    Google Scholar 

  4. 4.

    Frederick Brooks, Jr.,The Mythical Man-Month: Essays on Software Engineering (Addison-Wesley, Reading, Massachusetts, 1975).

    Google Scholar 

  5. 5.

    W. A. Brownell, “Psychological Considerations in the Learning and Teaching of Arithmetic,” inThe Teaching of Arithmetic: Tenth Yearbook of the National Council of Teachers of Mathematics, Bureau of Publications, Teachers College, Columbia University, New York (1935), pp. 1–35.

    Google Scholar 

  6. 6.

    O.-J. Dahl, E. W. Dijkstra, and C. A. R. Hoare,Structured Programming (Academic Press, London-New York, 1973).

    Google Scholar 

  7. 7.

    K. Duncker, “On problem solving,”Psychol. Monogr. 58:270 (1945).

    Google Scholar 

  8. 8.

    E. A. Feigenbaum, “Information Processing and Memory,” inModels of Memory, D. A. Norman, Ed. (Academic Press, New York, 1970), pp. 451–469.

    Google Scholar 

  9. 9.

    J. D. Gannon and J. J. Horning, “The Impact of Language Design on the Production of Reliable Software,”IEEE Trans. on Software Engineering,1 (1975).

  10. 10.

    J. G. Greeno, “The Structure of Memory and the Process of Problem Solving,” inContemporary Issues in Cognitive Psychology, R. Solso, (Winston, Washington, 1973).

    Google Scholar 

  11. 11.

    G. Katona,Organizing and Memorizing (Columbia University Press, New York, 1940).

    Google Scholar 

  12. 12.

    C. Kreitzberg and L. Swanson, “A Cognitive Model for Structuring an Introductory Programming Curriculum,”AFIPS Proceedings of the National Computer Conference (AFIPS Press, Montvale, New Jersey, 1974).

    Google Scholar 

  13. 13.

    N. R. F. Maier, “Reasoning in humans, I, On direction,”J. Comp. Psychol. 12:115–143 (1930).

    Google Scholar 

  14. 14.

    R. E. Mayer, “Different problem-solving competencies established in learning computer programming with and without a meaningful model,”J. Educ. Psychol. 68:143–150 (1976).

    Google Scholar 

  15. 15.

    G. A. Miller, “The magical number seven, plus or minus two: Some limits on our capacity for processing information,”Psychol. Rev. 63:81–97 (1956).

    Google Scholar 

  16. 16.

    L. Miller, “Programming by Non-Programmers,” IBM Research Report RC4280 (1973).

  17. 17.

    D. L. Parnas, “On the criteria to be used in decomposing systems into modules,”Commun. ACM 15:1053–1058 (December 1972).

    Google Scholar 

  18. 18.

    G. Polya,How to Solve It (Doubleday, New York, 1957).

  19. 19.

    P. Reisner, R. F. Boyce, and D. D. Chamberlin, “Human Factors Evaluation of Two Data Base Query Languages: SQUARE and SEQUEL,”Proceedings of the National Computer Conference (AFIPS Press, Montvale, New Jersey, 1975).

    Google Scholar 

  20. 20.

    J. Sachs, “Recognition memory for syntactic and semantic aspects of connected discourse,”Percept. Psychophys. 2:437–442 (1967).

    Google Scholar 

  21. 21.

    B. Shneiderman, “Experimental Testing in Programming Languages, Stylistic Considerations and Design Techniques,”Proceedings of the National Computer Conference (AFIPS Press, Montvale, New Jersey, 1975).

    Google Scholar 

  22. 22.

    B. Shneiderman, “A review of design techniques for programs and data,”Software-Pract. Exper. 6:555–567 (1976).

    Google Scholar 

  23. 23.

    B. Shneiderman, “Exploratory experiments in programmer behavior,”Int. J. Comput. Inf. Sci. 5(2):123–143 (June 1976).

    Google Scholar 

  24. 24.

    B. Shneiderman, R. Mayer, D. McKay, and P. Heller, “Experimental investigations of the utility of detailed flowcharts in programming,”Commun. ACM 20:373–381 (1977).

    Google Scholar 

  25. 25.

    B. Shneiderman, “Measuring computer program quality and comprehension,”Int. J. Man-Mach. Stud. 9:465–478 (1977).

    Google Scholar 

  26. 26.

    B. Shneiderman, “Teaching programming: A spiral approach to syntax and semantics,”Comput. Educ. 1:193–197 (1977).

    Google Scholar 

  27. 27.

    M. Sime, T. Green, and D. Guest, “Psychological evaluation of two conditional constructions used in computer languages,”Int. J. Man-Mach. Stud. 5:105–113 (1973).

    Google Scholar 

  28. 28.

    J. C. Thomas and J. D. Gould, “A Psychological Study of Query by Example,”Proceedings of the 1975 National Computer Conference (AFIPS Press, Montvale, New Jersey, 1975).

    Google Scholar 

  29. 29.

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

    Google Scholar 

  30. 30.

    L. Weissman, “Psychological Complexity of Computer Programs: An Initial Experiment,” Technical Report CSRG-26, Computer Systems Research Group, University of Toronto, Toronto, Canada (1973).

    Google Scholar 

  31. 31.

    L. Weissman, “Psychological complexity of computer programs: An experimental methodology,SIGPLAN Not. 9:25–36 (June 1974).

    Google Scholar 

  32. 32.

    M. Wertheimer,Productive Thinking (Harper & Row, New York, 1959).

    Google Scholar 

  33. 33.

    W. Wickelgren,How to Solve Problems (W. H. Freeman, San Francisco, 1974).

    Google Scholar 

  34. 34.

    Niklaus Wirth, “Program development by stepwise refinement,”Commun. ACM 14:4 (April 1971).

    Google Scholar 

  35. 35.

    E. A. Youngs, “Human errors in programming,”Int. J. Man-Mach. Stud. 6:361–376 (1974).

    Google Scholar 

  36. 36.

    H. Mills, “Top Down Programming in Large Systems,” in R. Rustin (Ed.),Debugging Techniques in Large Systems (Prentice-Hall, Englewood Cliffs, N. J., 1971).

    Google Scholar 

  37. 37.

    D. McCracken,A Simplified Guide to FORTRAN IV Programming, (John Wiley and Sons, New York, 1974).

    Google Scholar 

Download references

Author information

Affiliations

Authors

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Shneiderman, B., Mayer, R. Syntactic/semantic interactions in programmer behavior: A model and experimental results. International Journal of Computer and Information Sciences 8, 219–238 (1979). https://doi.org/10.1007/BF00977789

Download citation

Key words

  • Programming
  • programming languages
  • cognitive models
  • program composition
  • program comprehension
  • debugging
  • modification
  • learning
  • education
  • information processing