Novice Programming Environments
Subtitle: Explorations in Human-Computer Interaction and Artificial Intelligence
By: editors, Marc Eisenstadt, Mark T. Keane, Tim Rajan
Edition: First edition.
Series: Routledge Library Editions: Artificial Intelligence
Publisher: Taylor and Francis
Published: 2018
Place of publication: London
Language: eng
Number of pages: 356
ISBN-13: 9781351141284
Subjects: Cognitive science; Artificial intelligence; Sciences cognitives; Intelligence artificielle
Description: "This book, originally published in 1992, encapsulates ten years of research at the Open Universitys 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."--Provided by publisher.
Table of contents: title: Part, I Design Issues in Programming Environments --; title: chapter 1 Design Features of a Friendly Software Environment For Novice Programmers *  -- Marc Eisenstadt; title: chapter 2 Principles for the Design of Dynamic Tracing Environments for Novice Programmers *  -- Tim Rajan; title: chapter 3 A Fine-Grained Account of Prolog Execution for Teaching and Debugging 1  -- Marc Eisenstadt Mike Brayshaw; title: chapter 4 A New Metaphor for the Graphical Explanation of Forward-Chaining Rule Execution  -- John Domingue Marc Eisenstadt; title: part, II Empirical Studies & Cognitive Models --; title: chapter 5 Errors In An Interactive Programming Environment: Causes and Cures  -- Marc Eisenstadt Matthew W. Lewis; title: chapter 6 An Evaluation of APT: An Animated Program Tracer for Novice Prolog Programmers *  -- Tim Rajan; title: chapter 7 Some Pitfalls in Learning About Recursion  -- Hank Kahney; title: chapter 8 Naive Iteration: An Account of the Conceptualizations Underlying Buggy Looping Programs  -- Marc Eisenstadt Joost Breuker; title: part, III Artificial Intelligence User Aids --; title: chapter 9 The Automatic Debugging of Recursive Side-Effecting Programs *  -- Joachim Laubsch Marc Eisenstadt; title: chapter 10 Syntactic Debugging of Procedural Programs  -- Tony Hasemer; title: chapter 11 Plan Diagrams as the Basis for Understanding and Debugging Pascal Programs *  -- Rudi Lutz; title: chapter 12 An Automated Programming Advisor -- John Domingue.