Novice Programming Environments


Book Description

The result of ten years of research, this book investigates the problems of novice programmers, orientated towards the design and implementation of programming environments aimed at eliminating or easing novice's problems.




Research Anthology on Computational Thinking, Programming, and Robotics in the Classroom


Book Description

The education system is constantly growing and developing as more ways to teach and learn are implemented into the classroom. Recently, there has been a growing interest in teaching computational thinking with schools all over the world introducing it to the curriculum due to its ability to allow students to become proficient at problem solving using logic, an essential life skill. In order to provide the best education possible, it is imperative that computational thinking strategies, along with programming skills and the use of robotics in the classroom, be implemented in order for students to achieve maximum thought processing skills and computer competencies. The Research Anthology on Computational Thinking, Programming, and Robotics in the Classroom is an all-encompassing reference book that discusses how computational thinking, programming, and robotics can be used in education as well as the benefits and difficulties of implementing these elements into the classroom. The book includes strategies for preparing educators to teach computational thinking in the classroom as well as design techniques for incorporating these practices into various levels of school curriculum and within a variety of subjects. Covering topics ranging from decomposition to robot learning, this book is ideal for educators, computer scientists, administrators, academicians, students, and anyone interested in learning more about how computational thinking, programming, and robotics can change the current education system.




Novice Programming Environments


Book 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.




Studying the Novice Programmer


Book Description

Parallel to the growth of computer usage in society is the growth of programming instruction in schools. This informative volume unites a wide range of perspectives on the study of novice programmers that will not only inform readers of empirical findings, but will also provide insights into how novices reason and solve problems within complex domains. The large variety of methodologies found in these studies helps to improve programming instruction and makes this an invaluable reference for researchers planning studies of their own. Topics discussed include historical perspectives, transfer, learning, bugs, and programming environments.




The Cambridge Handbook of Computing Education Research


Book Description

This is an authoritative introduction to Computing Education research written by over 50 leading researchers from academia and the industry.




Computer Science Education Research


Book Description

This book provides an overview of how to approach computer science education research from a pragmatic perspective. It represents the diversity of traditions and approaches inherent in this interdisciplinary area, while also providing a structure within which to make sense of that diversity. It provides multiple 'entry points'- to literature, to methods, to topics Part One, 'The Field and the Endeavor', frames the nature and conduct of research in computer science education. Part Two, 'Perspectives and Approaches', provides a number of grounded chapters on particular topics or themes, written by experts in each domain. These chapters cover the following topics: * design * novice misconceptions * programming environments for novices * algorithm visualisation * a schema theory view on learning to program * critical theory as a theoretical approach to computer science education research Juxtaposed and taken together, these chapters indicate just how varied the perspectives and research approaches can be. These chapters, too, act as entry points, with illustrations drawn from published work.




Cognitive Models and Intelligent Environments for Learning Programming


Book Description

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 metacognitive skills. 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 environments. 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.




Studying the Novice Programmer


Book Description

Parallel to the growth of computer usage in society is the growth of programming instruction in schools. This informative volume unites a wide range of perspectives on the study of novice programmers that will not only inform readers of empirical findings, but will also provide insights into how novices reason and solve problems within complex domains. The large variety of methodologies found in these studies helps to improve programming instruction and makes this an invaluable reference for researchers planning studies of their own. Topics discussed include historical perspectives, transfer, learning, bugs, and programming environments.




Computer Science Education Research


Book Description

This book provides an overview of how to approach computer science education research from a pragmatic perspective. It represents the diversity of traditions and approaches inherent in this interdisciplinary area, while also providing a structure within which to make sense of that diversity. It provides multiple 'entry points'- to literature, to me




Innovative Methods, User-Friendly Tools, Coding, and Design Approaches in People-Oriented Programming


Book Description

As modern technologies continue to develop and evolve, the ability of users to interface with new systems becomes a paramount concern. Research into new ways for humans to make use of advanced computers and other such technologies is necessary to fully realize the potential of twenty-first-century tools. Innovative Methods, User-Friendly Tools, Coding, and Design Approaches in People-Oriented Programming is a critical scholarly resource that examines development and customization user interfaces for advanced technologies and how these interfaces can facilitate new developments in various fields. Featuring coverage on a broad range of topics such as role-based modeling, end-user composition, and wearable computing, this book is a vital reference source for programmers, developers, students, and educators seeking current research on the enhancement of user-centric information system development.