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/9
|
|
Eclipse. Data definitions for simple classes,
classes with containment, unions, self-reference, mutual reference.
Design recipes for classes. Methods for classes.
|
9/16
|
|
Designing methods, Using libraries: The World teachpack
|
9/23
|
|
Eclipse; Intergrity of data: constructors, privacy modifiers, exceptions.
|
9/30
|
|
Data integrity; Exceptions; Equality of Data; Methods as Objects
|
10/7
|
|
Function Objects.
|
10/14
|
|
Circular Data; Methods for Circular Data;
Assignment and changes in the World.
Stateful Classes, Imperative Methods; Equality.
Testing the effects.
|
10/21
|
|
Abstracting over the data type.
Designing to interfaces.
Reading and writing Javadocs.
Direct Access Data Structures.
|
10/28
|
|
Designing programs with iterators: recursion
vs. iteration; ArrayList; Java loops
|
11/5
|
|
Abstracting over the behavior;
Traversals, Visitors, Function objects;
Writing Javadocs.
|
11/10
|
|
Using Java libraries and algorithms:
Overriding toString
and equals; Using JUnit
|
11/18
|
|
Thanksgiving... no Lab
|
11/25
|
|
User Interactions: Console, GUI.
|
12/2
|