Java power tools: model software for teaching object-oriented design

  • Authors:
  • Richard Rasala;Jeff Raab;Viera K. Proulx

  • Affiliations:
  • College of Computer Science, Northeastern University, Boston, MA;College of Computer Science, Northeastern University, Boston, MA;College of Computer Science, Northeastern University, Boston, MA

  • Venue:
  • Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Java Power Tools or JPT is a Java toolkit designed to enable students to rapidly develop graphical user interfaces in freshman computer science programming projects. Because it is simple to create GUIs using JPT, students can focus on the more fundamental issues of computer science rather than on widget management. In a separate article[4], we will discuss with examples how the JPT can help freshman students to learn about the basics of algorithms, data structures, classes, and interface design. In this article, we will focus on how the JPT itself can be used as an extended case study of object-oriented design principles in a more advanced course.The fundamental design principles of the JPT are that the elements of a graphical user interface should be able to be combined recursively as nested views and that the communication between these views and the internal data models should be as automatic as possible. In particular, in JPT, the totality of user input from a complex view can be easily converted into a corresponding data model and any input errors will be detected and corrected along the way. This ease of communication is achieved by using string objects as a lingua franca for views and models and by using parsing when appropriate to automatically check for errors and trigger recovery. The JPT achieves its power by a combination of computer science and software design principles. Recursion, abstraction, and encapsulation are systematically used to create GUI tools of great flexibility. It should be noted that a much simpler pedagogical package for Java IO was recently presented in [9].