Keynote address - data abstraction and hierarchy
OOPSLA '87 Addendum to the proceedings on Object-oriented programming systems, languages and applications (Addendum)
The case for case studies of programming problems
Communications of the ACM
SIGCSE '92 Proceedings of the twenty-third SIGCSE technical symposium on Computer science education
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Traffic simulation: a case study for teaching object oriented design
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
Design patterns: an essential component of CS curricula
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
SIGCSE '99 The proceedings of the thirtieth SIGCSE technical symposium on Computer science education
An inductive approach to teaching object-oriented design
SIGCSE '99 The proceedings of the thirtieth SIGCSE technical symposium on Computer science education
Object-Oriented Software Construction
Object-Oriented Software Construction
Integrating a simulation case study into CS2: developing design, empirical and analysis skills
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
Teaching objects early and design patterns in Java using case studies
Proceedings of the 8th annual conference on Innovation and technology in computer science education
Using a maze case study to teach: object-oriented programming and design patterns
ACE '04 Proceedings of the Sixth Australasian Conference on Computing Education - Volume 30
Journal on Educational Resources in Computing (JERIC)
A course in software development
Proceedings of the 38th SIGCSE technical symposium on Computer science education
Teaching students to build well formed object-oriented methods through refactoring
Proceedings of the 38th SIGCSE technical symposium on Computer science education
Hi-index | 0.00 |
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.