Skip to main content

How Do Lisp Programmers Draw on Previous Experience to Solve Novel Problems?

  • Conference paper

Part of the book series: NATO ASI Series ((NATO ASI F,volume 84))

Abstract

In two exploratory studies, we looked at how expert Lisp programmers organize Lisp knowledge, and how they solve complex programming problems. First, using our previous work on Pascal templates as a framework, we generated a set of potential Lisp templates and asked experts to identify and to sort them. Second, we invented a set of challenging Lisp programming problems and asked experts to solve one or two of them while thinking aloud. The protocols from these sessions give a rich picture of some of the techniques experts use to design solutions, and the criteria they use to evaluate partial solutions and solutions by others. We discuss how the results of these exploratory studies suggest changes to current Lisp instruction, and describe some instructional materials we are currently developing, including a set of Case Studies and a hypermedia library of Lisp templates.

This material is based upon research supported by the National Science Foundation under grants MDR-88-50552 and MDR-89-54793. Any opinions, findings, and conclusions or recommendations expressed in this publication are those of the authors and do not necessarily reflect the views of the National Science Foundation.

The authors would like to thank Patricia Schank for contributions to the template sorting study and for helpful comments throughout the study. Thanks are also due to Chris Borton, Oliver Grillmeyer, Lydia Mann, and Annika Rogers for comments on the earlier draft.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abelson, H., & Sussman, G. (1985). Structure and interpretation of computer programs. Cambridge: MIT Press.

    Google Scholar 

  2. Adelson, B., & Soloway, E. (1985). The role of domain experience in software design. IEEE Transactions on Software Engineering, SE-11(11), 1351–1360.

    Article  Google Scholar 

  3. Brown, A. L., Campione, J. C., Reeve, R., & Palincsar, A. (in press). Interactive learning and individual understanding: The case of reading and mathematics. In L. T. Landsmann (Ed.), Culture, schooling and psychological development. Hillsdale, NJ: Erlbaum.

    Google Scholar 

  4. Chi, M. T. H., Feltovich, P., & Glaser, R. (1981). Categorization and representation of physics problems by experts and novices. Cognitive Science, 5 (2), 121–152.

    Article  Google Scholar 

  5. Clancy, M. J., & Linn, M. C. (1990). “Difference Between Dates” Case Study. Hypermedia Case Studies in Computer Science Project, University of California at Berkeley.

    Google Scholar 

  6. Collins, A., Brown, J. S., & Newman, S. E. (1989). Cognitive apprenticeship: Teaching the craft of reading, writing, and mathematics. In L. B. Resnick (Ed.), Cognition and instruction: Issues and agendas (pp. 453–494 ). Hillsdale, NJ: Lawrence Erlbaum Associates.

    Google Scholar 

  7. Curtis, B., Krasner, H., & Iscoe, N. (1988). A field study of the software design process for large systems. Communications of the ACM, 31(11), 1268–1287.

    Article  Google Scholar 

  8. Erickson, K. A., & Simon, H. A. (1985). Verbal reports as data. Cambridge: MIT Press.

    Google Scholar 

  9. Eylon, B., & Linn, M. C. (1988). Learning and instruction: An examination of four research perspectives in science education. Review of Educational Research, 58 (3), 251–301.

    Google Scholar 

  10. Goel, V., & Pirolli, P. (1989). Motivating the notion of generic design within information processing theory: The design problem space. AI Magazine, 10, 18–36.

    Google Scholar 

  11. Husic, F., Linn, M. C., & Sloane, K. D. (1989). Adapting instruction to the cognitive demands of learning to program. Journal of Educational Psychology, 81(4), 570–582.

    Article  Google Scholar 

  12. Jeffries, R., Turner, A. A., Poison, P. G., & Atwood, M. E. (1981). The processes involved in designing software. In J. R. Anderson (Ed.), Cognitive skills and their acquisition (pp. 255 - 283 ). Hillsdale, NJ: Lawrence Erlbaum Associates.

    Google Scholar 

  13. Linn, M. C. (1986). Science. In R. Dillon & R. J. Sternberg (Eds.), Cognition and instruction (pp. 155–204 ). New York: Academic Press.

    Google Scholar 

  14. Linn, M. C., & Clancy, M. J. (1990). Designing instruction to take advantage of recent advances in understanding cognition. Academic Computing(April, 1990 ), 20–41.

    Google Scholar 

  15. Linn, M. C., & Clancy, M. J. (in press-a). Can experts’ explanations help students develop program design skills? International Journal of Man-Machine Studies

    Google Scholar 

  16. Linn, M. C., & Clancy, M. J. (in press-b). The case for case studies in programming instruction. Communications of the ACM

    Google Scholar 

  17. Linn, M. C., & Dalbey, J. (1989). Cognitive consequences of programming instruction: Instruction, access, and ability. [Reprinted]. In E. Soloway & J. C. Spohrer (Eds.), Studying the Novice Programmer (pp. 57–83 ). Hillsdale, NJ: Lawrence Erlbaum Associates.

    Google Scholar 

  18. Linn, M. C., Sloane, K. D., & Clancy, M. J. (1987). Ideal and actual outcomes from precollege Pascal instruction. Journal of Research in Science Teaching, 25(5), 467–490.

    Article  Google Scholar 

  19. Marco, R. (1988). Knowledge organization in novice student programmers: Relation to skill and instruction in programming classes. Unpublished dissertation, University of California, Department of Educational Psychology, Berkeley.

    Google Scholar 

  20. Rosson, M. B., Maass, S., & Kellogg, W. A. (1988). The designer as user Building requirements for design tools from design practice. Communications of the ACM, 37 (11), 1288–1298.

    Article  Google Scholar 

  21. Schank, P. (1989). A Pascal template library. Unpublished master’s thesis, University of California at Berkeley.

    Google Scholar 

  22. Schank, P., Linn, M. C., & Clancy, M. J. ( 1990, April). How does an on-line template library help students learn Pascal? Paper presented at the American Educational Research Association Annual Meeting, Boston, MA.

    Google Scholar 

  23. Shneiderman, B., & Carroll, J. M. (1988). Ecological studies of professional programmers. Communications of the ACM, 31(11), 1256–1258.

    Article  Google Scholar 

  24. Sloane, K., & Linn, M. C. (1988). Instructional conditions in Pascal programming classes. In R. Mayer (Ed.), Teaching and learning computer programming: Multiple research perspectives (pp. 207–235 ). Hillsdale, NJ: Lawrence Erlbaum Associates.

    Google Scholar 

  25. Soloway, E. (1985). From problems to programs via plans: The content and structure of knowledge for introductory LISP programming. Journal of Educational Computing Research, 1(2), 157–172.

    Article  Google Scholar 

  26. Soloway, E., & Ehrlich, K. (1984). Empirical Studies of Programming Knowledge. IEEE Transactions on Software Engineering, 10(5), 595–609.

    Article  Google Scholar 

  27. Soloway, E., Pinto, J., Letovsky, S., Littman, D., & Lampert, R. (1988). Designing documentation to compensate for delocalized plans. Communications of the ACM, 37 (11), 1259–1267.

    Article  Google Scholar 

  28. Spohrer, J. C., & Soloway, E. (1986). Analyzing the high frequency bugs in novice programs. In E. Soloway & S. Iyengar (Eds.), Empirical studies of programmers (pp. 230–251 ). Norwood, NJ: Ablex Publishing Corp.

    Google Scholar 

  29. Touretzky, D. S. (1990). Common LISP: A Gentle Introduction to Symbolic Computation. Redwood City: Benjamin-Cummings.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Linn, M.C., Katz, M., Clancy, M.J., Recker, M. (1992). How Do Lisp Programmers Draw on Previous Experience to Solve Novel Problems?. In: De Corte, E., Linn, M.C., Mandl, H., Verschaffel, L. (eds) Computer-Based Learning Environments and Problem Solving. NATO ASI Series, vol 84. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-77228-3_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-77228-3_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-77230-6

  • Online ISBN: 978-3-642-77228-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics