Object-Oriented Programming and Design Patterns Joseph E. Lang and Brian R. Bogovich Computer Science Department University of Dayton Dayton, Ohio 45469-2160 USA Sean C. Barry, Brian G. Durkin, Michael R. Katchmar Jonathan H. Kelly, d. Michael McCollum, d. Michael Potts Electrical and Computer Engineering Department University of Dayton Dayton, Ohio 45469-0226 USA Abstract When teaching object-oriented concepts, design patterns are usually left until the end or left out entirely. In this paper, design patterns are related to the rules of object-oriented design, strongly suggesting that these two concepts should be taught together as beneficial for the understanding of both. 1. Introduction Next to abstraction, one of the most useful concepts in the development of computer software is the recognition and application o f patterns [1]. In introductory classes, we teach students the patterns o f sequential execution, selection between alternatives, and repetition by introducing them to the standard control structures used in imperative programming languages [2]. Later, we teach them to recognize patterns in typical problems such as finding the largest number in a list or summing the elements o f a list. The imperative approach to programming, then, lends itself easily to a mode o f teaching
/lp/association-for-computing-machinery/object-oriented-programming-and-design-patterns-5xLgfNTyXb