Specialization, generalization and inheritance teaching objectives beyond data structures and data types

  • Authors:
  • Wilf R. LaLonde;John R. Pugh

  • Affiliations:
  • Carleton University, Ottawa, Ontario, Canada;Carleton University, Ottawa, Ontario, Canada

  • Venue:
  • ACM SIGPLAN Notices
  • Year:
  • 1985

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes our experience in teaching a course in abstract data types over a four year period. Although abstract data types are a major improvement over traditional data structures, they provide only a portion of the concepts needed by experienced designers. The additional concepts needed include such notions as generalizations of data types, their specializations, relationships between data types, and the capability and necessity of abstracting common operations through inheritance mechanisms. Designing an individual abstract data type is akin to "programming in the small" but designing a library of data types introduces new problems that are best solved from the viewpoint of "programming in the large".