Instruction for software engineering expertise

  • Jared T. Freeman
  • Thomas R. Riedl
  • Julian S. Weitzenfeld
  • Gary A. Klein
  • John Musa
Session 7 Developing Software Engineering Expertise
Part of the Lecture Notes in Computer Science book series (LNCS, volume 536)


Research, development and delivery of a course concerning how experts debug complex software systems raised questions about how to teach expert software skills — including interpersonal skills — to software professionals. For example: How can we teach students the metacognitive monitoring and control skills that experts exhibit? How can we help students identify what knowledge they lack concerning the specific systems for which they are responsible? Are cognitive models useful instructional tools? Answers to these and other questions are proposed.


Software Engineering Interpersonal Skill Program Comprehension Metacognitive Skill Bell Laboratory 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Anderson, John R. 1982. Acquisition of Cognitive Skill. Psychological Review. 89(4), 369–406.CrossRefGoogle Scholar
  2. Anderson, John R. 1985. Cognitive Psychology and Its Implications. New York: W.H. Freeman and Co.Google Scholar
  3. Atwood, M.E. and Ramsey, H.R. 1978. Cognitive structures in the comprehension and memory of computer programs; an investigation of computer program debugging. Technical Report TR-78-A21, U.S. Army Research Institute for the Behavioral and Social Sciences, Alexandria, VA. NTIS no. ADA060522.Google Scholar
  4. Black, John with Kay, Dana S. and Soloway, Elliot M. 1987. Goal and plan knowledge representations: From stories to text editors and programs. Interfacing Thought. Boston: MIT Press.Google Scholar
  5. Bower, Gordon H., J.B. Black, and T.J. Turner. 1979. Scripts in memory for text. Cognitive Psychology, 11, 177–220.CrossRefGoogle Scholar
  6. Brooks, Ruven. 1983. Towards a theory of the comprehension of computer programs. International Journal of Man-Machine Studies. 18, 543–554.Google Scholar
  7. Chase, W.G. and Simon, H.A. 1973. Perception in Chess. Cognitive Psychology. 4(1), 55–81.CrossRefGoogle Scholar
  8. Chase, William G. and Ericsson, K. Anders. 1981. Skilled Memory. In John R. Anderson, Cognitive Skills and Their Acquisition. Hillsdale, NJ: Erlbaum.Google Scholar
  9. Ehrlich, K. and Soloway, E. 1984. Empirical studies of programming knowledge. IEEE Transactions on Software Engineering. SE-10. 595–609.Google Scholar
  10. Glaser, Robert and Chi, Michelene. 1988. Overview. In M. Chi; R. Glaser; and M. Farr (Eds) The Nature of Expertise. Hillsdale, N.J.: Lawrence Erlbaum Associates. xv–xxxvi.Google Scholar
  11. Gould, J.D. and Drongowski, P. 1974. An exploratory study of computer program debugging. Human Factors. 16(3), 258–277.Google Scholar
  12. Gould, John D. 1975. Some psychological evidence on how people debug computer programs. International Journal of Man-Machine Studies. 7, 151–182.Google Scholar
  13. Hayes-Roth, B. and Hayes-Roth, F. 1978. Cognitive processes in planning. Rep. no. R-2366-ONR, Rand Corp., Santa Monica, Calif.Google Scholar
  14. Larkin, J., McDermott, J., Simon, D.P., and Simon, H.A. 1980. Expert and novice performance in solving physics problems. Science. 208, 1335–1342.Google Scholar
  15. Mayer, Richard E. 1981. The Psychology of How Novices Learn Computer Programming. Computing Surveys. 13(1), 121–141.CrossRefGoogle Scholar
  16. McKeithen, Katherine B.; Reitman J.S., Rueter, H.H.; and Hirtle, S.C. 1981. Knowledge organization and skill differences in computer programmers. Cognitive Psychology. 13, 307–325.CrossRefGoogle Scholar
  17. Newell, A. and Rosenbloom, P.S. 1981. Mechanisms of skill acquisition and the law of practice. In John R. Anderson, Cognitive Skills and Their Acquisition. Hillsdale, NJ: Erlbaum.Google Scholar
  18. Pennington, Nancy. 1982. Cognitive components of expertise in computer programming: A review of the literature. Graduate School of Business, University of Chicago, Center for Decision Research.Google Scholar
  19. Pennington, Nancy. 1987 Stimulus structures and mental representations in expert comprehension of computer programs. Cognitive Psychology. 19, 295–341.CrossRefGoogle Scholar
  20. Polson, Martha and Richardson, J. Jeffrey (eds.). 1988. Foundations of Intelligent Tutoring Systems. Hillsdale, N.J.: Lawrence Erlbaum Associates.Google Scholar
  21. Riedl, T.R., Weitzenfeld, J.S., Klein, G.A., and Freeman, J.T. 1990. Application of a knowledge elicitation method to software debugging expertise. Proceedings of Behavioral Sciences Days '90. Proprietary, AT&T.Google Scholar
  22. Rist, Robert S. 1986. Plans in programming: Definition, demonstration, and development. In Soloway, E. and Iyengar, S. Empirical Studies of Programmers. Norwood, N.J.: Ablex Publishing Co.Google Scholar
  23. Robertson, S.P., Davis, E.F., Okabe, K. and Fitz-Randolf, D. 1990. Program comprehension beyond the line. In Diaper, D., Human-Computer Interaction. The Proceedings of INTERACT '90. Elsevier Science Publishers, B.V. (North-Holland).Google Scholar
  24. Robertson, S.P. and Yu, Chiiung-Chen. 1990. Common cognitive representations of program code across tasks and languages. International Journal of Man-Machine Studies. 33, 343–360.Google Scholar
  25. Schank, Roger C. 1991. Tell Me a Story. NY: Charles Scribner's Sons.Google Scholar
  26. Sheil, B.A. 1981. The psychological study of programming. ACM Computing Surveys. 13(1) 101–120.CrossRefGoogle Scholar
  27. Staszewski, James. 1988. Skilled memory and expert mental calculation. In M. Chi; R. Glaser; and M. Farr (Eds) The Nature of Expertise. Hillsdale, N.J.: Lawrence Erlbaum Associates.Google Scholar
  28. Tulving, E. 1972. Episodic and semantic memory. In Tulving, E. and Donaldson, W. (eds), Organization of Memory. New York: Academic Press.Google Scholar
  29. Weitzenfeld, J.S., Freeman, J.T., Riedl, T.R., and Klein, G.A., 1990. The critical decision method (CDM): A knowledge-mapping technique. Proceedings of Behavioral Sciences Days '90. Proprietary, AT&T.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Jared T. Freeman
    • 1
  • Thomas R. Riedl
    • 1
  • Julian S. Weitzenfeld
    • 1
  • Gary A. Klein
    • 2
  • John Musa
    • 3
  1. 1.Software Quality ServicesEast Windsor
  2. 2.Klein AssociatesYellow Springs
  3. 3.AT&T Bell LaboratoriesMurray Hill

Personalised recommendations