The following is a tentative schedule of the lecture material and reading assignments. Reading assignments refer to sections or chapters in Arnold and Gosling (AG) or Standish (S).
| Lecture Date | Topic | Reading | Assignments |
| Lecture 1, Aug. 25 | Overview | AG 1 (skim) | |
| Lecture 2, Aug. 27 | Classes and Objects | AG 2, S 2 | |
| Lecture 3, Aug. 29 | Expressions | AG 5.1-5.7 | Lab 1 |
| No lecture, Sep. 1 | Holiday | ||
| Lecture 4, Sep. 3 | Control | AG 6 | HW 1 due |
| Lecture 5, Sep. 5 | Linked Structures | S 3 | no lab |
| Lecture 6, Sep. 8 | Extending Classes | AG 3 | |
| Lecture 7, Sep. 10 | Abstract Classes | AG 4 | HW 2 due |
| Lecture 8, Sep. 12 | Interfaces | S 4 | Lab 2 |
| Lecture 9, Sep. 15 | Specifying ADTs | S 5 | |
| Lecture 10, Sep. 17 | Project Management | HW 3 due | |
| Lecture 11, Sep. 19 | Stacks and Queues | S 6 | Lab 3 |
| Lecture 12, Sep. 22 | Arrays | AG 5.8-5.20 | |
| Lecture 13, Sep. 24 | Lists | S 7 | PJ 1 due |
| Lecture 14, Sep. 26 | Strings | AG 8 | Lab 4 |
| Lecture 15, Sep. 29 | Dynamic Memory | ||
| Lecture 16, Oct. 1 | Midterm 1 | Covers L 1-14 | |
| Lecture 17, Oct. 3 | Dynamic Memory | AG 10 | Lab 5 |
| Lecture 18, Oct. 6 | Packages and Big-O | ||
| Lecture 19, Oct. 8 | Trees | S 8.1-8.3 | HW 4 due |
| Lecture 20, Oct. 10 | Heaps | S 8.4-8.5 | Lab 6 |
| Lecture 21, Oct. 13 | Traversals, Enumerations | S 8.6 | |
| Lecture 22, Oct. 15 | Binary Search Trees | S 8.7 | HW 5 due |
| Lecture 23, Oct. 17 | Balanced Trees | S 8.9 | Lab 7 |
| Lecture 24, Oct. 20 | Tries | S 8.10-8.11 | |
| Lecture 25, Oct. 22 | Hash Tables | S 9.1-9.3 | HW 6 due |
| Lecture 26, Oct. 24 | Hashing Pragmatics | S 9.4-9.7 | Lab 8 |
| Lecture 27, Oct. 27 | Sorting | S 10.1-10.4 | |
| Lecture 28, Oct. 29 | Sorting | S 10.5-10.6 | PJ 2 due |
| Lecture 29. Oct. 31 | Sorting | S 10.7-10.8 | Lab 9 |
| Lecture 30, Nov. 3 | Sorting | ||
| Lecture 31, Nov. 5 | Review, Sorting Video | Covers L 1-28 | |
| Lecture 32, Nov. 7 | Midterm 2 | AG 7 | Lab 10 |
| Lecture 33, Nov. 10 | Networks Contest | ||
| Lecture 34, Nov. 12 | Java Exceptions | HW 7 due | |
| Lecture 35, Nov. 14 | Graphs | S 8.12-8.13 | Lab 11 |
| Lecture 36, Nov. 17 | Graphs, Cloning | S 8.14-8.15 | |
| Lecture 37, Nov. 19 | C++ Intro | HW 8 due | |
| Lecture 38, Nov. 21 | Con/De-structors | Lab 12 | |
| Lecture 39, Nov. 24 | More C++ | ||
| Lecture 40, Nov. 26 | C++ Templates | HW 9 due | |
| No lecture, Nov. 28 | Holiday | no lab | |
| Lecture 41, Dec. 1 | Java AWT | ||
| Lecture 42, Dec. 3 | C++ Inheritance | Handout | PJ 3 due |
| Lecture 43, Dec. 5 | Review | Lab 13 |