Last updated 2010 February 26

Class Schedule

The class schedule is a guide to topics that will be discussed and when they will be discussed on a weekly basis.

All slide sets are files. To save paper and ink, I suggest you do not print slides too far in advance and not before the course begins as changes may be made.

Week 1 -- January 4 & 6

Eiffel programming; classes; and objects.

Week 2 -- January 11 & 13

Agents and tuples; Software Quality & Engineering -- the context for design; What is design; Memory management; Genericity;

Week 3 -- January 18 & 20 (Report 1 due)

Basis of Design by Contract -- Assertions; Design by successive refinement (top down design)

Week 4 -- January 25 & 27 (Report 2 due)

Abstract data types and bottom up design; Referential transparency, active data structures

Week 5 -- February 1 & 3 (Class test 1)

Design by contract

Week 6 -- February 8 & 10

Exceptions; Espec; Inheritance; Inheritance and adaptation

Week 7 -- February 22 & 24 (Report 3 due)

Multiple inheritance; Inheritance and design by contract and genericity; global objects

Week 8 -- March 1 & 3

Designing classes; Design Patterns -- Adapter, Visitor

Week 9 -- March 8 & 10 (Class Test 2)

Design patterns -- Iterator, Observer

Week 10 -- March 15 & 17 (Report 4 due)

Design patterns -- Singleton, Decorator, Composite study, Composite

Week 11 -- March 22 & 24

Design patterns -- Command & do-undo case, State & Multi-panel case study

Week 12 -- March 29 & 31 (Report 5 due)

Design patterns -- Abstract Factory, Builder, Prototype

Subject to change.


Time permitting some of the following may be done


Background slides