Novice programming environments : explorations in human-computer interaction and artificial intelligence
Author(s)
Bibliographic Information
Novice programming environments : explorations in human-computer interaction and artificial intelligence
(Routledge library editions, . Artificial intelligence ; v. 4)
Routledge, 2018
- : hbk
Available at 1 libraries
  Aomori
  Iwate
  Miyagi
  Akita
  Yamagata
  Fukushima
  Ibaraki
  Tochigi
  Gunma
  Saitama
  Chiba
  Tokyo
  Kanagawa
  Niigata
  Toyama
  Ishikawa
  Fukui
  Yamanashi
  Nagano
  Gifu
  Shizuoka
  Aichi
  Mie
  Shiga
  Kyoto
  Osaka
  Hyogo
  Nara
  Wakayama
  Tottori
  Shimane
  Okayama
  Hiroshima
  Yamaguchi
  Tokushima
  Kagawa
  Ehime
  Kochi
  Fukuoka
  Saga
  Nagasaki
  Kumamoto
  Oita
  Miyazaki
  Kagoshima
  Okinawa
  Korea
  China
  Thailand
  United Kingdom
  Germany
  Switzerland
  France
  Belgium
  Netherlands
  Sweden
  Norway
  United States of America
Note
Originally published: Lawrence Erlbaum Associates, 1992
Includes bibliographical references and indexes
Description and Table of Contents
Description
This book, originally published in 1992, encapsulates ten years of research at the Open University's Human Cognition Research Laboratory. The research investigates the problems of novice programmers, and is strongly oriented toward the design and implementation of "programming environments" aimed at eliminating or easing novices' problems. A range of languages is studied: Pascal, SOLO, Lisp, Prolog and "Knowledge Engineering Programming". The primary emphasis of the empirical studies is to gain some understanding of novices' "mental models" of the inner workings of computers. Such (erroneous) models are constructed by novices in their own heads to account for the idiosyncrasies of particular programming languages. The primary emphasis of the implementations described in the book is the provision of "automatic debugging aids", i.e. artificial intelligence programs which can analyse novices' buggy programs, and make sense of them, thereby providing useful advice for the novices.
Another related strand taken in some of the work is the concept of "pre-emptive design", i.e. the provision of tools such as syntax-directed editors and graphical tracers which help programmers avoid many frequently-occurring errors. A common thread throughout the book is its Cognitive Science/Artificial Intelligence orientation. AI tools are used, for instance, to construct simulation models of subjects writing programs, in order to provide insights into what their deep conceptual errors are. At the other extreme, AI programs which were developed in order to help student debug their programs are observed empirically in order to ensure that they provide facilities actually needed by real programmers.
This book will be of great interest to advanced undergraduate, postgraduate, and professional researchers in Cognitive Science, Artificial Intelligence, and Human-Computer Interaction.
Table of Contents
List of Contributors. Preface. Acknowledgements. Part 1: Design Issues in Programming Environments 1. Design Features of a Friendly Software Environment for Novice Programmers Marc Eisenstadt 2. Principles for the Design of Dynamic Tracing Environments for Novice Programmers Tim Rajan 3. A Fine-Grained Account of Prolog Execution for Teaching and Debugging Marc Eisenstadt and Mike Brayshaw 4. A New Metaphor for the Graphical Explanation of Forward-Chaining Rule Execution John Domingue and Marc Eisenstadt Part 2: Empirical Studies and Cognitive Models 5. Errors in an Interactive Programming Environment: Causes and Cures Marc Eisenstadt and Matthew Lewis 6. An Evaluation of ADT: An Animated Prolog Tracer for Novice Prolog Programmers Tim Rajan 7. Some Pitfalls in Learning About Recursion Hank Kahney 8. Naive Iteration: An Account of the Conceptualizations Underlying Buggy Looping Programs Marc Eisenstadt and Joost Breuker Part 3: Artificial Intelligence User Aids 9. The Automatic Debugging of Recursive Side-Effecting Programs Joachim Laubsch and Marc Eisenstadt 10. Syntactic Debugging of Procedural Programs Tony Hasemer 11. Plan Diagrams as the Basis for Understanding and Debugging Pascal Programs Rudi Lutz 12. An Automated Programming Advisor John Domingue. Indices.
by "Nielsen BookData"