Object orientation in CS1-CS2 by design

  • Authors:
  • Carl Alphonce;Phil Ventura

  • Affiliations:
  • University at Buffalo, State University of New York;University at Buffalo, State University of New York

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

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper argues for a design driven approach to an object-oriented CS1-CS2 sequence in which object-orientation is thematic. Our approach integrates several components: (i) a strong object-oriented approach, (ii) design using UML, (iii) design patterns to manage complexity, and (iv) complex examples and projects to motivate the use of object-orientation and to motivate students by solving non-trivial problems. While this is a "programming-first" approach to CS1-CS2, it addresses several disadvantages of programming-first approaches noted in CC2001 [7]. The approach focuses on design rather than syntax, so students do not lose sight of the forest for the trees. We use (relatively speaking) large and complex examples, especially in the CS2 course, which allows us to address in a meaningful way issues of programming in the large. Because the approach is design driven and heavily object oriented, the course is not biased against novices in favor of students with prior programming experience, since CS1 students with prior programming experience typically have no design experience and only procedural programming experience.