You must attend the lab every week. During every lab there will be a short quiz --- to verify that you understand
that week's material.
Accumulator style programs.
ProfessorJ; Data definitions for simple classes, classes with containment, unions of classes.
Self-Referential Data; Methods for simple classes and classes with contaiment: Design recipes for classes.
Methods for self-referential and mutually referential class hierarchies: Design recipes for methods; Using libraries: The World teachpack.
Abstracting classes: lifting fields, lifting methods, creating a super class, a union.
Deriving classes; Data integrity; Equality.
Eclipse IDE; Intergrity of data: constructors, privacy modifiers, exceptions.
Equality; Singleton pattern; Function objects; Inner classes; (368-385).
Mutating structures; Traversals; Exceptions; Reading Javadocs; Generic algorithms.
Designing programs with iterators: recursion vs. iteration; Java loops.
Implementing ADTs; Stress tests.
Using Java libraries and algorithms: Overriding toString and equals; Writing Javadocs; Using JUnit.