This is an old revision of the document!
Table of Contents
Course Outline
Since the two sections will be slightly out of sync throughout the term, the following lists the topics to be discussed with only approximate timing:
Week 1
Introduction - Administrivia
Week 2
Classes - Objects
Readings: Chapters 7-8
Week 3
Genericity - Design by Contract
Readings: Chapter 10 - 11
Information Hiding and class LIST[G] as an example of information hiding. See index to textbook OOSC2 for pages referring to “information hiding”.
Week 4
Test Driven Design
Week 5
Tuples and Agents
Start the subject of Contracting with math libraries (ML)
Week 6
Complete contracting with math libraries (ML)
Midterm
Week 7
Inheritance
Readings: Chapters 14
Design Patterns: Template Method, State
Design pattern: Multi-panel interactive systems
Readings: Chapter 20
Week 8
Multiple Inheritance - Inheritance Techniques
Readings: Chapters 15-16
Week 9
How to find the classes - Using Inheritance Well
Readings: Chapters 22,24
Week 10
Design Patterns: Adapter, Composite
Week 11
Design Patterns: Decorator, Command
Week 12
Design Patterns: Observer, Visitor