| Date | Textbook | Lectures | Assignments |
| Jan 15 (R) | Chapter 1 (1.1) |
Syllabus, policies Review of programming fundamentals |
HW 01 |
| Jan 20 (T) | Chapter 1 (1.2-1.3) | Data types, conditionals, loops | _ |
| Jan 22 (R) | Chapter 1 (1.4) | Arrays | _ |
| Jan 27 (T) | Chapter 1 (1.4) | Arrays | HW 02 |
| Jan 29 (R) | Chapter 1 (1.5) | Input and output | _ |
| Feb 03 (T) | Chapter 1 (1.5) | Input and output | HW 03 |
| Feb 05 (R) | Chapter 1 (review) | Review for Midterm Exam 1 | _ |
| Feb 10 (T) | Chapter 1 | Midterm Exam 1 | _ |
| Feb 12 (R) | Chapter 2 (2.1) | Static methods | _ |
| Feb 17 (T) | Chapter 2 (2.1) | Static methods | HW 04 |
| Feb 19 (R) | Chapter 2 (2.2) | Libraries and clients | HW 05 |
| Feb 24 (T) | Chapter 2 (2.2) | Libraries and clients | _ |
| Feb 26 (R) | Chapter 2 (2.3) | Recursion | HW 06 |
| Mar 03 (T) | Chapter 2 (2.3) | Recursion | _ |
| Mar 05 (R) | Chapter 2 (2.3) | Recursive graphics | HW 07 |
| Mar 09-13 | Spring Break | No lectures or labs this week | _ |
| Mar 17 (T) | Chapter 2 (review) | Review for Midterm Exam 2 | _ |
| Mar 19 (R) | Chapter 2 | Midterm Exam 2 | _ |
| Mar 24 (T) | Chapter 3 (3.1) | Data types | HW 08 |
| Mar 26 (R) | Chapter 3 (3.1) | Data types | _ |
| Mar 31 (T) | Chapter 3 (3.2) | Creating data types | _ |
| Apr 02 (R) | Chapter 3 (3.2) | Creating data types | HW 09 |
| Apr 07 (T) | Chapter 3 (3.3) | Designing data types | _ |
| Apr 09 (R) | Chapter 3 (3.3) | Designing data types | HW 10 |
| Apr 14 (T) | Chapter 3 (review) | Review for Midterm Exam 3 | _ |
| Apr 16 (R) | Chapter 3 | Midterm Exam 3 | _ |
| Apr 21 (T) | Chapter 4 (4.1) | Performance | _ |
| Apr 23 (R) | Chapter 4 (4.2) | Sorting and searching | HW 11 |
| Apr 28 (T) | Chapter 4 (4.3) | Generic types; Java Collections Framework | HW 12 |
| Apr 30 (R) | Chapter 4 (review) | Review for Final Exam | _ |
| May 12 (T) | Chapter 4 | Final Exam 8:00 - 10:30 am | _ |