| Due | Topic |
| April 27: | Dictionaries |
| Tues, April 24: | Queues |
| Mon, April 23: | Stacks (read second) |
| Mon, April 23: | Linear Structures (read first) |
| Mon, March 11: | Polymorphism Revisited |
| Fri, March 9: | Separating What from How: Interfaces in Java |
| Tues, March 6: | Polymorphism in Java |
| Mon, March 5: | Static Fields and Constants |
| Fri, March 2: | Inheritance in Java |
| Wed, February 28: | Standard Object Methods |
| Mon, February 26: | Writing Your Own Classes |
| Fri, February 22: | Object-Oriented Problem Solving |
| Wed, February 21: | Documenting Code with Javadoc |
| Wed, February 21: | An Introduction to Unix (in MathLAN) |
| Fri, February 16: | This lab has no associated reading. |
| Tues, February 13: | When Things Go Wrong: Exceptions in Java |
| Mon, February 12: | catch-up lab |
| Fri, February 9: | Arrays in Java |
| Wed, February 7: | Loops in Java |
| Tues, February 6: | Static Methods in Java |
| Mon, February 5: | catch-up lab |
| Fri, February 2: | Conditionals in Java |
| Wed, January 31: | Numeric Classes in Java |
| Tues, January 30: | Strings in Java |
| Fri, January 26: | Input and Output in Java |
| Wed, January 24: | Classes, Objects, and References in Java (read second) |
| Wed, January 24: | Primitive Data Types in Java (read first) |
| Tues, January 23: | Java Programming in Eclipse (read second) |
| Tues, January 23: | The Java Main Class and Java Packages (read first) |