| Week | Chapter | Monday | Wednesday | Friday | Lab | Project |
|---|---|---|---|---|---|---|
| 1 | 0, 1 | Course Intro | Software Engineering | The Java API | 1 | 1 |
| 2 | 2, 3 | Objects | Operations | Types and Expressions | 2 | 2 |
| 3 | 4 | Reuseable Code: Methods and Parameters | Reuseable Methods: Libraries | Introduction to GUIs | 3 | 3 |
| 4 | 5 | Controlling Behavior: Selection | Controlling Behavior: Repetition | GUIs: Buttons | 5 | 5 |
| 5 | 6 | Objects and Instance Methods | Multi-Class Programs | GUIs: Textboxes | 6 | 6 |
| 6 | 7 | Selection: if and switch Statements | Using Selection Statements | GUIs: ComboBoxes | 7 | 7 |
| 7 | 8 | Repetition: the Java Loops | Using Repetition Statements | GUIs: Dialogs | 8 | 8 |
| 8 | 9 | Arrays and array-processing methods | Multidimensional arrays | Collections | 9 | 9 |
| 9 | 10 | File I/O | Databases | Exceptions | 10 | 10 |
| 10 | 11 | Inheritance | Overloading, Overriding, and Polymorphism | OO Design | 11 | 11 |
| 11 | 12 | Lists | Stacks | Queues | 12 | 12 |
| 12 | 13 | Threads | Network Programming | Course Wrapup | 13 | 13 |
| 13 | 8.6 | Intro to Recursion | Using Recursion | Problem Session | Final Project | |