Week | Labs | Date |
---|
|
Data Definitions; Loops, Accumulator style programs
| 1/6 |
|
ProfessorJ; Data definitions for simple classes,
classes with containment, unions, self-reference, mutual reference. Design recipes for classes
| 1/13 |
|
Designing methods, Using libraries: The World teachpack;
| 1/20 |
|
Eclipse; Intergrity of data: constructors, privacy modifiers, exceptions.
| 1/28 |
|
Abstracting classes: lifting fields, lifting methods, creating a super class, a union.
| 2/3 |
|
Circular Data; Methods for Circular Data; Equality.
| 2/10 |
|
Stateful Classes, Imperative Methods; Equality.
Testing the effects; Imperative World
| 2/17 |
|
Abstracting over the data type.
Reading and writing Javadocs.
| 2/24 |
|
Abstracting over the behavior; Traversals, Visitors, Function objects.
| 3/10 |
|
Designing programs with iterators: recursion vs. iteration; ArrayList; Java loops
| 3/17 |
|
Using Java libraries and algorithms: Overriding toString and equals; Using JUnit
| 3/24 |
|
User Interactions.
| 3/31 |
|
Using libraries (Maps, hash tables, trees, priority queues); Stress Tests
| 4/7 |
|
Project Presentations
| 4/14 |