You must attend your assigned lab every week. During every lab there will be a short quiz --- to verify that you understand
that week's material.
The quiz will be graded on a pass/fail bases. If you fail the quiz, you will get no credit for the
corresponding homework.
If you fail a quiz you must see your TA to discuss the reasons for failing the quiz.
If you fail two quizzes in a row, you must see your instructor, to discuss the problems you are having.
Week | Labs |
---|
|
Review HtDP; Use class diagrams to represent data definitions; Classes with containment; Set up homework submissions; Pair up.
|
|
Designing classes of data: unions, lists, trees; Design recipe for classes.
|
|
Methods for simple classes and classes with containment; Testing.
|
|
Methods for unions, self-referential data and mutually referential data; The design recipe.
|
|
Abstracting classes: lifting fieldds, lifting methods, creating a super class, a union, deriving subclasses; Using libraries: The World teachpack.
|
|
Eclipse IDE; Intergrity of data: constructors, privacy modifiers, exceptions.
|
|
Cyclical data; ADT; Reading Javadocs --- Java Collections Hierarchy.
|
|
Mutating the contents of a structure, the structure of a structure; Testing the effects; Equality; Genericity.
|
|
Algorithms for generics; Function objects, iterators; In-situ algorithms; Stress test techniques.
|
|
Converting structural recursion to iteration; Algorithms that use direct access.
|
|
Encapsulating functional behavior: Inner classes and the singleton; Using Java libraries and algorithms; Overriding toString and equals; JUnit.
|
|
User interactions: console, GUI, network.
|
|
Network programming
|