July 14, 2003
Overview and Introductions
Design recipes in HtDP:
Structure of data: containment, union
Self-referential data
Classes: data definitions, pictures, constructors
Making examples of objects
Composition
Union data definitions, pictures, examples
Self-referential data - lists and trees
Design recipes for class hierarchies
Methods for simple classes
Design recipes for methods
Methods for classes with containment
Methods for union
Abstract vs. concrete methods in the abstract class
Methods for lists, trees, and similar structures
Single point of control
Sorting
Data definitions for cyclic class hierarchies
Designing methods for cyclic class hierarchies: mutation and assignment
Abstractions
Abstracting over a list of Objects - sorting, min, max
Implementing interfaces
Comparable vs Comparator
Abstraction: Function objects (IString2Bool)
Inner classes
(Maybe) Outlook for further study:
Equality and mutation
Moving on to Java classes; reading docs