Calendar

The calendar below provides information on the lecture and assignment topics for the course. All assignments are due the next class day after they are assigned.

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