Lecture 1 Introduction
to Object Oriented Systems and Overview of the Course
Lecture 2 Abstraction
and Encapsulation
Lecture 3 Inheritance
Lecture 4 Polymorphism
Lecture 5 Visibility Control
Lecture 6 Instantiation and Metaclasses
Lecture 7 Aggregation, Association and Using
Lecture 8 Object Orientated Control Abstractions I : Block and Boolean classes
Lecture 9 Object Orientated Control Abstractions II : Block, Integer and Collection classes
Lecture 10 Multiple Dispatch
Lecture 11
Implementing Dynamic Dispatch (C++ implementation): virtual tables, recovering the this pointer
Lecture 12
Implementing Dynamic Dispatch: inheritance hierarchies
Lecture 13
Implementing Dynamic Dispatch: Diamond Inheritance. static analysis techniques
Lecture 14
Quiz I
Lecture 15
Design Patterns. Creational Patterns: Singleton
Lecture 16
Creational Patterns: Abtsract Factory, Factory Method, Prototype, Builder
Lecture 17
Structural Patterns: Adapter, Proxy
Lecture 18
Structural Patterns: Composite, Facade
Midsemester Examination
Lecture 19
Behavioral Patterns: Strategy, Template Method, State
Lecture 20
Behavioral Patterns: Observer, Memento, Iterator
Lecture 21
Object oriented software engineering life cycle
Lecture 22
Object identification and elimination
Lecture 23
CRC
Lecture 24
Use Cases
Lecture 25
Dynamic Modeling: Interobject Interactions
Lecture 26
Surprise Test
Lecture 27
Dynamic Modeling
Lecture 28
Dynamic Modeling: An object's changing states
Lecture 29
Inheritance Anomaly: Problems
Lecture 30
Inheritance Anomaly: Solutions
Lecture 31
Issues in Distributed Object Systems - why and how
Lecture 32
Implementation Mechanisms in CORBA
Lecture 33
Filter Objects and Filter Configurations
Lecture 34
Designing a Naming Service
Lecture 35
Genericity
Lecture 36
Open Session
Design and Program Assignments
Submit your programs and designs through the submit program
Assignment 1. Modeling with inheritance and polymorphism
deadline: Friday, 8 Jan
Assignment 2. Multiple Dispatch: the multiple interacting inheritance hierarchies
deadline: Friday, 29 Jan
Assignment 3. Creational Patterns (in Java)
deadline: Monday, 15 Feb
Course Project
First Quiz: Wed, Feb 3, 11:30-12:30
Midsemester Examination: Fri, Feb 19, 14:30-16:30
Instructor: RKJ