ABSTRACT
The Cognition and Programming Group at Yale University is engaged in two complementary efforts:
1. exploring the programming process empirically, paying special attention to the knowledge and strategies which expert and non-experts employ, and
2. building computer-based environments which aid novices learning to program.
In this extended abstract we will focus on the empirical strand of our research program; in particular, we will describe an experimental technique we have just begun to use to more carefully study what it is that expert and novice programmers do—and don't—know. In [19, 20, 22, 18, 7] we describe additional empirical studies, while [21] describes MENO-II, our intelligent programming tutor for Pascal.
- 1.Adelson, B. Problem Solving and the Development of Abstract Categories in Programming Languages. Memory and Cognition 9 (1981), 422-433.Google Scholar
- 2.Atwood, M.E., Ramsey, H.R. Cognitive Structure in the Comprehension and Memory of Computer Programs: An Investigation of Computer Program Debugging. ARI TR-78-A210, Science Applications, Englewood, Calif., 1978.Google Scholar
- 3.Bower, G.H., Black, J.B., Turner, T. Scripts in Memory for Text. Cognitive Psychology 11 (19793), 177-220.Google ScholarCross Ref
- 4.Brown, J.S. and Burton, R.R. Diagnostic Models for Procedural Bugs in Mathematics. Cognitive Science 2 (June 1978), 155-192.Google ScholarCross Ref
- 5.Brown, J.S. and VanLehn, K. Repair Theory: A Generative Theory of Bugs in Procedural Skills. Cognitive Science 4, 4 (October 1980), 379-426.Google Scholar
- 6.Chase, W.C. and Simon, H. Perception in Chess. Cognitive Psychology 4 (1973), 55-81.Google ScholarCross Ref
- 7.Clement, J., Lochhead, J., and Soloway, E., Positive Effects of Computer Programming On Students Understanding of Variables and Equations. Proceedings of the National ACM Conference, Proceedings of the National ACM Conference, Nashville, Tenn., 1980. Google ScholarDigital Library
- 8.Collins, A. Explicating the Tacit Knowledge in Teaching and Learning. 3889, Bolt Beranek and Newman, Cambridge, Mass., 1978.Google Scholar
- 9.deGroot, A.D. Thought and Choice in Chess. Mouton and Company, Paris, 1965.Google Scholar
- 10.Ericsson, A. and Simon, H. Verbal reports as data. Psychological Review 87 (1980), 215-251.Google ScholarCross Ref
- 11.Newell, A. and Simon, H. Human Problem Solving. Prentice-Hall, Englewood Cliffs, NJ, 1972. Google ScholarDigital Library
- 12.Rich, C. A Library of Plans with Applications to Automated Analysis. 294, MIT AI Lab, 1980.Google Scholar
- 13.Rich, C. A Formal Representation for Plans in the Programmer's Apprentice. Proceedings of IJCAI-81, International Joint Conference on Artificial Intelligence, Vancouver, B.C., 1981.Google Scholar
- 14.Schank, R.C. and Abelson, R. Scripts, Plans, Goals and Understanding. Lawrence Erlbaum Associates, Hillsdale New Jersey, 1977.Google Scholar
- 15.Sebrechts, M.M. and Black, J.B. Software Psychology: A Rich New Domain for Applied Psychology. Applied Psycholinguistics, in pressGoogle Scholar
- 16.Shneiderman, B. Exploratory Experiments in Programmer Behavior. International Journal of Computer and Information Sciences 5,2 (1976), 123-143.Google ScholarCross Ref
- 17.Soloway, E. and Woolf, B. Problems, Plans, and Programs. Proceedings of Eleventh ACM Technical Symposium on Computer Science Education, Proceedings of Eleventh ACM Technical Symposium on Computer Science Education, 1979. Google ScholarDigital Library
- 18.Soloway, E., Lochhead, J., Clement, J. Does Computer Programming Enhance Problem Solving Ability? Some Positive Evidence on Algebra Word Problems. Proceedings of the Conference on National Goals for Computer Literacy in 1985, NSF/HumRRO, Ed. R. Seidel, in pressGoogle Scholar
- 19.Soloway, E., Bonar, J. and Ehrlich, K. Cognitive Factors in Programming: An Empirical Study of Looping Constructs. 81-10, Department of Computer Science, University of Massachusetts, 1981.Google Scholar
- 20.Soloway, E., Bonar, J., Woolf, B., Barth, P., Rubin, E., and Ehrlich, K. Cognition and programming: Why Your Students Write Those Crazy Programs. Proceedings of the National Educational Computing Conference, NECC, No. Denton, Tx., 1981.Google Scholar
- 21.Soloway, E., Woolf, B., Barth, P., and Rubin, E. MENO-II: Catching Run-Time Errors in Novice's Pascal Programs. Proceedings of IJCAI-81, International Joint Conference on Artificial Intelligence, Vancouver, B.C., 1981.Google Scholar
- 22.Soloway, E., Ehrlich, K., Bonar, J., Greenspan, J. What Do Novices Know About Programming?. In Directions in Human-Computer Interactions, B. Shneiderman and A. Badre, Eds., Ablex, Inc. in press.Google Scholar
- 23.Waters, R.C. A Method for Analyzing Loop Programs. IEEE Trans. on Software Engineering SE-5 (May 1979), 237-247.Google ScholarDigital Library
- 24.Young, R., O'Shea, T. Errors in Children's Subtraction. Cognitive Science, in pressGoogle Scholar
Index Terms
- Tapping into tacit programming knowledge
Recommendations
Transferring tacit skills of WADAIKO
HCI'13: Proceedings of the 15th international conference on Human Interface and the Management of Information: information and interaction for learning, culture, collaboration and business - Volume Part IIIThe techniques are acquired through repetition of such copying and passed on in this intuitive way. As even the experts acquired them by intuition, the techniques are difficult to put into explicit knowledge, forms of word or value. To solve the problem,...
Knowledge acquisition for knowledge-based engineering systems
This paper is essentially concerned with the development of formal representations of knowledge required prior to the development of knowledge-based engineering systems (KBESs). Initially, the paper provides a brief introduction to knowledge-based ...
Comments