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:
Introduction - Administrivia
Classes - Objects
Readings: Chapters 7-8
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”.
Test Driven Design - Once routines
Tuples and Agents
Start the subject of Contracting with math libraries (MML)
Complete contracting with math libraries (MML).
Readings: See the material in the code directory.
Inheritance
Readings: Chapters 14
Design Patterns: Template Method, State
Design Pattern: Multi-panel interactive systems
Readings: Chapter 20
Multiple Inheritance
Readings: Chapters 15
Inheritance Techniques
Readings: Chapters 16
How to find the classes - Using Inheritance Well
Readings: Chapters 22,24
Design Patterns: Adapter, Composite
Design Patterns: Decorator, Command
Design Patterns: Observer, Visitor