| DAY # | TOPICS | ASSIGNMENTS | 
|---|---|---|
| 1 | Object Oriented Programming JavaTM Program Structure; Primitives Control Flow Arrays Objects  | Lab 1: JavaTM Basics, problems 1-4 | 
| 2 | Classes vs. Objects/Instances Method Overloading Inheritance Abstract Superclasses Interfaces Polymorphism Method Overriding  | Lab 1 (cont.): Balls and Boxes, problem 7 | 
| 3 | Hashing Data Structures Collections, Advanced Control Flow  | Lab 2: Madlibs | 
| 4 | Advantages, Disadvantages of Writing Interfaces, Abstract Classes True Subtyping, Composite Throwing and Catching Exceptions Nested Classes Floating Point Precision Defensive Programming Writing a Graph and Depth-First Search Algorithm  | Lab 3: Comparators and Ordering | 
| 5 | Review, Question and Answer, Writing an Address Book Program that Loads and Stores Files to Disk | Optional Homework 1 Catch up on API reading for Collection, List, Map, Set, Comparator, Comparable, String, Object, Iterator, Iterable and any other class you are interested in Optional Homework 2 Do optional 6.170 labs: JavaTM Basics; JUnit and JavaTM Libraries; Eclipse Debugger; Constructing GUIs with Swing  |