Embryonic object versus mature object: object-oriented style and pedagogical theme

  • Authors:
  • Richard Rasala

  • Affiliations:
  • Northeastern University, Boston, MA

  • Venue:
  • Proceedings of the 8th annual conference on Innovation and technology in computer science education
  • Year:
  • 2003

Quantified Score

Hi-index 0.01

Visualization

Abstract

Traditional approaches to object-oriented style emphasize classes with a basic set of constructors and a minimal set of methods that when combined permit the full potential of the instance objects to be realized. This object-oriented style is probably modeled on the style used in mathematics and logic to develop a system based on a minimal set of axioms and operations. The consequences of this style both in practice and in pedagogy are that objects enter into existence in an embryonic state and must be nurtured to maturity by a sequence of method calls that tweak behavior and/or add data. Although this minimalist approach is useful in the first stages of teaching objects and in exploratory design, we suggest that most designs should evolve towards building classes with a rich set of constructors and methods so that the instance objects may be born mature, that is, ready to use in the program without further tweaking. In particular, we believe that if students are taught to design in this manner, then they will be more effective both as students and as computing professionals.The ideas in this article have developed from our experience in designing the Java Power Tools (JPT) and in applying these tools to build many labs and demo programs. We found that using the traditional minimalist design approach hindered our ability to rapidly develop interesting applications. Gradually, we evolved both the tools and the examples to be far richer and have found that our development time has been dramatically reduced. We believe that those who teach objects may be interested in these principles even if they choose to work with entirely different tools and examples.