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.
Course calendar.
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 |