Learners at the Wheel: Novice Programming Environments Come of Age

Learners at the Wheel: Novice Programming Environments Come of Age

Judith Good
Copyright: © 2011 |Pages: 24
DOI: 10.4018/ijpop.2011010101
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

In recent years, there has been an increase in the number of programming environments which are freely available for use by novice programmers, particularly children and young people. What is interesting about these environments is the level of sophistication that they offer in terms of their development and support features, but also the motivating and engaging contexts that they provide, where programming is a means to a creative end rather than an end in itself. Furthermore, these environments can no longer be considered independent of their broader context of use, where the social and collaborative aspects of learning play a crucial role. This article considers five such environments: Scratch, Alice, Looking Glass, Greenfoot and Flip, examining their characteristics, and investigating the opportunities they might offer to educators and learners alike. It suggests that their learner centredness plays an important role in their appropriation and use. By looking at changes in the development of such languages and environments, the article considers the implications for both research and for education, particularly in light of the current computational thinking agenda.
Article Preview
Top

Introduction

Over the past few years, a number of programming environments for novices have moved out of the research lab and into the public domain. Many of these environments are available free for download, and learners can begin using them to create simple programs in a matter of minutes. This is an exciting trend for a number of reasons: firstly, the environments have increased significantly in terms of their sophistication, combining programming languages (either graphical or text-based) with 2D and sometimes 3D graphical execution environments to form fully fledged integrated development environments (IDEs). Secondly, the IDEs themselves are often embedded in what could be considered a broader ecosystem, comprising online peer support facilities, educational resources for both teachers and learners, and mechanisms for sharing the programs that one has created with other learners. And finally, many of these environments, whilst being open-ended in scope, and allowing for user creativity, are nonetheless grounded in motivating activities such as game making, animation, storytelling, etc. This is not to suggest that novice programming environments are a new phenomenon; indeed, Guzdial (2004) provides an overview of their history since the 1960s, while Kelleher and Pausch (2005) have developed one of the most extensive taxonomies to date. However, because of the ease with which the World Wide Web can make such programming environments and their associated infrastructures so freely accessible, environments of this type are much more ubiquitous, with sites such as Scratch (http://scratch.mit.edu/) reporting over half a million registered users, and over one million uploaded projects.

In particular, children and young people are finding themselves willingly engaged in programming in the pursuit of other creative activities such as making games, interactive stories, simulations or animated films. While they would not classify themselves as programmers, nor would many consider pursuing a career in computer science, they nonetheless enjoy the creative process of designing an artefact and bringing it to life, as it were, by giving it interactivity and, at a later stage, sharing it with one’s peers, both locally and remotely, often with great enthusiasm. As such, these environments have opened up new worlds to novice programmers and, more informally, to “unwitting end user programmers” (Petre & Blackwell, 2007). Whereas end user programmers do not program on a regular basis, but might occasionally write a small program to achieve a particular goal, unwitting end user programmers may be unaware that what they are doing is even programming at all, a phenomenon also observed by Resnick et al. (2009) in the case of young people using Scratch.

What is perhaps most exciting about these novice programming environments is that, examined in a broader context, they may offer some answers to questions currently being posed by educators, namely, with computation becoming ever more ubiquitous and pervasive, how do we ensure that future generations are conversant with computational tools, not just as consumers, but as producers? Although learning to think ‘computationally’ has long been recognised as important (Papert, 1980), the recent computational thinking drive has refocused attention on this as a significant issue in modern society (Wing, 2006). There is broad agreement that it is important to teach computational thinking skills from a young age, and to people who may never learn to program (Guzdial, 2008; Fletcher & Lu, 2009), but deciding which specific skills should be taught is still an emerging endeavour.

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 6: 2 Issues (2017)
Volume 5: 1 Issue (2016)
Volume 4: 2 Issues (2015)
Volume 3: 2 Issues (2014)
Volume 2: 2 Issues (2012)
Volume 1: 2 Issues (2011)
View Complete Journal Contents Listing