| Date | Topics | Reading | Due dates |
|---|---|---|---|
| August 23 (Th) | About the course (Notes) | ||
| August 28 (T) | Objects and classes; Java basics (Notes) | T:1 (skim); T:2; C2J:1-9 (skim) | |
| August 30 (Th) | UML diagrams; inheritance in Java (Notes) | C2J:10-11 | Homework 1 (design) |
| September 4 (T) | Interfaces in Java; packages and importing; generics (Notes) | C2J:12-16 | |
| September 6 (Th) | No class | ||
| September 11 (T) | No class | ||
| September 13 (Th) | No class | ||
| September 18 (T) | A little more about generics; arrays (Notes) | C2J:18 | Homework 1 (code) |
| September 20 (Th) | String processing (Notes) | C2J:17; API for java.lang.String | Quiz 1; Homework 2 (design) |
| September 25 (T) | Sorting, searching, and manipulating arrays (Notes) | T:11 (sections 1-8) | Homework 2 (code) |
| September 27 (Th) | Exceptions (Notes) | Quiz 2 | |
| October 2 (T) | Array-based stacks and queues (Notes) | T:6 (sections 1-3, 5); T:7 (sections 1-3, 6-7) | |
| October 4 (Th) | More about homework; review for midterm (Notes) | Quiz 3; Homework 3 (design) | |
| October 9 (T) | Midterm exam (Review in HTML, PDF) | Homework 3 (code) | |
| October 11 (Th) | Linked lists (Notes) | T:4 | |
| October 16 (T) | Iterators (Notes) | T:8 | Homework 4 (design) |
| October 18 (Th) | List-based stacks and queues (Notes) | T:6 (sections 4, 6-7); T:7 (sections 4-5, 8) | Homework 4 (code) |
| October 23 (T) | Priority queues; GUIs in Java (Notes) | Sun's tutorial Learning Swing by Example | Quiz 4 |
| October 25 (Th) | GUIs in Java, continued (Notes) | C2J:20 | Homework 5 (design) |
| October 30 (T) | No class | ||
| November 1 (Th) | Graphics in Java (Notes) | C2J:21;Sun's tutorial Implementing a Custom Component | Homework 5 (code) |
| November 6 (T) | Graphics in Java, continued (Notes) | Sun's tutorial 2D Graphics (skim) | |
| November 8 (Th) | Recursion (Notes) | T:10; T:11 (sections 9-10) | Homework 6 (design) |
| November 13 (T) | Trees and sorted binary trees (Notes) | T:12; T:13 (sections 1-3); T:15 (sections 1, 3, 5) | Quiz 5 |
| November 15 (Th) | Heaps and heap-based priority queues (Notes) | T:15 (sections 1, 3, 5) | Homework 6 (code) |
| November 20 (T) | No class | ||
| November 22 (Th) | No class (holiday) | ||
| November 27 (T) | Files and I/O in Java (Notes) | Sun's tutorial I/O (skim) | Quiz 6; Homework 7 (design) |
| November 29 (Th) | Multithreading in Java (Notes) | Sun's tutorial Concurrency (skim) | |
| December 4 (T) | A little about networking; course wrap-up and evaluations (Notes) | Sun's tutorial Custom Networking (skim) | Homework 7 (code) |
| December 7 (noon) | Homework 8 (design) | ||
| December 12 (8:30am) | Final exam (Review in HTML, PDF) | Homework 8 (code) |