Evolving an integrated curriculum for object-oriented analysis and design

Object-Oriented Analysis and Design has established itself as an integral and critically vital part of the software development process. In this paper, we describe an integrated approach to teaching this subject so that it covers vital components of this vast field: analysis, object-oriented design principles such as the Liskov Substitution Principle, the design process, which shows how and where the rules are applied, modeling, design and architectural patterns, language features, and refactoring. The course has evolved over the past 10 years to one that revolves around three major case studies. This evolution has resulted in a course that covers all important aspects of OOAD in a manner that emphasizes their inter-relatedness and hence their relevance to overall design process. Feedback suggests that this approach has improved students' understanding of the OOAD concepts.

[1]  JOHN M. CARROLL,et al.  Usability Engineering : Design Rationale , Development , and Classroom Experience , 2005 .

[2]  Marcia C. Linn,et al.  Patterns and pedagogy , 1999, SIGCSE '99.

[3]  A. C. Croft,et al.  Motivating engineering students by using modern case studies , 1999 .

[4]  Marcia C. Linn,et al.  The case for case studies of programming problems , 1992, CACM.

[5]  Viera K. Proulx Traffic simulation: a case study for teaching object oriented design , 1998, SIGCSE '98.

[6]  Richard Grant,et al.  A Claim for the Case Method in the Teaching of Geography. , 1997 .

[7]  Barbara Liskov,et al.  Keynote address - data abstraction and hierarchy , 1988, OOPSLA '87.

[8]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[9]  Christopher H. Nevison,et al.  Teaching objects early and design patterns in Java using case studies , 2003, ITiCSE.

[10]  Robert E. Noonan,et al.  A course in software development , 2007, SIGCSE '07.

[11]  B. Liskov Keynote address - data abstraction and hierarchy , 1988, OOPSLA '87.

[12]  Suzanne Smith,et al.  Teaching students to build well formed object-oriented methods through refactoring , 2007, SIGCSE.

[13]  Kay A. Robbins,et al.  Integrating a simulation case study into CS2: developing design, empirical and analysis skills , 2002, SIGCSE '02.

[14]  Marcia C. Linn,et al.  Case studies in the classroom , 1992, SIGCSE '92.

[15]  Landon P. Cox,et al.  Design patterns: an essential component of CS curricula , 1998, SIGCSE '98.

[16]  Daniel D. McCracken An inductive approach to teaching object-oriented design , 1999, SIGCSE '99.

[17]  Christopher H. Nevison,et al.  Using a Maze Case Study to Teach Object-Oriented Programming and Design Patterns , 2004, ACE.

[18]  Dorothy Mazaitis The object-oriented paradigm in the undergraduate curriculum: a survey of implementations and issues , 1993, SGCS.

[19]  Carolin Kreber,et al.  Learning Experientially through Case Studies? A Conceptual Analysis , 2001 .