| Date  | Topic and/or Event | Readings | 
| August 24 | Lecture 1: Lab 0 |  | 
| August 25 | Lecture 2: Introduction and Overview; Java Review | Topic Notes: Introduction and Overview; Topic Notes: About Java | 
| August 27 | Lecture 3: Java Review | J+DS zyBook Ch. 1-7; Topic Notes: Two-Dimensional Arrays | 
| August 31 | Lecture 4: Lab 1 |  | 
| September 1 | Lecture 5: Custom Classes; Memory Diagrams | Topic Notes: Java Classes | 
| September 3 | Lecture 6: The ArrayList ADT | Topic Notes: The ArrayList | 
| September 7 | Lecture 7: Lab 2 | J+DS zyBook Ch. 8-10 | 
| September 8 | Lecture 8: ArrayList Practice |  | 
| September 10 | Lecture 9: ArrayList Practice |  | 
| September 14 | Lecture 10: Lab 3 |  | 
| September 15 | Lecture 11: Big O Complexity | Topic Notes: Complexity and Asymptotic Analysis; J+DS zyBook Ch. 10 | 
| September 17 | Lecture 12: Generic Classes; Introduction to Recursion | Topic Notes: General Purpose Classes | 
| September 21 | No Lab: optional Review Time in RB 340 instead |  | 
| September 22 | Lecture 13: Recursion | J+DS zyBook Ch. 11 | 
| September 24 | Exam 1 During Class |  | 
| September 28 | Lecture 14: Lab 4 |  | 
| September 29 | Lecture 15: Introduction to Linked Lists | Topic Notes: Linked Structures; J+DS zyBook Ch. 12-13 | 
| October 1 | Lecture 16: Linked Lists |  | 
| October 5 | Lecture 17: Lab 5 |  | 
| October 6 | Lecture 18: More on Linked Lists; Iterators |  | 
| October 8 | Lecture 19: Linear Structures | Topic Notes: Linear Structures | 
| October 12 | Lecture 20: Lab 6 |  | 
| October 13 | Lecture 21: Introduction to Tree Structures | Topic Notes: Trees | 
| October 15 | Lecture 22: Binary Search Trees |  | 
| October 19 | Lecture 23: Lab 7 |  | 
| October 20 | Lecture 24: Heaps and Priority Queues | Topic Notes: Priority Queues | 
| October 22 | Lecture 25: Balanced Binary Search Trees | Topic Notes: Balanced Binary Search Trees | 
| October 26 | No Lab: Exam Review Time in RB 340 instead |  | 
| October 27 | Lecture 26: Huffman Trees | Topic Notes: Huffman Trees | 
| October 29 | Exam 2 During Class |  | 
| November 2 | Lecture 27: Lab 8 |  | 
| November 3 | Lecture 28: More Trees |  | 
| November 5 | Lecture 29: More Trees |  | 
| November 9 | Lecture 30: Lab 9 |  | 
| November 10 | Lecture 31: Introduction to Hashing | Topic Notes: Maps/Dictionaries and Hashing | 
| November 12 | Lecture 32: Hashing |  | 
| November 16 | Lecture 33: Lab 10 |  | 
| November 17 | Lecture 34: Hashing; Coding a Huffman Tree |  | 
| November 19 | Lecture 35: Course Wrapup; Completing the Huffman Tree |  | 
| November 23 | Review Session: 3:30-4:30 PM, RB 340 |  | 
| November 24 | Final Exam: 4-6 PM, RB 412 |  | 
|  |