BlueJ or Bust! Can a Learning Environment That Simplifies the Teaching of Programming Skills Help Restore America's Dwindling Population of Computer Scientists?

Article excerpt

"COMPUTING, IN HIGH SCHOOL, is perceived as a very boring, nerdy activity," Michael Kolling says. "Before a computing teacher even begins speaking, three-quarters of his students have already decided they're not interested."

That knee-jerk disinterest has translated into a developing shortage of software experts in the US, a trend that Kolling, a computer science professor at the University of Kent in the UK, is working to reverse through his creation of the BlueJ open source programming environment (www.bluej.org).

High school computer science earned its bad reputation by being a notoriously difficult subject in which programming even the simplest of games requires knowledge and steps so technical, abstract, and time-consuming that the work often leads to frustration for even seasoned professionals. With BlueJ, Kolling has essentially developed a set of training wheels for novice programmers that allows them to see the fun, creative side of programming without getting worn down by impenetrable terminology and beginners' mistakes.

[ILLUSTRATION OMITTED]

Developed by Kolling in 1999 as part of a research project at Monash University in Melbourne, Australia, where he was a lecturer, BlueJ provides a visually based, object-oriented programming environment that enables beginning students to create projects without delving into the more intricate areas such as syntax and classes that are typically problematic for anyone learning Java. Java, an open source programming language created in 1995 by Sun Microsystems (www.sun.com/java), has become the standard programming language for the College Board's (www.collegeboard.com) advanced placement computer science curriculum and for most college-level introductory computer science courses. Kolling originally developed BlueJ for first-year computer science students in higher education, marketing his creation at computer education conferences.

Word trickled down to high school computer science educators and many signed on without hesitation. It was then that Kolling realized the magnitude of the hole that BlueJ filled in the market. "Teaching object orientation was seen as a very difficult problem," he says. "People were really looking for a solution."

Strong demand and input from computer science educators, combined with financial support from Sun Microsystems, has allowed BlueJ to grow into a stable and reliable tool for beginning programmers and remain a free open source tool in the process. Kolling now runs the BlueJ community from his post at the University of Kent, in conjunction with a team stationed at Deakin University in Melbourne. The nine-hour separation in time zones among the team members means that someone is always available at any given time to provide immediate feedback to student and teacher queries.

Laine Agee, a computer science teacher at Memphis City Schools' White Station High School in Tennessee, began using BlueJ in her classroom during the 2002-2003 school year, the same year the College Board changed its standard on the AP computer science exam from the C++ programming language to Java. After reviewing other methods of teaching Java, Agee felt BlueJ was the way to go.

"The thing I like about BlueJ is that it's visual--that and the fact that it was easy for me to learn as well," she says.

It's common for the standard language in computer science to change every six to eight years, requiring instructors to quickly master the new language to the point where they can teach it. The BlueJ website offers them support through the access it provides to Kolling and his team. The discussion boards on the site also allow teachers to draw support from one another, as they exchange lesson plans and programming ideas and keep each other on top of updates.

Agee found BlueJ so simple to use that she began using it to teach Java to her beginning students as well. BlueJ was such a big hit in the introductory classes that Agee teamed up with computer science instructors from two other high schools in the district to create a robot competition that required beginning students to design and build their own robots out of Lego Mindstorms kits and program the robots' movements using BlueJ and LeJOS, a Java-based language for Legos (http://lejos. …