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

-----------------------------------------------------------------------------------------------
 

past pages