Workshop: How to Design Class Hierarchies

Viera K. Proulx

July 14, 2003

Day 1

Monday am:

Overview and Introductions
Design recipes in HtDP:

Monday pm:

Classes: data definitions, pictures, constructors
Making examples of objects
Composition
Union data definitions, pictures, examples

Day 2

Tuesday am:

Self-referential data - lists and trees

Tuesday pm:

Design recipes for class hierarchies
Methods for simple classes

Day 3

Wednesday am:

Design recipes for methods
Methods for classes with containment

Wednesday pm:

Methods for union
Abstract vs. concrete methods in the abstract class

Day 4:

Thursday am:

Methods for lists, trees, and similar structures
Single point of control
Sorting
Data definitions for cyclic class hierarchies

Thursday pm:

Designing methods for cyclic class hierarchies: mutation and assignment

Day 5:

Friday am:

Abstractions
Abstracting over a list of Objects - sorting, min, max
Implementing interfaces
Comparable vs Comparator

Friday pm:

Abstraction: Function objects (IString2Bool)
Inner classes
(Maybe) Outlook for further study:

Last modified: Friday, July 11th, 2003
HTML conversion by TeX2page 2004-09-11