Java GUI's and the Computer Science Curriculum

by Ken Lambert and Martin Osborne

As is well known, the use of Java in the computer science curriculum has grown during the past couple of years. Most computer science departments begin by experimenting with Java in their upper-level courses, such as graphics, networks, operating systems, and software engineering. When they realize Java's virtues as a teaching language, many of these departments bring Java down into the beginning level of the curriculum, to CS2 or even CS1. In the next couple of years, it would not be surprising to see Java supplanting C++ as the primary programming language of many computer science departments.

Java's virtues are frequently rehearsed: safety, simplicity, object-orientation, network and Web readiness, portability, and support for graphical user interfaces. However, the last feature, support for GUIs, presents every teacher who uses Java with a dilemma: 

We believe that GUI-based programming can be used in most courses in the computer science curriculum. To demonstrate this, we have developed a toolkit, BreezyGUI, which allows students to write GUI-based Java applications and still focus on course content. This toolkit has been used successfully at all levels of the computer science curriculum, from CS0 to the senior project course. BreezyGUI is a Java package that consists of several classes used in GUI-based programs. These classes are easy to learn, and their use quickly becomes routine.