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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Abelson, H., & Sussman, G. (1985). Structure and interpretation of computer programs. Cambridge: MIT Press.
Adelson, B., & Soloway, E. (1985). The role of domain experience in software design. IEEE Transactions on Software Engineering, SE-11(11), 1351–1360.
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.
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.
Clancy, M. J., & Linn, M. C. (1990). “Difference Between Dates” Case Study. Hypermedia Case Studies in Computer Science Project, University of California at Berkeley.
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.
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.
Erickson, K. A., & Simon, H. A. (1985). Verbal reports as data. Cambridge: MIT Press.
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.
Goel, V., & Pirolli, P. (1989). Motivating the notion of generic design within information processing theory: The design problem space. AI Magazine, 10, 18–36.
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.
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.
Linn, M. C. (1986). Science. In R. Dillon & R. J. Sternberg (Eds.), Cognition and instruction (pp. 155–204 ). New York: Academic Press.
Linn, M. C., & Clancy, M. J. (1990). Designing instruction to take advantage of recent advances in understanding cognition. Academic Computing(April, 1990 ), 20–41.
Linn, M. C., & Clancy, M. J. (in press-a). Can experts’ explanations help students develop program design skills? International Journal of Man-Machine Studies
Linn, M. C., & Clancy, M. J. (in press-b). The case for case studies in programming instruction. Communications of the ACM
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.
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.
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.
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.
Schank, P. (1989). A Pascal template library. Unpublished master’s thesis, University of California at Berkeley.
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.
Shneiderman, B., & Carroll, J. M. (1988). Ecological studies of professional programmers. Communications of the ACM, 31(11), 1256–1258.
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.
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.
Soloway, E., & Ehrlich, K. (1984). Empirical Studies of Programming Knowledge. IEEE Transactions on Software Engineering, 10(5), 595–609.
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.
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.
Touretzky, D. S. (1990). Common LISP: A Gentle Introduction to Symbolic Computation. Redwood City: Benjamin-Cummings.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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