Lessons from the Design of Three Educational Programming Environments: Blue, BlueJ and Greenfoot

Lessons from the Design of Three Educational Programming Environments: Blue, BlueJ and Greenfoot

Michael Kölling (University of Kent, Canterbury, UK)
Copyright: © 2015 |Pages: 28
DOI: 10.4018/IJPOP.2015010102
OnDemand PDF Download:
$37.50

Abstract

Educational programming systems are booming. More systems of this kind have been published in the last few years than ever before, and interest in this area is growing. With the rise of programming as a school subject in ever-younger age groups, the importance of dedicated educational systems for programming education is increasing. In the past, professional environments were often used in programming teaching; with the shift to younger age groups, this is no longer tenable. New educational systems are currently being designed by a diverse group of developing teams, in industry, in academia, and by hobbyists. In this paper, the author describes his experiences with the design of three systems—Blue, BlueJ, and Greenfoot—and extract lessons that he hopes may be useful for designers of future systems. He also discusses current developments, and suggests an area of interest where future work might be profitable for many users: the combination of aspects from block-based and text-based programming. The author briefly presents his work in this area—frame-based editing—and suggest possible future development options.
Article Preview

A Short History Of Educational Programming Tools

Educational software tools are nearly as old as programming as a discipline. Ever since computer scientists started teaching others about programming, they started thinking about tools to support this challenge. In the early days, there was no difference between the tools used by professionals and the ones taught to newcomers. However, pretty soon systems started to be developed that were designed partly or primarily with beginners as users in mind.

We will not give a complete history of educational software here; instead, we mention just a few influential early systems to arrive quickly at our destination: educational development environments for object-oriented programming. This is where we will slow down and start discussion in more detail.

The first pedagogically oriented software tools were programming languages and their associated compilers. Among the early ones, BASIC (1964), Logo (1967), Pascal (1970), and Smalltalk (1972) stood out as the most used and most influential—all aiming at learners as their primary target group. The goal of these languages was partly simplification: taking known concepts and avoiding the complications that could arise in other existing languages at the time. BASIC and Pascal were part of this movement, introducing more rigid structure and creating higher abstraction levels in programming in the process. The other part was the introduction or appropriation of concepts and abstractions that might be more accessible to learners: micro-worlds in the case of Logo (Papert, 1980), and the adaptation of object orientation (a reasonably obscure programming paradigm at the time, introduced a few years earlier in the Simula language (Dahl, Myhrhaug, & Nygaard, 1967)) in the case of Smalltalk.

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 6: 2 Issues (2017): 1 Released, 1 Forthcoming
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