Object-centered design: a five-phase introduction to object-oriented programming in CS1–2

  • Authors:
  • Joel C. Adams

  • Affiliations:
  • Department of Mathematics and Computer Science, Calvin College, Grand Rapids, MI

  • Venue:
  • SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

With Pascal waning in popularity as the CS1 language of choice, many colleges and universities are considering the adoption of C++ (an imperative and object-oriented hybrid language) as its replacement. An important issue that must be addressed in making such a change is the question of what software design methodology should be taught to CS1 students. Two common answers are (i) continue teaching structured design in CS1 and switch to object-oriented design in CS2; or (ii) teach object-oriented design from the outset in CS1. We believe that both of these approaches have significant drawbacks. To avoid these drawbacks, this paper describes a graduated approach to object-oriented design that we call object-centered design. The approach introduces students to object-oriented design by the end of CS2 without an abrupt paradigm shift, and without requiring an early introduction of inheritance.