Welcome to Object Oriented Systems
(CS 686) Homepage (2003)
Instructor: R.K.
Joshi
Slot 4: Tuesdays 9:30-10:30, Thursdays 10:30-11:30, Fridays 8:30-9:30
Room: F12
Overview of Object Oriented Systems and Course Plan
Importance of 'Design'
Learning through practice and refinements
The object canvas; technologies and linkages between them
Modern Application Architecture and issues; Processes and products
Principle of Abstraction; The 'object' abstraction
Layering of abstractions; OOPL support for abstraction- the differences;
Readings for Study: mentioned in class.
Design by contracts
Encapsulation, Onject based languages
Inheritance: Disscussion on resuability and pure extension from a
subclass point of view.
Inheritance: reuse of an abstraction from the client code point
of
view. example. hooks, template methods and concrete method
Prototype based languages.
Polymorphism: use of polymorphism and its necessity
Reuse of applications code across a changing inheritance structure
Type casting,
Shared and embedded method implementation.
virtual tables for dynamic dispatch.
Dnamic dispatch tables in presence of multiple inheritance
Diamond inheritance problem
Different binding mechanisms(combinations of dynamically bound
member functions statically bound member functions with statically
created instance and dynamically created instance) and its impact
on
method binding
Difference between the instance attributes and class attributes.
What is a "class method"? . Concept of "meta class"
What can be classified as class method?, Meta class hierarchy.
Discussion on the example of the "new" method as a class method.
Application of class methods: creation, destruction, modeling
beyond
construction, An example application: An academic registration
system
Discussion on Registration system continued-
modeling class properties vs. instance properties
Registration example continued.
Modeling Associations - association attributes.
UML
Use Case Modeling
Class Diagrams, Relations, Important adornments s.a. multiplicity, constraints,qualifier.
examples
state transition model- and example
sequqnce diagram: Book issueing example
Activity Diagrams and when to use them
Design Patterns with examples
creational, structural and behavioral patterns
Factory, Class Adapter and Object Adapter, Composite,
Template Method, Strategy, State
Observer, Facade, Prototype, Singleton, Proxy, Chain
of responsibility etc.
Open Session
Reading Material:
As will be announced from time to time: collection of papers and
articles/chapters from texts
Evaluation:
2 in-class Quizzes
2 or 3 Programming Assignments in groups of 2
1 mini-project in groups of 2
Mid-semester examination
End-semester examination - Monday April 28 2:30-5:30 pm in A2/A1
-----------------------------------------------------------------------------------------------