ebook img

Cognitive Models and Intelligent Environments for Learning Programming PDF

318 Pages·1993·10.897 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Cognitive Models and Intelligent Environments for Learning Programming

NATO ASI Series Advanced Science Institutes Series A series presenting the results of activities sponsored by the NA TO Science Committee, which aims at the dissemination of advanced scientific and technological knowledge, with a view to strengthening links between scientific communities. The Series is published by an international board of publishers in conjunction with the NATO Scientific Affairs Division A Life Sciences Plenum Publishing Corporation B Physics London and New York C Mathematical and Kluwer Academic Publishers Physical Sciences Dordrecht, Boston and London o Behavioural and Social Sciences E Applied Sciences F Computer and Springer-Verlag Systems Sciences Berlin Heidelberg New York G Ecological Sciences London Paris Tokyo Hong Kong H Cell Biology Barcelona Budapest I Global Environmental Change NATo-peo DATABASE The electronic index to the NATO ASI Series provides full bibliographical references (with keywords and/or abstracts) to more than 30000 contributions from international scientists published in all sections of the NATO ASI Series. Access to the NATO-PCO DATABASE compiled by the NATO Publication Coordination Office is possible in two ways: -via online FILE 128 (NATO-PCO DATABASE) hosted by ESRIN, Via Galileo Galilei, 1-00044 Frascati, Italy. -via CD-ROM "NATO Science & Technology Disk" with user-friendly retrieval software in English, French and German (© WTV GmbH and DATAWARE Technologies Inc. 1989). The CD-ROM can be ordered through any member of the Board of Publishers or through NATO-PCO, Overijse, Belgium. Series F: Computer and Systems Sciences Vol. 111 The ASI Series Books Published as a Result of Activities of the Special Programme on ADVANCED EDUCATIONAL TECHNOLOGY This book contains the proceedings of a NATO Advanced Research Workshop held within the activities of the NATO Special Programme on Advanced Educational Technology, running from 1988 to 1993 under the auspices of the NATO Science Committee. The books published so far as a result of the activities of the Special Programme are as follows (further details are given at the end of this volume): Vol. F 67: Designing Hypermedia for Learning. 1990. Vol. F 76: Multimedia Interface Design in Education. 1992. Vol. F 78: Integrating Advanced Technology into Technology Education. 1991. Vol. F 80: Intelligent Tutoring Systems for Foreign Language Learning. 1992. Vol. F 81: Cognitive Tools for Learning. 1992. Vol. F 84: Computer-Based Learning Environments and Problem Solving. 1992. Vol. F 85: Adaptive Learning Environments: Foundations and Frontiers. 1992. Vol. F 86: Intelligent Learning Environments and Knowledge Acquisition in Physics. 1992. Vol. F 87: Cognitive Modelling and Interactive Environments in Language Learning. 1992. Vol. F 89: Mathematical Problem Solving and New Information Technologies. 1992. Vol. F 90: Collaborative Learning Through Computer Conferencing. 1992. Vol. F 91: New Directions for Intelligent Tutoring Systems. 1992. Vol. F 92: Hypermedia Courseware: Structures of Communication and Intelligent Help. 1992. Vol. F 93: Interactive Multimedia Learning Environments. 1992. Vol. F 95: Comprehensive System Design: A New Educational Technology. 1993. Vol. F 96: New Directions in Educational Technology. 1992. Vol. F 97: Advanced Models of Cognition for Medical Training and Practice. 1992. Vol. F104: Instructional Models in Computer-Based Learning Environments. 1992. Vol. F105: Designing Environments for Constructive Learning. 1993. Vol. F107: Advanced Educational Technology for Mathematics and Science. 1993. Vol. F109: Advanced Educational Technology in Technology Education. 1993. Vol. F111: Cognitive Models and Intelligent Environments for Learning Programming. 1993. Cognitive Models and Intelligent Environments for Learning Programming Edited by Enrica Lemut Istituto Matematica Applicata, C.N.A. Via De Marini, 6, Torre di Francia, 1-16149 Genova, Italy Benedict du Boulay School of Cognitive and Computing Sciences University of Sussex, Falmer, Brighton BN1 9QH, UK Giuliana Dettori Istituto Matematica Applicata, C.N.R. Via De Marini, 6, Torre di Francia, 1-16149 Genova, Italy Springer-Verlag Berlin Heidelberg GmbH Proceedings of the NATO Advanced Research Workshop on Cognitive Models and Intelligent Environments for Learning Programming, held near Genova, Italy, March 17-21,1992 CR Subject Classification (1991): K.3.2, 0.1 ISBN 978-3-642-08156-9 ISBN 978-3-662-11334-9 (eBook) DOI 10.1007/978-3-662-11334-9 This work is subject to copy"yrlt. AII rights are reserved, whether the whole or part olthe material is concerned, specilically the rights 01 translation, reprinting, reuse 01 illustrations, recitation, broadcasting, reproduction on microlilms or in any other way, and storage in data banks. Duplication 01 this publication or parts thereol is permitted only under the proviSlons 01 the German Copyright Law 01 September 9, 1965, in its current version, and permission lor use must always be obtained lrom Springer-Verlag Berlin Heidelberg GmbH. Violations are liable lor prosecution under the German Copyright Law. © Springer-Verlag Berlin Heidelberg 1993 Originaily published by Springer-Verlag Berlin Heidelberg New York in 1993 Softcover reprint of the hardcover 1 sI edilion 1993 Typesetting: Camera ready by authors 40/3140 -5 4 3 210 -Printed on acid-Iree pa per Preface The papers in this book derive from an Advanced Research Workshop on "Cognitive Models and Intelligent Environments for Learning Programming", sponsored largely by the NATO International Scientific Exchange Programme and also by the Istituto per la Matematica Applicata del CNR, Genova, Italy; the Joint ESRC/SERC/MRC Initiative in Cognitive Science and HCI in the UK; the Area della Ricerca di Genova, Italy; and Sun Micro-system Italia, Italy. The workshop was held in the agreeable surroundings of S. Margherita, near Genova, in March 1992, and gathered 47 participants from several countries and different backgrounds (mathematics, psychology, computer science, system engineering). The best papers were refer eed and reworked for the present volume. The workshop employed a number of rapporteurs who provided feedback and overview commentaries both at the event and to the organizers. We have drawn on their material extensively in the following introduction and acknowledge help from (in alphabetical order): Rosa Maria Bottino, Peter Brusilovsky, Albert Corbett, Walter Daelemans, Simon Davies, Margherita Fasano, Chronis Kynigos, Laura Leventhal, Nicolina Malara, Maria Teresa Molfino, Joao da Ponte, Maria Reggiani, Warren Sack, Zahava Schertz, Jean Sholtz, Francisco Simplicio-Filho, Gyulane Szendrei, Barbee M. Teasley, Haruki Ueno. To all of them, as well as to the referees: Nicholas Balacheff, Rosa Maria Bottino, Giampaolo Chiappini, Albert Corbett, Simon Davies, Franyoise Detienne, Marc Eisenstadt, Paola Forcheri, Dominique Guin, Chronis Kynigos, Laura M. Leventhal, Gordon McCalla, Maria Teresa Molfino, Janine Rogalsky, Warren Sack, Renan Samuryay, Zahava Scherz, Jean Scholtz, Inge Schwank, Francisco Simplicio-Filho, Mark K. Singley, John Sumiga, Rosamund Sutherland, Barbee M. Teasley, Haruki Ueno, Gerrit C. van der Veer, Boris Velichkovsky, M. Felisa Verdejo, Willemien Visser, Gerhard Weber, and to all those who in some way contributed to make this book possible, we wish to express our sincere gratitude. February 1993 Enrica Lemut, Benedict du Boulay, Giuliana Dettori Table of Contents Introduction Understanding Programming General Theory or Programming Knowledge Task Analysis and Cognitive Model as a Framework to Analyse Environments for Learning Programming ......... . 6 J. Rogalsky and R. SamUT~ay Mental Representations of Computer Languages - A Lesson from Practice 20 G. C. van der Veer Towards a Unified Model of Learning to Program .. 34 P.Pirolli Acquiring Experience in Object-Oriented Programming: Effects on Design Strategies ........... . 49 F.Detienne Programming and Design . 59 J.Sumiga Theory or Particular Aspects or Programming Knowledge Program Comprehension Skills and Their Acquisition: A Call for an Ecological Paradigm . . . . . . . . . . . . . . . . . 71 B.M. Teasley A Distributed Model of Cognitive Behaviour in Specification Understanding 80 F. C. Simplicio-Filho How Confmnation Bias Affects Novice Programmers in Testing and Debugging: Research Strategies and Implications for Tools . 94 L.M. Leventhal The "Private" Relation of the Student with Systematic Programming and Validation 103 V. Dagdilelis Environments for Learning Programming Intelligent Tutoring Systems Towards an Intelligent Environment for Learning Introductory Programming 114 P L. Brusilovsky Programming Environments for Novices 125 H. Ramadhan and B. du Boulay VIII Student Modeling in an Intelligent Programming Tutor 135 A.T. Corbett and JR. Anderson Incidental Reification of Goals in an Intelligent Tutor for Smalltalk . 145 M.K. Singley, JM. Carroll, and SR. Alpert Methodology and Design Issues in Capra, an Environment for Learning Program Construction ................. 156 MF . Verdejo, I. Fernandez, and M.T. Urretavizcaya Linking Theory with ITS Implementation: Models of Programming and the Development of Programming Tutors . . . . . . . . . 172 S.P. Davies and AM. Castell Pure Programming Environments Two and One-Half Approaches to Helping Novices Learn Recursion . 185 G.I. McCalla andJ. E. Greer Knowledge Based Tools in Software Engineering Education .... 198 P. Forcheri and M.T. Molfino Analogies in an Intelligent Programming Environment for Learning LISP . 210 G.Weber Redressing ITS Fallacies Via Software Visualization 220 M. Eisenstadt, BA. Price and J. Domingue Learning Programming in School Environments Registennachine as a Mental Model for Understanding Computer Programming . 235 E. Cohors-Fresenborg Cognitive Structures and Cognitive Strategies in Algorithmic Thinking 249 I. SchwaM. Young Novices Using an Intuitive Mental Schema to Construct Generalised Geometrical Tools .............. ............ 260 C. Kynigos Thinking Algebraically: Pupil Models Developed in Logo and a Spreadsheet Environment . . . . . . . . . . . . . . . . 270 R. Sutherland Learning to Program as a Cognitive Apprenticeship Through Conflicts . 284 F. Arzarello, G. P. Chiappini, E. Lemur, N. Malara and M. Pellerey List of Contributors 299 List of Participants 300 Subject Index 304 Introduction Preparing a book from a number of papers from different authors requires classifying them in some way, grouping them by interest area. In the case of learning programming, several classifications are possible, such as: - what kind of programming language is learned; - who is the learner, novice or expert; - where the learning occurs, in an educational or in a professional environment; - which kind of teachingllearning environment is considered, human or automatic; - what aspects of programming are considered, the whole process of programming or some particular parts of it. None of the above classifications give a clear and exhaustive description of the problems of the field, hence we thought that none of them could be adopted, alone, for organizing the book. Therefore, we chose a mixed classification, based on more than one point of view, taking also into consideration the fact that the title suggests two topics of different nature. This difference, however, is only apparent since the aim of the book is to stress the importance of cognitive models in any learning/teaching process or environment Hence, the papers in this collection are subdivided into three partially overlapping fields. First, there are theoretical and empirical studies on understanding programming, including analyses of expert/novice differences and of the nature of programming expertise. Second, we include papers on the design and evaluation of environments for learning programming, in cluding environments with a strong tutorial component. Finally, there are studies concerning the introduction to programming in school environments, based mostly on problem solving or on learning elementary concepts of mathematics. Understanding Programming Papers on understanding the programming process and how novices are transformed into experts here can be subdivided into two classes. Some papers are concerned with a broad-based theory of the underlying psychological processes while others are more narrowly focused on particular aspects of programming. General Theory of Programming Knowledge Rogalsky and Samur~ay provide a detailed account of the kinds of subtasks involved in programming and of the kinds of knowledge and skill that need to be brought to bear by skilled 2 programmers. They offer a way of thinking about learning programming that allows them to classify a wide range of different approaches to the task of teaching programming. Van der Veer provides an intriguing discussion of the rich variety of mental models his team has found in over 1000 protocols. His results make life awkward for programming environment and ITS designers who might rather wish to address their designs to a more homogeneous audience. Pirolli outlines a unified model of learning to program. intended to address program writing and comprehension, and the processing of instruction in standard didactical forms, as well as more complex interactive forms. Design was one aspect of programming that the workshop brought into sharp focus. We have included in this section papers on "design" because it runs right through almost all aspects of programming. D~tienne's paper looks at the kind of design strategies that professional programmers use for an object-oriented language (OOP). The issue here is to evaluate how the characteristics of the design strategies depend on the experience of the programmers in OOP languages. Also on the theme of design, Sumiga offers a cognitive model of the design pr0- cess, based on protocols of designers, that encompasses both opportunistic and goal-directed behaviour. Interest in "opportunism" was quite widespread and the theme turns up in other papers also (see, e.g., Davies and Simplicio-Filho below). Theories of Particular Aspects ofP rogramming Knowledge Teasley argues for the adoption of an ecological paradigm in the study of program compre hension, in particular taking account of the context in which program comprehension is taking place. Simplicio-Filho presents an engineering model of cognitive behaviour in the task of specification understanding. The model focuses on the control mechanisms that drive oppor tunistic and goal-oriented behaviours, in particular on its reactive and distributed character ization. Leventhal's work indicates the problem that program testers tend to see what they want to see and tend to work toward confmning hunches lather than systematically testing. Her results are in line with other fields (e.g., medical diagnosis) where "conflfOlation bias" has also been found. Dagdi/elis relates the processes of constructing a program to that of validating it; he analyses student's behaviour to validate an algorithm on the basis of a proposed hierarchy of seven categories. In his view, students work simultaneously at different levels, but tend to revert to the most primitive ones when dealing with an evaluation of correctness. Environments for Learning to Program Work on environments for teaching programming can be divided into those that describe systems which are essentially "pure" environments and those that undertake tutorial inter ventions. 3 Intelligent Tutoring Systems Brusilovsty describes an ITS for a mini-language that embodies a course in elementary programming, together with various tools to assist the learner who may either work in an exploratory manner, or under the guidance of the tutor. A similar combination of exploratory environment and tutor is offered by Ramadhan and du Boulay. They sketch results of an empirical study which supports the belief in the importance of exploratory learning as an introduction to tutored problem solving. Corbett and Anderson's work on the Lisp Tutor is well known. Their paper in this volume describes an experiment to evaluate the accuracy of the underlying rule-based model of programming skill. One of the features of learning Lisp with the Lisp tutor is that there is quite a lot of control over the degree of complexity experienced by the novices. The paper by Singley, Carroll and Alpert describes a system, Goalposter, which tries to infer automatically what the programmer is doing and then displays the information for the programmer as an "aide-memoire". Verdejo, Fernandez and Urretavizcaya describe the methodology and design issues in Capra, a system aimed to teach novice students the design of elementary programs. Its tutorial methodology relies on the use of schemas or plans for reasoning about program construction and takes into account the current student's intention, either explicitly expressed or inferred from the communication process. The final paper in this section, by Davies and Castell, neatly encapsulates some of the objectives of the workshop, in that it offers a critique from a psychological point of view of a number of well known tutoring systems for learning programming. In particular, they are concerned about the role that programming plans have played in the development of such systems and about the psycho logical Validity of the notion of top-down planning. Pure Programming Environments The work by McCalla and Greer involves development of both ITS and learning environments. Their SCENT system is able to match a student's answer to a Lisp program against a set of solutions coded as hierarchic structures. The system can undertake the matching of student and teacher answers at various levels of granUlarity. They also describe the PETAL environment which provides novices with different ways to understand recursion. The MEMO system, by Forcheri and Molfino, is a computer based laboratory on abstract algebraic specifications, intended as a tool to enable software engineering students to reason about programming problems abstractly. In this lab, parts of specifications used inside a program are automatically implemented. Weber describes ELM-PE, an intelligent programming environment for learning Lisp, supporting example-based learning, able to classify and retrieve earlier programming examples for use as analogies for the current problem. Eisenstadt, Price and Domingue go as far as arguing that the traditional Intelligent Tutoring System approach cannot succeed in general and is based on a number of "fallacies". They argue that systems for novices (and for

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.