Teaching design patterns: a matter of principle

  • Authors:
  • Charles D. Allison;Neil B. Harrison

  • Affiliations:
  • Utah Valley State College, Orem, UT;Utah Valley State College, Orem, UT

  • Venue:
  • Journal of Computing Sciences in Colleges - Papers of the Fourteenth Annual CCSC Midwestern Conference and Papers of the Sixteenth Annual CCSC Rocky Mountain Conference
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

The patterns movement in software design has provided a framework for codifying and communicating solutions for commonly encountered design challenges. Design patterns are not intended to be only entries in a cookbook, however; they emerge by following good design principles to balance the forces present in a software development context. According to the authors' experience, design patterns are best presented in concert with the design principles that bring them to life. This paper discusses the interrelation between design patterns and principles and reports on a pilot course in teaching the principles and patterns of software design that, after two successful semesters, has recently been adopted as a requirement in a newly inaugurated bachelor's degree in software engineering.