Welcome to Object Oriented Systems (CS 686) Homepage
Instructor: R.K. Joshi

Previous: OOS2001OOS 2000 OOS 1999 OOS 1998

Slot: 4
Timings: Tuesday 9:30-10:30, Thursday: 10:30-11:30, Friday 8:30-9:30
Friday slot rescheduled to :Wednesday 4:00-5:00 + some extra classes to
make up for holidays
 

Lecture 1:         Overview of Object Oriented Systems and Course Plan
1/1/2002

Lecture 2          Models and Metamodels, OOP
2/1/2002

Lecture 3          Designing interfaces and interactions
4/1/2002

Lecture 4          Interfaces and Interactions
8/1/2002

Lecture 5         Abstraction and Encapsulation
9/1/2002

Lecture 6         Design by Contract
10/1/2002

Lecture 7.1       Different Levels of Contract Specifications
15/1/2002

Lecture 7.2       The Notion of Inheritance
15/1/2002

Lecture 8          Inheritance:  pure extension vs. specialization, benefits of inheritance,
16/1/2002          metapatterns and their modeling features: example

Lecture 9          Inheritance: conceptual compatibility, incompatibility: example
17/1/2002         contractual view

Lecture 10       Multiple Inheritance: modeling with, examples
22/1/2002

Lecture 11        Narrowing and Widening; applications;
23/1/2002        Interface navigation and Generic Services

Lecture 12        Contract visibility in inheritance hierarchies
24/1/2002

Lecture 13        Self and Super;
29/1/2002         binding self and super: dynamic?static?

Lecture 14        Method binding; top-down vs. bottom-up search
30/1/2002        'open-closed' behavior

Lecture 15        Implementing member functions; embedded vs. shared implementation;
31/1/2002        'this' for free

Lecture 16       Implementing Dynamic Dispatch - I
5/2/2002

Lecture 17       Implementing Dynamic Dispatch - II
6/2/2002

Lecture 18        instance-of relationship; metaclasses, programming class properties;
7/2/2002          aggregate properties over all objects;

Lecture 19        On 5 levels of instance-of relationships;
12/2/2002         Smalltalk model of instance-of

Lecture 20        Pure Object Orientation: A comparative study
13/2/2002        Object Oriented Control Constructs of Smalltalk

Lecture 21        Pure Object Orientation
14/2/2002        Object Oriented Control Constructs of Smalltalk

19/2/2002       Midsemester Examination

Lecture 22        Principles of Reuse: use vs. reuse; why and what to reuse?
4/3/2002           associated costs; generality vs performance;

Lecture 23        Design Reuse; from metapatterns to frameworks;
5/3/2002           horizontal vs. vertical frameworks; partial implementations;
                        examples;

Lecture 24        Creational Patterns; Structural Patterns; Behavioral Patterns;
6/3/2002           designing a singleton;

Lecture 25        Implementing the singleton;
7/3/2002           Creation with Prototypes; an example of a graphical editor

Lecture 26        Creation as a hook; factory method pattern;
13/3/2002          create dependency; why is factory method a 'pattern'?
                        classes as creators vs. instances as creators

Lecture 27        Creating product families - Abstract factory;
14/3/2002          Builder

Lecture 28      The problem of Composites; an example;
15/3/2002       moving from object diagrams to class diagram;
                        design alternatives

Lecture 29        Design of Composite contd.
19/3/2002

Lecture 30        Intermediate place-holders; object diagram;
20/3/2002          structuring the Proxy

Lecture 31        Plugging existing implementations into a new hierarchy;
21/3/2002          Adapters; an example; structuring of the adapter;

                        Separating iterators from a collection; Design of an Iterator

Lecture 32        Plugging intermediate actions; Decoration;
22/3/2002          Structuring the decorator; an example;  design alternatives;

Lecture 33         A technique for implementing multiple polymorphism
26/3/2002

Lecture 34        Observers: an example; constructing the static and
27/3/2002          dynamic models

Lecture 35        Part-Whole Relationships - six categories
28/3/2002

2/4/2002        Quiz

Lecture 36        Implications of part-whole categorization to OO modeling;
4/4/2002           Part-Whole categorization in UML;

Lecture 37        Software Life Cycle models; Unified Process view of the lifecycle
5/4/2002            Use case modeling; with examples

Lecture 38        Coad and Yourdon Analysis; with examples
9/4/2002

Lecture 39        Coad and Yourdon contd.
10/4/2002

Lecture 40        The CRC
11/4/2002

Lecture 41        Dynamic Modeling Techniques;
16/4/2002         An overview of what we did not cover and further references;

Lecture 42        State Charts - an example;
17/4/2002         An invited speech by Prof. Soman - an application of OO Modeling

Lecture 43        Sequence Diagram - an example; Activity Diagram - exercises;
18/4/2002         Applying OO modeling to business process reengineering
                        Your Questions
 

Schedule for course project vivas is in your mailbox.

24/4/2002            End-semester Examination
                            during 2:30-5:30 pm in A1/A2