This is a bibliography accreted over years for many reasons. It is not and never will be complete.

Paul Brna
Computing Department
Lancaster

Programming Education

Adelson, B. and Soloway, E. (1988a).
A model of software design. In Chi, M.T.H., Glaser, R. and Farr, M.J., (eds.), The Nature of Expertise, chapter 6, pages 185-208. Lawrence Erlbaum, Hillsdale, NJ.
Anderson, J.R., Pirolli, P. and Farrell, R. (1988a).
Learning to program recursive functions. In Chi, M.T.H., Glaser, R. and Farr, M.J., (eds.), The Nature of Expertise, chapter 5, pages 153-183. Lawrence Erlbaum, Hillsdale, NJ.
Anjaneyulu, K.S.R. and Anderson, J.R. (1992).
The advantages of data flow diagrams for beginning programming. In Frasson, C., Gauthier, G. and McCalla, G.I., (eds.), Intelligent tutoring systems : Second International Conference, ITS '92,, pages pp. 585-592.
Ball, L. and Ormerod, T.C. (December 1992).
Structured and opportunistic processing in design: A critical decision. Submitted to Human-Computer Interaction.
Barker-Plummer, D. (1990).
Cliche programming in PROLOG. In Bruynooghe, M., (ed.), Proceedings of the 2nd Workshop on Meta-Programming in Logic, pages 247-256.
Bellamy, R.K.E. and Gilmore, D.J. (1990).
Programming plans: Internal or external structures. In Gilhooly, K.J., Keane, M.T.G., Logie, R.H. and Erdos, G., (eds.), Lines of Thinking: Reflections on the Psychology of Thought (Volume 2), chapter 4, pages 59-71. John Wiley, Chichester.
Bental, D. (1994).
Recognising the Design Decisions in Prolog Programs as a Prelude to Critiquing. Unpublished Ph.D. thesis, Department of Artificial Intelligence, University of Edinburgh.
Bergantz, D. and Hassell, J. (1991).
Comprehension of Prolog programs. International Journal of Man-Machine Studies, 35.
Berry, D. (1990).
Generating Program Animators from Programming Language Semantics. Unpublished Ph.D. thesis, Department of Computer Science, University of Edinburgh.
Bhuiyan, S.H., Greer, J.E. and McCalla, G.I. (1991).
Characterizing, rationalizing and reifying mental models of recursion. In Proceedings of the 13th Annual Conference of the Cognitive Science Society, pages 120-125. Lawrence Erlbaum Associates.
Bhuiyan, S., Greer, J.E. and McCalla, G.I. (1992).
Learning recursion through the use of a mental model-based programming environment. In Frasson, C., Gauthier, G. and McCalla, G.I., (eds.), Intelligent tutoring systems : Second International Conference, ITS '92,, pages pp. 50-57.
Bonar, J. and Cunningham, R. (1986).
BRIDGE: An intelligent tutor for thinking about programming. Technical report, Learning Research and Development Center.
Bonar, J. and Cunningham, R. (1988).
BRIDGE: An intelligent tutor for thinking about programming. In Self, J., (ed.), Artificial Intelligence and Human Learning, chapter 24, pages 391-409. Chapman and Hall.
Bonar, J. and Soloway, E. (November 1982).
Uncovering principles of novice programming. Research Report 240, Computer and Information Science Department, University of Massachusetts, Amhurst, To appear in the 10th SIGPLAN-SIGACT Symposium on the Principles of Programming Languages -Austin, Texas, January 1983.
Bonar, J. and Soloway, E. (1985).
Preprogramming knowledge: A major source of misconceptions. Human-Computer Interaction, 1(2):133-161.
Bonar, J. (1982).
Natural problem solving strategies and programming language constructs. In Proceedings of the Fourth Annual Conference of the Cognitive Science Society, pages 146-148.
Bowles, A. and Brna, P. (1993).
Programming plans and programming techniques. In Brna, P., Ohlsson, S. and Pain, H., (eds.), Artificial Intelligence in Education, 1993: Proceedings of AI-ED 93, pages 788-795. AACE, Virginia.
Bowles, A., D. Robertson, D. and Brna, P. (1994).
A case-based reasoning approach to supporting novice programmers. Submitted.
Brayshaw, M., Brna, P., Bowles, A., Pain, H. and Robertson, D. (1994).
An experimental evaluation of proposals for teaching Prolog that is designed to be run over a network. In Collected Papers of the 6th Workshop of the Psychology of Programming Interest Group, pages 55-59. The Open University, Milton Keynes.
Briggs, J.H. (1988).
Why teach PROLOG? the uses of PROLOG in education. In Nichol, J., Briggs, J. and Dean, J., (eds.), PROLOG, Children and Students, chapter 11, pages 113-120. Kogan Page, London.
Brna, P. and Pain, H. (1985).
Observing Prolog novices. Blue Book Note 259, Department of Artificial Intelligence, Edinburgh.
Brna, P. and Pain, H. (1987).
Understanding Prolog Programs. A forthcoming research paper.
Brna, P. (1986a).
Describing Prolog bugs: I. symptoms. Blue Book Note 309, Department of Artificial Intelligence, Edinburgh.
Brna, P. (1986b).
Notes on models of recursion and backtracking in Prolog. Blue Book Note 276, Department of Artificial Intelligence, Edinburgh.
Brna, P. (1986c).
Possible Prolog code errors. Blue Book Note 325, Department of Artificial Intelligence, Edinburgh.
Brna, P. (1986d).
Some sample analyses of Prolog program bugs. Blue Book Note 311, Department of Artificial Intelligence, Edinburgh.
Brna, P. (1986e).
The space of possible program misbehaviours. Blue Book Note 312, Department of Artificial Intelligence, Edinburgh.
Brna, P. (1986f).
Start problem solving with Prolog by Tom Conlon. Blue Book Note 275, Department of Artificial Intelligence, Edinburgh.
Brna, P. (1993).
Teaching Prolog Techniques. Computers & Education, 20(1):111-117.
Brna, P. (1994).
Logic programming in education: A perspective on the state of the art. In Bottino, R.M., Forcheri, P. and Molfino, M.T., (eds.), Proceedings of the Post-Conference Workshop on Logic Programming and Education, pages 11-24. Santa Margherita Ligure.
Brna, P. (1995c).
Towards intelligent support for learning to construct and debug prolog programs.
Brna, P., Ball, L., Bowles, A., Brayshaw, M., Kahney, H., Ormerod, T., Pain, H. Robertson, D.
Supporting the novice programmer: The design and evaluation of a prolog techniques editor. In preparation.
Brna, P., Howe, J.A.M. and Inglis, E. (1983).
OKLOGO for the Apple II screen turtle version: teachers' manual. Occasional Paper 46, Department of Artificial Intelligence, Edinburgh.
Brna, P., Bundy, A., Pain, H. and Lynch, L. (1986).
Programming tools for Prolog environments. Research Paper 302, Department of Artificial Intelligence, Edinburgh.
Brna, P., Bundy, A., Pain, H. and Lynch, L. (1987a).
Impurities and the proposed Prolog story. Working Paper 212, Department of Artificial Intelligence, Edinburgh.
Brna, P., Bundy, A., Pain, H. and Lynch, L. (1987b).
Programming tools for Prolog environments. In Hallam, J. and Mellish, C., (eds.), Advances in Artificial Intelligence, pages 251-264. Society for the Study of Artificial Intelligence and Simulation of Behaviour, John Wiley and Sons. Previously, DAI Research Paper No 302.
Brna, P., Bundy, A. and Pain, H. (1988e).
Evaluating Prolog Environments. In Proceedings of UK IT 88, pages 80-83, Swansea, Wales. The Information Engineering Directorate.
Brna, P., Bundy, A. and Pain, H. (1988f).
Prolog: A survey of available tools. Technical Paper 3, Department of Artificial Intelligence, Edinburgh.
Brna, P., Pain, H. and Du Boulay, B., (eds.). (1990b).
Teaching, Learning and Using Prolog, volume 19. Kluwer Academic Publishers. The first part of two special issues of Instructional Science 19(4/5).
Brna, P., Pain, H. and du Boulay, B. (1990c).
Teaching, learning and using Prolog: Understanding Prolog. Instructional Science, 19(4/5):247-256.
Brna, P., Brayshaw, M., Bundy, A., Dodd, T., Elsom-Cook, M. and Fung, P. (1991a).
An overview of Prolog debugging tools. Instructional Science, 20(2/3):193-214.
Brna, P., Bundy, A., Dodd, T., Eisenstadt, M., Looi, C.K., Pain, H., Robertson, ., Smith, B. and van Someren, M. (1991b).
Prolog programming techniques. Instructional Science, 20(2/3):111-133.
Brna, P., Bundy, A. and Pain, H. (1992).
A framework for the principled debugging of Prolog programs: How to debug non-terminating programs. In Brough, D., (ed.), Logic Programming: New Frontiers, pages 22-55, Oxford. Intellect.
Brna, P., Hernandez, E.R. and Pain, H. (1993a).
An environment for learning to debug prolog. In Conlon, T., (ed.), Proceedings of PEG'93. Moray House.
Brooks, F.P. (1987).
No silver bullet: essence and accidents of software engineering. IEEE Computer, 20:10-19.
Campagnoni, F.R. and Ehrlich, K. (July 1989).
Information retrieval using a hyptertext-based help system. ACM Transactions on Information Systems, 7(3):271-291.
Carroll, J.M. and Kay, D.S. (1988).
Prompting, feedback and error correction in the design of the scenario machine. International Journal of Man-Machine Studies, 28:11-27.
Carver, S.M. and Klahr, D. (1986).
Assessing children's Logo debugging skills with a formal model. Journal of Educational Computing Research, 2(4):487-525.
Carver, S.M. and Risinger, S.C. (1987).
Improving childer's debugging skills. In Olson, G.M., Sheppard, S. and Soloway, E., (eds.), Empirical Studies of Programmers: Second Workshop, chapter 10, pages 147-171. Ablex, Norwood NJ.
Chee, Y.S. and Chan, T. (1992).
Validating COGNITIO by simulating a student learning to program in smalltalk. In Proceedings of the 14th Annual Conference of the Cognitive Science Society. Lawrence Erlbaum Associates.
Coombs, M. J. and Alty, J. (1984).
Expert systems: An alternative paradigm. In Coombs, M. J., (ed.), Developments in Expert Systems. Academic Press, London.
Coombs, M. J. and Stell, J. G. (1985).
A model for debugging prolog by symbolic execution: The separation of specification and procedure. Research Report MMIGR137, Department of Computer Science, University of Strathclyde.
Dijkstra, E.W. (December 1989).
On the cruelty of really teaching computing science, the SIGCSE award lecture. Communications of the ACM, 32(12):1398-1404.
Ennals, J.R. (1983).
Teaching logic as a computer language in schools. In Yazdani, M., (ed.), New Horizons in Educational Computing. Ellis Horwood, Chichester.
Er, M.C. (1984).
On the complexity of recursion in problem-solving. International Journal of Man-Machine Studies, 20:537-544.
Fung, P. (Forthcoming).
Formal reasoning phobia: Suggested causes and cures. In AI Tools in the Classroom: Theory into Practice.
Gegg-Harrison, T.S. (1989).
Basic Prolog schemata. Technical Report CS-1989-20, Department of Computer Science, Duke University.
Gegg-Harrison, T.S. (1991).
Learning Prolog in a schema-based environment. Instructional Science, 20(2/3):173-192.
Gegg-Harrison, T.S. (1992a).
ADAPT: Automated debugging in an adaptive Prolog tutor. In Frasson, C., Gauthier, G. and McCalla, G.I., (eds.), Intelligent Tutoring Systems: Proceedings of the Second International Conference, pages 343-350, Berlin. Springer-Verlag.
Gegg-Harrison, T.S. (1992b).
Adapting instruction to the student's capabilities. Journal of Artificial Intelligence in Education, 3(2):169-181.
Gilmore, D.J. and Green, T.R.G. (1984).
Comprehension and recall of miniature programs. International Journal of Man-Machine Studies, 21:31-48.
Gilmore, D.J. and Green, T.R. (1988).
Programming plans and programming expertise. Quarterly Journal of Experimental Psychology, 40:423-442.
Gilmore, D.J. and Smith, H.T. (1984).
An investigation of the utility of flowcharts during computer program debugging. International Journal of Man-Machine Studies, 20:357-372.
Gilmore, D.J. (1990).
Expert programming knowledge: A strategic approach. In Hoc, J-M., Green, T.R.G., Gilmore, D.J. and Samurcay, R., (eds.), The Psychology of Programming, chapter 3.2, pages 223-234. Academic Press, London.
Goldberg, A. and Robson, D. (1983).
Smalltalk-80: The Language and its Implementation. Addison-Wesley.
Good, J. (1993).
PUBS: Exploiting conceptual conflict in learning prolog unification. Unpublished M.Sc. thesis, Department of Artificial Intelligence, University of Edinburgh.
Good, J., Brna, P. and Pain, H. (1994).
Prolog unification: Diverse teaching strategies for novices. Collected Papers of the 6th Workshop of the Psychology of Programming Interest Group, Milton Keynes.
Gould, L. and Finzer, W. (1984).
Programming by rehearsal. Technical Report SCL-84-1, Xerox Palo Alto Research Center.
Gould, J.D. (1975).
Some psychological evidence on how people debug computer programs. International Journal of Man-Machine Studies, 7:151-182.
Green, T.R. and Borning, A. (1990).
The generalized unification parser: Modelling the parsing of notations. In Diaper, D., (ed.), Human Computer Interaction - INTERACT '90, pages 951-957. Elsevier Science Publishers.
Green, T.R.G. and Petre, M. (September 1992).
When visual programs are harder to read than textual programs. In ECCE-6: Proceedings of the Sixth European Conference on Cognitive Ergonomics.
Green, T.R.G. (1983).
Human factors in computing. To appear in the Proceedings of the Workshop on High-Level Debugging, Palo Alto.
Green, T.R.G. (1989).
Cognitive dimensions of notations. In Sutcliffe, A. and Macaulay, L., (eds.), People and Computers V. Cambridge University Press.
Green, T.R.G. (1990).
Programming languages as information structures. In Hoc, J-M., Green, T.R.G., Gilmore, D.J. and Samurcay, R., (eds.), The Psychology of Programming, chapter 2.2, pages 117-137. Academic Press, London.
Green, T. R. G., Sime, M. E. and Fitter, M. J. (November 1980).
The problems the programmer faces. Ergonomics, 23(9):893-907.
Green, T.R.G., Petre, M. and Bellamy, R.K.E. (1991).
Comprehensibility of visual and textual programs: A test of superlativism against the 'match-mismatch' conjecture. In Koenemann, S.P., Moher, T.G. and Robertson, S.P., (eds.), Empirical Studies of Programmers: Fourth Workshop, pages 121-146, New Jersey. Ablex Publishing Corporation.
Gries, D. (1990).
Influences (or lack thereof) of formalism in teaching programming and software engineering. In Dijkstra, E.W., (ed.), Formal Development of Programs and Proofs, chapter 18, pages 229-236. Addison-Wesley, Reading, Mass.
Grosse, G. (1989).
Towards a recursive techniques editor. Unpublished M.Sc. thesis, Dept of Computer Science, Heriot-Watt University.
Gugerty, L. and Olson, G.M. (1986).
Comprehension differences in debugging by skilled and novice programmers. In Soloway, E. and Iyengar, S., (eds.), Empirical Studies of Programmers, chapter 2, pages 13-27. Ablex, Norwood, NJ.
Heckel, P. (December 1983).
Walt disney and user-oriented software. Byte, pages 143-150.
Heines, J.M., Briggs, J. and Ennals, R. (November 1983).
Logic and recursion: The Prolog twist. Creative Computing.
Hoare, C.A.R. (1985).
Communicating Sequential Processes. Prentice Hall, Hemel Hempstead, UK.
Hook, K., Taylor, J. and du Boulay, B. (1988).
Redo `try once and pass': The influence of complexity and graphical notation on novices' understanding of Prolog. PEGBOARD, 3(2):182-205.
Hook, K., Taylor, J. and du Boulay, B. (1990).
Redo `try once and pass': The influence of complexity and graphical notation on novices' understanding of Prolog. Instructional Science, 19(4/5):337-360.
Howe, J.A.M. (1977).
Developmental stages in learning to program. In Klix, F. and Hoffman, J., (eds.), Cognition and Memory: Interdisciplinary Research of Human Memory Activities. North-Holland, Amsterdam.
Ingalls, D., (1978). The Smalltalk-76 programming system: Design and implementation.
Fifth Annual ACM Symposium on Principles of Programming Languages.
Johnson, W.L. (1985).
Intention-Based Diagnosis of Errors in Novice Programs. Unpublished Ph.D. thesis, Yale.
Johnson, W.L. (1986).
Intention-Based Debugging of Novice Programming Errors. Pitman, London.
Johnson, W.L. (1988).
Modelling programmers' intentions. In Self, J., (ed.), Artificial Intelligence and Human Learning, chapter 23, pages 374-390. Chapman and Hall.
Johnson, W.L. (1990).
Understanding and debugging novice programs. Artificial Intelligence, 42(1):51-97.
Johnson, W. L., Draper, S. and Soloway, E. (1983).
An effective bug classification scheme must take the programmer into account. To appear in the Proceedings of the Workshop on High-Level Debugging, Palo Alto, 1983.
Kahney, H. and Eisenstadt, M. (1982).
Programmers' mental models of their programming tasks: The interaction of real-world knowledge and programming knowledge. In Proceedings of the Fourth Annual Conference of the Cognitive Science Society, pages 143-145.
Kahney, H. (1982).
An In-Depth Study Of The Cognitive Behaviour Of Novice Programmers. Unpublished Ph.D. thesis, Human Cognition Research Laboratory, The Open University, Milton Keynes.
Kahney, H. (1989).
Studying the Novice Programmer, chapter What do Novice Programmers Know about Recursion?, pages 209-228. Lawrence Erlbaum Associates.
Kessler, C.M. and Anderson, J.R. (1986a).
Learning flow of control: Recursive and iterative procedures. Human-Computer Interaction, 2(2):135-166.
Kessler, C.M. and Anderson, J.R. (1986b).
A model of novice debugging in LISP. In Soloway, E. and Iyengar, S., (eds.), Empirical Studies of Programmers, chapter 14, pages 198-212. Ablex, Norwood, NJ.
Kirschenbaum, M., Lakhotia, A. and Sterling, L. (1989).
Skeletons and techniques for prolog programming. Tr 89-170, Case Western Reserve University.
Kurland, D.M. and Pea, R.D. (1983a).
Children's mental models of recursive logo programs. Technical Report 10, Center for Children and Technology, Bank Street College.
Kurland, D.M. and Pea, R.D. (1983b).
Children's mental models of recursive logo programs. In Proceedings of the 5th Annual Conference of the Cognitive Science Society, pages 1-5, Rochester, N.Y.
Lindsey, C.H. and van der Meulen, S.G. (1971).
Informal Introduction to ALGOL 68. North-Holland Publishing Company.
Linn, M.C. (1992).
How can hypermedia tools help teach programming? Learning and Instruction, 2:119-139.
Linn, M.C., Katz, M., Clancy, M.J. and Recker, M. (1992).
How do Lisp programmers draw on previous experience to solve novel problems? In DeCorte, E., Linn, M.C., Mandl, H. and Verschaffel, L., (eds.), Computer-based Learning Environments and Problem Solving, pages 67-101. Springer-Verlag, Berlin.
Looi, C.K. and Ross, P.M. (1986).
Automatic program debugging for a Prolog Intelligent Tutoring System. Forthcoming research report.
Looi, C.K. and Ross, P. (1987).
Automatic program debugging for a Prolog Intelligent Teaching System. Research Paper 307, Department of Artificial Intelligence, Edinburgh.
Looi, C.K. (1986).
Automatic program debugging for a Prolog Intelligent Teaching System -a thesis proposal. Discussion Paper 30, Department of Artificial Intelligence, Edinburgh.
Looi, C.K. (1988a).
APROPOS2: A program analyser for a Prolog Intelligent Teaching System. In Proceedings of the International Conference on Intelligent Tutoring Systems-88. University of Montreal. Previously Research Paper no 377, Department of Artificial Intelligence, Edinburgh University.
Looi, C.K. (1988b).
Automatic Program Analysis in a Prolog Intelligent Tutoring System. Unpublished Ph.D. thesis, Department of Articial Intelligence, University of Edinburgh.
Looi, C.K. (1991).
Automatic debugging of Prolog programs in a Prolog Intelligent Tutoring System. Instructional Science, 20(2/3):215-263.
Lynch, L. (1986a).
Finding bugs in Prolog. Blue Book Note 308, Department of Artificial Intelligence, Edinburgh.
Lynch, L. (1986b).
A first attempt at building an analyser for Prolog. Blue Book Note 277, Department of Artificial Intelligence, Edinburgh.
Lynch, L. (1986c).
A thesis proposal for a computer progam to teach Prolog. Discussion Paper 10, Department of Artificial Intelligence, Edinburgh.
Lynch, L. (1986d).
Why do we get bugs in programs? Blue Book Note 310, Department of Artificial Intelligence, Edinburgh.
MacLean, A., Young, R., Bellotti, V. and Moran, T. (1991).
Questions, options and criteria: Elements of design space analysis. Human-Computer Interaction, 6(3&4):201-250.
Maeji, M. and Kanamori, T. (1987).
Top-down Zooming Diagnosis of Logic Programs.
Mathieson, M. (1992).
Simulating student programmers. Unpublished Honours Project, Department of Artificial Intelligence, University of Edinburgh.
McCracken, D.L. and Akscyn, R.M. (1984).
Experience with the ZOG human-computer interface system. International Journal of Man-Machine Studies, 21(4):293-310.
Mendelsohn, P., Green, T.R.G. and Brna, P. (1990).
Programming languages in education: The search for an easy start. In Hoc, J-M., Green, T.R.G., Gilmore, D.J. and Samurcay, R., (eds.), The Psychology of Programming, chapter 2.5, pages 175-200. Academic Press, London.
Mulholland, P. (1994).
The effect of graphical and textual visualisation on the comprehension of prolog execution by novices: an empirical analysis. In Collected Papers of the 6th Workshop of the Psychology of Programming Interest Group, pages 18-26. The Open Universtiy, Milton Keynes.
Murray, W.R. (1986).
Automated program debugging for intelligent tutoring systems. Technical Report AI TR86-27, University of Texas at Austin.
Murray, W.R. (1988).
Automatic Program Debugging for Intelligent Tutoring Systems. Research Notes in Artificial Intelligence. Morgan Kaufmann, San Mateo, California.
Ormerod, T.C. and Ball, L.J. (December 1993).
Does programming knowledge or design strategy determine shifts of focus in prolog programming? Sumbitted to the 5th Workshop on Empirical Studies of Programmers.
Ormerod, T. and Ball, L. (1995).
The evaluation of TED, a techniques editor for Prolog programming. In the Abstracts of the 7th Annual Workshop of the Psychology of Programming Interest Group, Edinburgh, January 1995.
Ormerod, T.C. (1987).
Cognitive Processes in Logic Programming. Unpublished Ph.D. thesis, Sunderland Polytechnic.
Ormerod, T.C., Manktelow, K.I., Steward, A.P. and Robson, E. H. (1990).
The effects of content and representation on the transfer of PROLOG reasoning skills. In Gilhooly, K.J., Keane, M.T.G., Logie, R.H. and Erdos, G., (eds.), Lines of Thinking: Reflections on the Psychology of Thought (Volume 1), chapter 19, pages 267-281. John Wiley, Chichester.
Ould, M.A. and Roberts, C. (1987).
Defining formal models of the software development process. In Brereton, P., (ed.), Software Engineering Environments. Ellis Horwood.
Pain, H. and Brna, P. (1987).
Learning Prolog: Tools and Related Issues. An unpublished report to Alvey.
Pain, H. and Bundy, A. (1987).
What stories should we tell novice PROLOG programmers. In R., Hawley, (ed.), Artificial Intelligence Programming Environments. Ellis Horwood, Chichester. Also available as DAI research paper 269.
Pain, H., Brna, P. and du Boulay, B., (eds.). (1990).
Teaching and Learning Prolog: Fundamental Issues. Kluwer Academic.
Pain, H., Brna, P. and Du Boulay, B., (eds.). (1991).
Teaching, Learning and Using Prolog, volume 20. Kluwer Academic Publishers. The second part of two special issues of Instructional Science 20(2/3).
Patel, M. J. and du Boulay, B. (1993).
Evaluation of contrasting Prolog trace output formats. Cognitive Science Research Paper 276, School of Cognitive and Computing Sciences, University of Sussex.
Pennington, N. (1987).
Stimulus structures and mental representations in expert comprehension of computer programs. Cognitive Psychology, 19:295-341.
Peter, R. (1967a).
Recursive Functions. Academic Press.
Peter, R. (1967b).
Recursive Functions. Academic Press.
Plummer, D. (1985a).
Soda: Screen oriented debugging aid. Blue Book Note 260, Department of Artificial Intelligence, Edinburgh.
Plummer, D. (1985b).
Tipse Is a Prolog Structure Editor. Blue Book Note 254, Department of Artificial Intelligence, Edinburgh.
Plummer, D. (1985c).
Tipse Is a Prolog Structure Editor. Blue Book Note 254, Department of Artificial Intelligence, Edinburgh.
Plummer, D. (1985d).
Yet more Prolog cliches. Code Note 10, Department of Artificial Intelligence, Edinburgh.
Plummer, D. (1986).
Soda: Screen oriented debugging aid. Software Report 3, Department of Artificial Intelligence, Edinburgh, Previously referenced as blue book note 260.
Plummer, D. (1987).
Coda: An extended debugger for Prolog. Technical Report AITR87-54, University of Texas at Austin.
Plummer, D. (1988).
Coda: An extended debugger for PROLOG. In Bowen, K. and Kowalski, R., (eds.), Logic Programming: Proceedings of the Fifth International Conference and Symposium, pages 496-511, Cambridge, MA. MIT Press.
Plummer, D. (1990).
Cliche programming in Prolog. In Proceedings of the META-90 workshop, Leuven, Belgium. META-90.
Quast, J. (1986).
Diabug een computerprogramma voor de automatische diagnose van Prolog unifikatiefouten. Report psy.26.6.86.109, Department of Experimental Psychology, University of Amsterdam.
Rajan, T. (1985).
Apt: The design of animated tracing tools for novice programmers. Technical Report 15, HCRL, Open University.
Rajan, T. (1986).
APT: A principled design for an animated view of program execution for novice programmers. Technical Report 19, Human Cognition Research Laboratory, The Open University.
Rajan, T. (1987).
APT: A principled design of an animated view of program execution for novice programmers. In Bullinger, H.J. and Shakel, B., (eds.), Human-Computer Interaction - INTERACT'87. Elsevier Science Publishers B.V. (North Holland).
Rajan, T. (1990).
Principles for the design of dynamic tracing environments for novice programmers. Instructional Science, 19(4/5):377-406.
Rajan, T. (1991).
An evaluation of APT: an animated program tracer for novice programmers. Instructional Science, 20(2/3):89-110.
Rist, R.S. (1986).
Plans in programming: Definition, demonstration, and development. In Soloway, E. and Iyengar, S., (eds.), Empirical Studies of Programmers, pages 28-47, New Jersey. Ablex.
Rist, R.S. (1989).
Schema creation in programming. Cognitive Science, 13(3):389-414.
Robertson, I. and Kahney, H. (1993a).
How do examples help solvers solve problems? an interpretation theory for text analysis. Technical Report 96, HCRL, The Open University.
Robertson, S.I. and Kahney, H. (1993b).
Is analogical problem solving always analogical?: The case for imitation. HCRL Technical Report 97, HCRL, The Open University.
Robertson, S.I. and Kahney, H. (1993c).
A principled scheme for analyzing the structure of experimental reports in psychology. HCRL Technical Report 95, HCRL, The Open University.
Rosson, M.B. and Alpert, S.R. (1990).
The cognitive consequences of object-oriented design. Human-Computer Interaction, 5(4):345-379.
Sammut, R. A. and Sammut, C. A. (May 1983).
Prolog: A tutorial introduction. The Australian Computer Journal, 15(2):42-64.
Schank, P.K., Linn, M.C. and Clancy, M.J. (1993).
Supporting Pascal programming with an on-line template library and case studies. International Journal of Man-Machine Studies, 38:1031-1048.
Soloway, E. and Ehrlich, K. (1982).
Tacit programming knowledge. In Proceedings of the Fourth Annual Conference of the Cognitive Science Society, pages 149-151.
Soloway, E. and Ehrlich, K. (1984).
Empirical studies of programming knowledge. To appear: IEEE Transactions on Software Engineering, Sept 1984.
Soloway, E. and Spohrer, J.C., (eds.). (1989a).
Studying the Novice Programmer, chapter Does Programming Language Affect the Type of Conceptual Bugs in Beginners' Programs? A Comparison of FPL and Pascal, pages 419-429. Lawrence Erlbaum Associates.
Soloway, E. and Spohrer, J.C., (eds.). (1989b).
Studying the Novice Programmer. Lawrence Erlbaum Associates.
Soloway, E. (1986).
Learning to program = learning to construct mechanisms and explanations. Communications of the ACM, 29(9):850-858.
Soloway, E., Bonar, J and Ehrlich, K. (1982a).
Cognitive strategies and looping constructs: An empirical study. Research Report 242, Department of Computer Science, Yale University.
Soloway, E., Rubin, E., Woolf, B., Bonar, J and Johnson, W. L. (December 1982).
Meno-ii: An ai-based programming tutor. Research Report 258, Department of Computer Science, Yale University.
Soloway, E., Adelson, B. and Ehrlich, B. (1988a).
The Nature of Expertise, chapter Knowledge and Processes in The Comprehension of Computer Programs, pages 129-152. Lawrence Erlbaum Associates.
Soloway, E., Adelson, B. and Ehrlich, K. (1988b).
Knowledge and processes in the comprehension of computer programs. In Chi, M.T.H., Glaser, R. and Farr, M.J., (eds.), The Nature of Expertise, chapter 4, pages 129-152. Lawrence Erlbaum, Hillsdale, NJ.
Spohrer, J.C. and Soloway, E. (1989).
Simulating student programmers. In Sridharan, N.S., (ed.), Proceedings of the Eleventh International Joint Conference on Artificial Intelligence, pages 543-549, San Mateo. Morgan Kaufmann.
Spohrer, J.C. (1989).
MARCEL: A Generate-Test-and-Debug (GTD) Impasse/Repair Model of Student Programmers. Unpublished Ph.D. thesis, Yale University.
Spohrer, J.C., Soloway, E. and Pope, E. (1985a).
A goal-plan analysis of buggy pascal programs. Human-Computer Interaction, (1):163-207.
Spohrer, J.C., Soloway, E. and Pope, E. (1985b).
A goal/plan analysis of buggy Pascal programs. YALEU/CSD/RR 392, Department of Computer Science, Yale University.
Takeuchi, A. (1986).
Algorithmic debugging of GHC programs and its implementation in GHC. Technical Report TR-185, ICOT, Tokyo.
Taylor, J. and du Boulay, B. (1987a).
Learning and using Prolog: An empirical investigation. Research Paper CSRP-090, School of Cognitive Studies, University of Sussex.
Taylor, J. and du Boulay, J.B.H. (1987b).
Why novices may find learning Prolog hard. In Rutkowska, J. and Crook, C., (eds.), The Child and the Computer: Issues for Developmental Psychology. Wiley, Chichester.
Taylor, J. (1984).
Why novices will find learning Prolog hard. In O'Shea, T., (ed.), ECAI-84: Advances in Artificial Intelligence. Elsevier Science Publications.
Taylor, J. (1988).
Programming in Prolog: An In-Depth Study of Problems for Beginners Learning to Program in Prolog. Unpublished Ph.D. thesis, School of Cognitive Studies, University of Sussex.
Taylor, J. (1990).
Analysing novices analysing Prolog: What stories do novices tell themselves about Prolog? Instructional Science, 19(4/5):283-310.
van Someren, M. W. (1984).
Misconceptions of beginning Prolog programmers. Memorandum 30, Department of Experimental Psychology, University of Amsterdam.
van Someren, M. W. (1985).
Beginners problems in learning Prolog. Memorandum 54, Department of Experimental Psychology, University of Amsterdam.
van Someren, M.W. (1990).
What's wrong? understanding beginners' problems with Prolog. Instructional Science, 19(4/5):256-282.
v Collani, G. and Schoemann, M. (1995).
The Process of Acquisition of a New Programming Language (LISP): Evidence for Transfer of Experience and Knowledge in Programming. In Wender, K.F., Schmallhofer, F. and Boecker, H-D (eds.) Cognition and Computer Programming. pp169-191. Norwood, NJ: Ablex.
Vessey, I. (1985).
Expertise in debugging computer programs: A process analysis. International Journal of Man-Machine Studies, 23(5):459-494.
Vitale, B. (1989).
Elusive recursion: A trip in recursive land. New Ideas in Psychology, 7(3):253-275.
White, R.H. (1988).
Effects of Pascal knowledge on novice Prolog programmers. Research Paper 399, Department of Artificial Intelligence, Edinburgh.
Wiedenbeck, S. (1986).
Processes in computer program comprehension. In Soloway, E. and Iyengar, S., (eds.), Empirical Studies of Programmers. First Workshop on Empirical Studies of Programmers.
Wiedenbeck, S. (1989).
Learning iteration and recursion from examples. International Journal of Man-Machine Studies, 30:1-22.
Back to Paul's References Menu


Paul Brna's Pages
Contact Paul Brna (paulb@comp.lancs.ac.uk)