Teaching object-oriented programming with Greenfoot

Another topic I covered with during my interview with Sun Microsystems' Joe Hartley was "Greenfoot," a tool that Sun helped develop (providing financial and consultative support to the developers) to teach students about object-oriented programming. While most students pick up algorithmic approaches to programming fairly easily, many struggle to get their heads around the idea of object-orientation.

Another topic I covered with during my interview with Sun Microsystems' Joe Hartley was "Greenfoot," a tool that Sun helped develop (providing financial and consultative support to the developers) to teach students about object-oriented programming. While most students pick up algorithmic approaches to programming fairly easily, many struggle to get their heads around the idea of object-orientation.

Sun, like many players in the industry, have serious concerns about the lack of emphasis on computer science in this country (Mr. Hartley specifically mentioned the elimination of the AP Computer Science AB exam) and, as a result, worked closely with developers to create the Greenfoot IDE to introduce middle and high school students to oo programming. While the IDE itself could certainly be used by middle schoolers (it's straightforward and clean with easy right-click access to all of the objects in a given "scenario"), students need a basic understanding of Java to use it effectively. The well-written tutorial (I've just linked the basic HTML here; download the full application for a nicely-formatted tutorial) also assumes at least a conceptual knowledge of objects, methods, and programming in general.

The sample scenarios (or programs, if you will), allow students to interact with a variety of objects, modify classes, and see the results of changing methods easily through the IDE. As students become more proficient, they can create their own scenarios, all of which can be shared via the Greenfoot website.

The website itself is a real treasure trove of new samples, additional tutorials, etc. The tutorials are videos that could easily be shown in class with everything from an introduction to the IDE to "how-to's" (how to create a new background, how to create movement, how to display text, etc.).

In short, Greenfoot represents a simple, turnkey addition to any high school programming course and could be a fairly easy supplement to those "Introduction to Computers" courses that we often end up teaching. Greenfoot's real value is in its flexibility, allowing for conceptual discussions of programming concepts or in-depth programming projects appropriate for high school students.