Contents of the Object Oriented Systems course



Principles of Object Orientation: Motivations for OOP, objects and classes, abstraction and encapsulation, messages, inheritance, overriding, multiple inheritance, dynamic binding, virtual methods, inclusion polymorphism, abstract classes, virtual classes, dynamic binding mechanisms in Smalltalk and C++, OO notations, CRC method for designing classes, interclass relationships

Comparative study of OO languages: purity in object orientation - the Smalltalk paradigm, comparative study of constructs from some typical object oriented programming languages such as Smalltalk, Eiffel, JAVA and C++

Object Oriented Analysis and Design: Introduction to object oriented software engineering, use case analysis, object diagrams, dynamic models - object interaction diagrams and state diagrams, functional model, from analysis to design, relevant topics from various methodologies such as Jacobson, Rumbaugh, Booch and Unified Methodology

Elements of Design Reuse: Object oriented design patterns

Object Oriented Concurrent and Distributed Systems: active objects, Charm++, Subcontracting, object oriented concurrency mechanisms, CORBA standard

Advanced Concepts: inheritance anomaly, reflection in object oriented systems, multiple interfaces, filter objects, compositional filters, business objects, meta-objects


Texts/References:

Timothy Budd, Introduction to Object Oriented Programming, Addison-Wesley, 1991

A. Goldberg, Smalltalk - 80 : The Language and its Implementation, Addison-Wesley, 1983

M. Ellis, B. Stroustrup, Annotated C++ reference manual, Addison-Wesley, 1990

James Gosling et al., The Java Language Specification

Bertrand Meyer, Object Oriented Software Construction, Prentice Hall, 1988

Ivar Jacobson, Object Oriented Software Engineering : A Use Case Driven Approach, Addison-Wesley, 1992

Grady Booch, Object Oriented Analysis and Design, 2nd ed., Benjamin/Cummings, 1994

James Rumbaugh et al., Object-Oriented Modeling and Design, Prentice Hall, 1991

Eric Gamma et al., Design Patterns, Addison-Wesley, 1995

Gul Agha et al., Research Directions in Concurrent Object Oriented Programming, MIT Press, 1993

Technical reports and research papers from selected journals