Design and Use of Programming Languages

  • T R G Green
Conference paper
Part of the NATO ASI Series book series (volume 22)

Abstract

The methods and techniques of computer science have been greatly advanced by the doctrines of structured programming, However, the psychological component of structured programming, which relies on simplistic cognitive models of top-down planning and comprehension, does not include many of the phenomena revealed by recent research. The ability to decompose problems into satisfactory hierarchic strctures apparently requires a learent repertoire of plans and a learnt ability to interleave these plans into standard hierarchic forms. Conversely, comprehending programs may requiree the plan structure to be inferred from the code, Notational aids to these procedures are described.

Advancement of applied disciplines combines ad hoc creation with partial theoretical understanding, and the successful generalisation and exploitation of new ad hoc creations is impossible if prevailing beliefs cannot explain why the creation is effective. It is argued that it is time for the prevailing orthodoxy to be modernised. Examples are given of recent advances that fit into the newer models. At the same time it must be acknowleged that some important issues remain unresolved.

Keywords

Structure Programming Declarative Language Command Language Programming Knowledge Computer Science Student 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Adelson, B. (1981) Problem solving and the development of abstract categories in programming languages. Memory and Cognition, 91 422–433.Google Scholar
  2. Back, R.J.R. and Hietala, P. (1984) A simple user interface for interactive program verification. Proc. INTERACT 84, Ist IFIP Conf. Computer-Human Factors.Google Scholar
  3. Crookes, D., Murray, E., Smith, F.J. and Spence, I.T.A. (1985) A voice input programming system. Unpub. MS, Queen’s University, Belfast.Google Scholar
  4. Domingue, J. (1985) Towards an automated programming advisor. Tech. Report 16, Human Cognition Research Laboratory, Open University, Milton Keynes.Google Scholar
  5. Eisenstadt, M. (1985) Retrospective zooming: a knowledge based tracing and debugging methodology for logic programming. Int. Joint. Conf. Artificial Intelligence, 1985.Google Scholar
  6. Fischer, G. and Schneider, M. (1984) Computer supported program documentation systems. Proc. INTERACT 84, 1st IFIP Conf. Computer-Human Factors.Google Scholar
  7. Fitter, M.J. and Green, T.R.G. U 1979) When do diagrams make good computer languages? Int. J. Man-Machine Studies, 11, 235–261.Google Scholar
  8. Gilmore, D.J. Unpublished Ph.D. thesis, University of Sheffield, Sheffield, UK.Google Scholar
  9. Gilmore, D.J. and Green, T.R.G. (1984) Comprehension and recall of miniature programs. Int. J. Man-Machine Studies, 21, 31–48.CrossRefGoogle Scholar
  10. Green T.R.G. (1977) Conditional program statements and their comprehensibility to professional programmers. J. Occupational Psychology, 50, 93–109.CrossRefGoogle Scholar
  11. Green, T.R.G. (1979) The necessity of syntax, two experiments with artificial languages. J. Verbal Language and Verbal Behavior, 481–496.Google Scholar
  12. Green, T.R.G. (1980) Programming as a cognitive activity. In H.T. Smith and T.R.G. Green (eds.) Human Interaction with Computers. London. Academic Press.Google Scholar
  13. Green T.R.G. (1983) Learning big and little programming languages. In A.C. Wilkinson (ed.), Classroom Computers and Cognitive Science. New York. Academic Press.Google Scholar
  14. Green, T.R.G. and Payne, S.J. (1984) Organisation and learnability in computer languages. Int. J. Man-Machine Studies, 21, 7–18.CrossRefGoogle Scholar
  15. Hoare, C.A.R. (1981) The emperor’s old clothes, Comm, ACM, 24, 75–83,CrossRefGoogle Scholar
  16. Hoc, J-M, (1983) Analysis of beginner’s problem-solving strategies, In T,R,G, Green, S,J, Payne, and G,C, van der Veer (eds,) The Psychology of Computer Use, London:, Academic Press,Google Scholar
  17. Ichbaiah, J, (1984) Adai past, present, future, An interview with Jean Ichbaiah, Comm, ACM, 27, 990–997,CrossRefGoogle Scholar
  18. King, M, (1983) Parsing Natural Language. London, Academic Press.MATHGoogle Scholar
  19. Larkin, J, H, (1981) Enriching formal knowledge: a model for learning to solve textbook physics problems, In J.R. Anderson (ed.). Cognitive Skills and their Acquisition, Erlbaum,Google Scholar
  20. Mayer, R.E. (1976) Comprehension as affected by structure of problem representation, Memory and Cognition, 4, 249–255,CrossRefGoogle Scholar
  21. McCabe, T.J. (1976) A complexity measure, IEEE Trans, Software Engineering, 2, 308–320,CrossRefMathSciNetGoogle Scholar
  22. Payne, S.J. (1984) Task-action grammars, Proc, INTERACT 84, 1st IFIP Conf, on Computer-Human Factors,Google Scholar
  23. Payne, S,J, (1985) Unpublished PhD thesis, University of Sheffield.Google Scholar
  24. Pennington, N, (1982) Cognitive components of expertise in computer programming, a review of the literature, Tech, Report, 46, Cognitive Science Dept., University of Michigan.Google Scholar
  25. Ratcliff, B, and Siddiqi, J.I.A. (1985) An empirical investigation into problem decomposition strategies used in program design. Int, J, Man-Machine Studies, 22, 77–90,CrossRefGoogle Scholar
  26. Rist, R.S. (1985) Program plans and the development of expertise, Unpublished MS., Dept of Computer Science, Yale Univ.Google Scholar
  27. Schneider, M.L., Hirsh-Pasek, K. and Nudelman, S. (1984) An experimental evaluation of delimiters in a command language syntax, Int, J, Man-Machine Studies, 20, 521–535,CrossRefGoogle Scholar
  28. Sheil, B.A. (1981) The psychological study of programming, Computing Surveys, 13, 101–120,CrossRefGoogle Scholar
  29. Sheppard, S.B., Kruesi, E. and Curtis, B. (1981) The effects of symbology and spatial arrangement on the comprehension of software specifications, Proc, 5th Int, Conf, Software Engineering, 207–214,Google Scholar
  30. Shneiderman, B, (1980) Software Psychology, Cambridge, Mass.: Winthrop,Google Scholar
  31. Shneiderman, B, and Mayer, R.E. (1979) Syntactic/semantic interactions in programmer behaviour, a model and some experimental results, Int. J, Computer and Information Sciences, 8, 219–238,CrossRefMATHGoogle Scholar
  32. Sime, M.E., Green, T.R.G. and Guest, D.J. (1973) Psychological evaluation of two conditional constructions used in computer languages. Int. J, Man-Machine Studies, 5, 105–113,CrossRefGoogle Scholar
  33. Sime, M.E., Green, T.R.G. and Guest, D.J. (1977) Scope marking in computer conditionals: a psychological evaluation, Int. J. Man-Machine Studies, 9, 107–118,CrossRefGoogle Scholar
  34. Soloway, E. and Ehrlich, K. (1983) Empirical studies of programming knowledge, IEEE Trans, Software Eng., SE-10, 595–609,CrossRefGoogle Scholar
  35. Van der Veer, G.C. and van de Wolde, G.J.E. (1983) Individual differences and aspects of control flow notation, In T.R.G. Green, S.J. Payne, and G.C. van der Veer (eds.), The Psychology of Computer Use. London, Academic Press,Google Scholar
  36. Waters, R.C. (1982) The programmer’s apprentice, knowledge based editing. IEEE Trans. Software Eng., 8,Google Scholar
  37. Vesey, I. and Weber, R. (1984) Conditional statements and program coding: an experimental evaluation, Int. J. Man-Machine Studies, 21, 161–190,CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1986

Authors and Affiliations

  • T R G Green
    • 1
  1. 1.HRC Applied Psychology UnitCambridgeUK

Personalised recommendations