KlassroomSwing: a GUI package for Java

There is a tension between students' expectations and the reality of many programming courses. The students live in a world where media and graphical user interfaces (GUIs) are commonplace, but many courses, textbooks, and ancillary materials focus on text-based interfaces. Considering the pervasiveness of GUIs, it seems appropriate to introduce them early in the curriculum. Unfortunately, working with Java's Swing package is a daunting task for beginning programmers. According to the ACM Java Task Force, "The standard interactor classes provided by the Java Swing Library are often difficult for novices to use." A common alternative is to have students use a toolkit, or GUI package, to create user interfaces in the early courses, and switch to Swing in later courses. The ACM Java Task Force has identified KlassroomSwing as one of three substantial packages designed to address this specific problem. The purpose of this tutorial is to introduce the participants to the features and capabilities of KlassroomSwing.