Springer eBooks may be purchased by end-customers only and are sold without copy protection (DRM free). Instead, all eBooks include personalized watermarks. This means you can read the Springer eBooks across numerous devices such as Laptops, eReaders, and tablets.
You can pay for Springer eBooks with Visa, Mastercard, American Express or Paypal.
After the purchase you can directly download the eBook file or read it online in our Springer eBook Reader. Furthermore your eBook will be stored in your MySpringer account. So you can always re-download your eBooks.
At present, there is a general consensus on the nature of
learning programming, but there are different opinions on
what forms an effective environment for it. It is generally
recognized that the development of a mental model is a
formidable task for the student and that learning
programming is a complex activity that depends heavily on
This book, based on a NATO workshop, presents both pure
cognitive models and experimental learning environments, and
discusses what characteristics can make a learning model
effective, especially in relation to the learning
environment (natural or computerized). The papers cover
cognitive models related to different aspects of
programming, classes of learners, and types of environment,
and are organized in three groups: theoretical and empirical
studies on understanding programming, environments for
learning programming, and learning programming in school
Comprehension, design, construction, testing, debugging, and
verification are recognized as interdependent skills, which
require complicated analysis and may develop independently,
and indifferent orders, in novices. This book shows that
there is unlikely to be asingle path from novice to expert
and that the structure of the final product (the program)
may not constrain the process by which it comes into being
as 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.