The following shows the topics to be covered during each lecture and laboratory meeting during the semester. Students should consult this page regularly to see the most current version of the schedule of topics and readings. Students should come to class having at least perused the indicated readings.
| Date | Topic | Reading |
| 1. Wed Jan 4 | Programming | 0.1-2, 1.1-10 |
| 2. Thu Jan 5 | Graphics and Names | 2.1-3 |
| L01. Fri Jan 6 | Java Introduction (Sign) | |
| 3. Mon Jan 9 | Numeric Expressions | 2.4-8, 3.1-8 |
| 4. Wed Jan 11 | Randomness and Choice | 3.9-12, 4.1-3 |
| L02. Thu Jan 12 | Conditionals (Laundry Sorter) | |
| 5. Fri Jan 13 | Conditionals | 4.4-9 |
| ************ | MLK Study Day | |
| 6. Wed Jan 18 | Primitive Types and Strings | 5.1-8 |
| L03. Thu Jan 19 | Numerics (Triangle Calculator) | |
| 7. Fri Jan 20 | Defining New Classes | 6.1-2 |
| 8. Mon Jan 23 | More on Classes | 6.3-5 |
| 9. Wed Jan 25 | Parameters | 6.6-9 |
| L04. Thu Jan 26 | Classes (Push Ball) | |
| 10. Fri Jan 27 | Repetition | 7.1-3 |
| 11. Mon Jan 30 | More Repetition | 7.4 -11 |
| 12. Wed Feb 1 | Helper Methods, Declarations, & Scope | 8.1-6 |
| L05. Thu Feb 2 | Repetition (Checkerboard & Stars) | |
| 13. Fri Feb 3 | Midterm Exam 1 (50 pts) Review here | Ch 1-7 |
| 14. Mon Feb 6 | Active Objects (Pong) | 9.1-4 |
| 15. Wed Feb 8 | Active Objects (Pong) | 9.5-8 |
| L06. Thu Feb 9 | Active Objects (Box Ball) | |
| 16. Fri Feb 10 | Active Objects (Snow) | 9.9-11 |
| 17. Mon Feb 13 | Interfaces | 10.1-6 |
| 18. Wed Feb 15 | GUIs | 11.1-4 |
| L07. Thu Feb 16 | Loops and Simple Threads (Frogger) | |
| 19. Fri Feb 17 | GUIs | 11.5-10 |
| 20. Mon Feb 20 | Patterns and General Loops | 13.1-7 |
| 21. Wed Feb 22 | Arrays | 14.1-4 |
| L. Thu Feb 23 | Programming Exam 1 (100 pts) | |
| 22. Fri Feb 24 | Midterm Exam 2 (50 pts) Review here | Ch 1-11, 13 |
| ************* | Spring Break | |
| 23. Mon Mar 6 | More Arrays | 14.5-7 |
| 24. Wed Mar 8 | More Arrays | 14.8-10 |
| L08. Thu Mar 9 | Arrays (Music Studio) | |
| 25. Fri Mar 10 | Object-Oriented Program Design | 21.1-4 |
| 26. Mon Mar 13 | Inheritance | 17.1-9 |
| 27. Wed Mar 15 | Two-dimensional Arrays | 15.1-2 |
| 28. Thu Mar 16 | Two-dimensional Arrays | 15.2-5 |
| L09. Fri Mar 17 | More Arrays (Nibbles) | |
| 29. Mon Mar 20 | Strings | 16.1-6 |
| 30. Wed Mar 22 | Exceptions | 18.1-10 |
| L. Thu Mar 23 | Programming Exam 2 (50 pts) | |
| 31. Fri Mar 24 | Streams | 19.1-4 |
| 32. Mon Mar 27 | Midterm Exam 3 (50 pts) Review here | Ch 13-15, 17, 21 |
| 33. Wed Mar 29 | Streams | 19.5-8 |
| L10. Thu Mar 30 | Strings and Streams (Ciphers, Web Links, and Groceries) | |
| 34. Fri Mar 31 | Recursive Data Structures | 12.1 |
| 35. Mon Apr 3 | Recursive Data Structures | 12.1-2 |
| 36. Wed Apr 5 | Recursive Methods | 12.2-5 |
| L11. Thu Apr 6 | Recursion (Fractals and Towers) | |
| 37. Fri Apr 7 | Searching | 20.1 |
| 38. Mon Apr 10 | Searching & Sorting | 20.2-3 |
| 39. Wed Apr 12 | Sorting | 20.3-6 |
| L. Thu Apr 13 | Programming Exam 3 (100 pts) | |
| Tue Apr 18 1:00pm-3:00pm |
Final Exam (75 or 100 pts) Review here |