| Date  | Topic and/or Event | Readings | 
| September 6 | Lecture 01: Introduction and Overview; Lab 0; Lab 0: Setting Up | J+DS zyBook Ch. 1-6; Topic Notes: Introduction and Overview | 
| September 8 | Lecture 02: Java Review: Arrays | J+DS zyBook Ch. 7; Topic Notes: Arrays Review | 
| September 11 | Lecture 03: Java Review: Arrays and Methods | J+DS zyBook Ch. 8; Topic Notes: Methods | 
| September 13 | Lecture 04: Lab 1 Introduction; Project 1 Introduction; Lab 1: Array Practice; Programming Project 1: Lottery Simulator |  | 
| September 15 | Lecture 05: Custom Classes | J+DS zyBook Ch. 9.1-9.5; Topic Notes: Custom Classes | 
| September 18 | Lecture 06: Generic Classes |  | 
| September 20 | Lecture 07: Generic Classes; Lab 2: Working with Classes | Topic Notes: 2D Arrays | 
| September 22 | Lecture 08: Abstract Data Types | Bailey Ch. 1.5, Ch. 4.2.1 | 
| September 25 | Lecture 09: The ArrayList and Vector ADTs; Programming Project 2: Working with Highway Data | J+DS zyBook Ch. 9.6-9.19 | 
| September 27 | Lecture 10: Lab 3 Introduction; Lab 3: ArrayList Practice |  | 
| September 29 | Lecture 11: Complexity and Asymptotic Analysis | J+DS zyBook Ch. 10; Bailey Ch. 5.1; Topic Notes: Complexity and Asymptotic Analysis | 
| October 2 | Lecture 12: Complexity and Asymptotic Analysis |  | 
| October 4 | Exam 1, during lab time |  | 
| October 6 | Lecture 13: Introduction to Recursive Methods | J+DS zyBook Ch. 11; Topic Notes: Recursive Methods | 
| October 9 | Lecture 14: More Recursion |  | 
| October 11 | Lecture 15: Recursion Lab; Lab 4: Recursion |  | 
| October 13 | No Class: College Holiday |  | 
| October 16 | Lecture 16: Searching | J+DS zyBook Ch. 12; Topic Notes: Searching and Sorting | 
| October 18 | Lecture 17: Searching and Sorting; Lab 5: Searching and Sorting; Programming Project 3: Sorting with Comparators |  | 
| October 20 | No Class: CCSC Eastern Conference |  | 
| October 23 | Lecture 18: Sorting Wrapup |  | 
| October 25 | Lecture 19: Introduction to Linked Lists; Lab 6: Introduction to Linked Lists | Topic Notes: Linked Structures; J+DS zyBook Ch. 14.1-14.4; Bailey Ch. 9 | 
| October 27 | Lecture 20: Linked Lists |  | 
| October 30 | Lecture 21: More Linked Lists | J+DS zyBook Ch. 14.5-14.9 | 
| November 1 | Exam 2, during lab time |  | 
| November 3 | Lecture 22: Iterators and the List Interface; Lab 7: Iterators and More Lists | Topic Notes: Iterators | 
| November 6 | Lecture 23: Linear Structures: Stacks and Queues | Topic Notes: Linear Structures | 
| November 8 | Lecture 24: Work on Lab 7 |  | 
| November 10 | Lecture 25: Linear Structure Implementations |  | 
| November 13 | Lecture 26: Ordered Structures; Programming Project 4: P.S.: It's Just a Stack out | Bailey Ch. 11; Topic Notes: Ordered Structures | 
| November 15 | Lecture 27: Stack Lab and Tree Intro; Lab 8: A Little Stack Practice | J+DS zyBook Ch. 16.1-16.7 | 
| November 17 | Lecture 28: Binary Trees | Topic Notes: Binary Trees | 
| November 20 | Lecture 29: Binary Search Trees | Topic Notes: Binary Search Trees | 
| November 22 | No Lab: Happy Thanksgiving! |  | 
| November 24 | No Class: Happy Thanksgiving! |  | 
| November 27 | Lecture 30: AVL Trees; Programming Project 5: Best Of |  | 
| November 29 | Exam 3, during lab time |  | 
| December 1 | Lecture 31: Priority Queues and Heaps | Topic Notes: Priority Queues and Heaps; J+DS zyBook Ch. 16.11 | 
| December 4 | Lecture 32: More Heaps and Priority Queues; Heapsort |  | 
| December 6 | Lecture 33: Trees Lab; Lab 9: Trees; Lab 10/Bonus: Huffman Trees |  | 
| December 8 | Lecture 34: Huffman Trees; Maps and Hashing | Topic Notes: Huffman Trees; Topic Notes: Maps and Hashing; J+DS zyBook Ch. 17; Bailey Ch. 15 | 
| December 11 | Lecture 35: Hashing; Java API; Wrapup and Looking Ahead | Topic Notes: Some Java API Classes | 
| December 14 | Final Exam, 4-7 PM, Roger Bacon 328 |  | 
|  |