You must attend the lab every week.
You should complete at home any part of the lab you did not finish during the lab time. At times, we expect that the
lab has to be finished at home: The goal is to give you a guidance in how to apply the concepts we have learned in a concrete
situation, and the lab materials act as a tutorial.
Week | Labs | Date |
---|
|
Data Definitions; Loops, Accumulator style programs
| 9/10 |
|
ProfessorJ; Data definitions for simple classes,
classes with containment, unions, self-reference, mutual reference.
Design recipes for classes. Methods for classes.
| 9/17 |
|
Designing methods, Using libraries: The World teachpack;
| 9/24 |
|
Eclipse; Intergrity of data: constructors, privacy modifiers, exceptions.
| 10/1 |
|
Data integrity; Exceptions; Equality of Data; Methods as Objects
| 10/8 |
|
Circular Data; Methods for Circular Data;
Assignment and changes in the World.
| 10/15 |
|
Stateful Classes, Imperative Methods; Equality.
Testing the effects; Abstracting over the data type.
| 10/22 |
|
Designing to interfaces.
Reading and writing Javadocs.
| 10/29 |
|
Abstracting over the behavior; Traversals, Visitors, Function objects;
Writing Javadocs.
| 11/5 |
|
Designing programs with iterators: recursion vs. iteration; ArrayList; Java loops
| 11/12 |
|
Using Java libraries and algorithms: Overriding toString and equals; Using JUnit
| 11/19 |
|
No lab - Thanksgiving
| no lab |
|
User Interactions: Console, GUI.
| 12/3 |