Blue, BlueJ, Greenfoot: Designing Educational Programming Environments

Blue, BlueJ, Greenfoot: Designing Educational Programming Environments

Michael Kölling (King's College London, UK)
DOI: 10.4018/978-1-5225-5969-6.ch002
OnDemand PDF Download:
No Current Special Offers


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 chapter, the authors describe their experiences with the design of three systems—Blue, BlueJ, and Greenfoot—and extract lessons that they hope may be useful for designers of future systems. The authors also discuss current developments, and suggest an area of interest where future work might be profitable for many users: the combination of aspects from block-based and text-based programming. They present their work in this area—frame-based editing—and suggest possible future development options.
Chapter Preview

A Short History Of Educational Programming

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 Chapter List

Search this Book: