At present, there is a general consensus on the nature oflearning programming, but there are different opinions onwhat forms an effective environment for it. It is generallyrecognized that the development of a mental model is aformidable task for the student and that learningprogramming is a complex activity that depends heavily onmetacognitive skills.This book, based on a NATO workshop, presents both purecognitive models and experimental learning environments, anddiscusses what characteristics can make a learning modeleffective, especially in relation to the learningenvironment (natural or computerized). The papers covercognitive models related to different aspects ofprogramming, classes of learners, and types of environment,and are organized in three groups: theoretical and empiricalstudies on understanding programming, environments forlearning programming, and learning programming in schoolenvironments.Comprehension, design, construction, testing, debugging, andverification are recognized as interdependent skills, whichrequire complicated analysis and may develop independently,and indifferent orders, in novices. This book shows thatthere is unlikely to be asingle path from novice to expertand that the structure of the final product (the program)may not constrain the process by which it comes into beingas much as some would advocate.
Understanding Programming.- Task Analysis and Cognitive Model as a Framework to Analyse Environments for Learning Programming.- Mental Representations of Computer Languages - a Lesson from Practice.- Towards a Unified Model of Learning to Program.- Acquiring Experience in Object-Oriented Programming: Effects on Design Strategies.- Programming and Design.- Program Comprehension Skills and Their Acquisition: A Call for an Ecological Paradigm.- A Distributed Model of Cognitive Behaviour in Specification Understanding.- How Confirmation Bias Affects Novice Programmers in Testing and Debugging: Research Strategies and Implications for Tools.- The "Private" Relation of the Student with Systematic Programming and Validation.- Environments for Learning Programming.- Towards an Intelligent Environment for Learning Introductory Programming.- Programming Environments for Novices.- Student Modeling in an Intelligent Programming Tutor.- Incidental Reification of Goals in an Intelligent Tutor for Smalltalk.- Methodology and Design Issues in Capra, an Environment for Learning Program Construction.- Linking Theory with ITS Implementation: Models of Programming and the Development of Programming Tutors.- Two and One-Half Approaches to Helping Novices Learn Recursion.- Knowledge Based Tools in Software Engineering Education.- Analogies in an Intelligent Programming Environment for Learning LISP.- Redressing ITS Fallacies Via Software Visualization.- Learning Programming in School Environments.- Registermachine as a Mental Model for Understanding Computer Programming.- Cognitive Structures and Cognitive Strategies in Algorithmic Thinking.- Young Novices Using an Intuitive Mental Schema to Construct Generalised Geometrical Tools.- Thinking Algebraically: Pupil Models Developed in Logo and a Spreadsheet Environment.- Learning Programming as a Cognitive Apprenticeship Through Conflicts.
Series: NATO Asi Series / Computer and Systems Sciences
Number Of Pages: 312
Published: 29th July 1993
Publisher: Springer-Verlag Berlin and Heidelberg Gmbh & Co. Kg
Country of Publication: DE
Dimensions (cm): 23.5 x 15.5
Weight (kg): 1.39