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