CSPP 51023
OO Architect., Design, & MethodologyPrerequisites: Immersion
Catalog Description: This course examines issues involved in developing object-oriented software, focusing primarily on systems design. We examine some of the various tools used, including UML, design patterns, and languages and environments as well. The course includes both lecture as well as seminar formats. Object oriented software development is at the leading edge of current industry activity, and a student who comes out with a substantial knowledge of the concepts and strategies involved is highly marketable.
Long Description: This course concentrates on three major themes in Object-Oriented Software development: Software Architecture, Object Oriented Analysis and Design, and Method. The bulk of the course involves key concepts in Object-Oriented Analysis and Design, coming to an in-depth understanding of terms such as inheritance, encapsulation, polymorphism, abstraction, class, etc. The process methods include the two most popular processes: Rational Unified Process and XP. The design notation is the Unified Modeling Language (UML). Each of these topics is covered in depth. Another key focus of the course is coverage of design patterns, a significant topic in today’s development efforts. This course is not, however, a course in Object-Oriented Programming. Rather, this course is abstracted a level up, and focuses on principles, concepts, processes, methods, and best practice models that transcend and yet can be implemented with (most) any object-oriented programming language. That said, code examples are provided in various OO languages (Smalltalk, Eiffel, Java, C++, Common Lisp Object System) in order to further illuminate the concepts being discussed, and to note differences in interpretation among various languages. However it is the concepts that are central, not their particular implementations. A primary focus of the course is to come to terms with many common patterns in software design, which provide proven and repeatable templates on which to base implementations.
Instructors: Mark ShackletteQuarter offered: Various
Last Verified by Leo Irakliotis on 5 May, 2005.

