| Date | Topic | Reading due | Classwork | Assignment Out | Assignment Due | |
|---|---|---|---|---|---|---|
| 27 | Aug | Course Overview Introduction to Computer Science | Who Are You? | |||
| 29 | Aug | Problem Solving | Operators and Expressions | Word Problems | ||
| 31 | Aug | Introduction to Java | Objects and Using Them | Introductions | ||
| 3 | Sep | Programming with Objects | Color | Transforming Images | Word Problems | |
| 5 | Sep | Events Driven Programming | Graphics | Animation | Transforming Images | |
| 7 | Sep | Making Classes | Defining Classes | Bouncers | Introductions | |
| 10 | Sep | Loops and Collections | Loops | Bouncers | ||
| 12 | Sep | Loops and Randomness | Grouping Objects | Racers | ||
| 14 | Sep | Inheritance | Inheritance and Subclasses | Smiley | Screen Savers | Racers |
| 17 | Sep | Catch-up | ||||
| 19 | Sep | Reading from Files | Reading Files | Patterns | ||
| 21 | Sep | Putting It All Together | Name Surfer | Screen Savers | ||
| 24 | Sep | Exam Review | ||||
| 26 | Sep | Exam 1 | ||||
| 28 | Sep | Exam Booster | ||||
| 1 | Oct | String Processing | Strings | String Problems | ||
| 3 | Oct | Strings and Complex Loops | String Problems | |||
| 5 | Oct | Exam and Code Review | ||||
| 8 | Oct | Fall Break - No Class | ||||
| 10 | Oct | Collections: Sets | Sets (handout) | Set Algorithms | String Problems | |
| 12 | Oct | Collection Problems | ||||
| 15 | Oct | Debugging | Loop Invariants | Loop Problems | Collection Problems | |
| 17 | Oct | Abstracting Algorithms | Algorithms | |||
| 19 | Oct | Composite Objects | Composite Pattern | Algorithms | Loop Problems | |
| 22 | Oct | Sorting and Comparators | Interfaces and Object Ordering | |||
| 24 | Oct | Matrices | Library | Pixmap Revisited | ||
| 26 | Oct | Matrices and Complex Loops | Library | |||
| 29 | Oct | Collections: Maps | Maps (handout) | Map Algorithms | ||
| 31 | Oct | Choosing Between Collections | Map Problems | Pixmap Revisited | ||
| 2 | Nov | Putting It All Together | Tag Clouds | |||
| 5 | Nov | Exam Review | Map Problems | |||
| 7 | Nov | Exam 2 | ||||
| 9 | Nov | Code Review | Arkanoid | |||
| 12 | Nov | Basic Recursion | Chapters 70 and 71 | Recursive Pictures | Recursive Art | |
| 14 | Nov | More Recursion | Chapter 72 | Directories | ||
| 16 | Nov | Recursion Lab | Chapter 73 | |||
| 19 | Nov | Recursion in the Real World | Ray Tracing, Game Trees, Expression Trees | Recursive Art | ||
| 21 | Nov | Thanksgiving - No Class | ||||
| 23 | Nov | Thanksgiving - No Class | ||||
| 26 | Nov | Web Browsing and Serving | Web Servers | Websta | ||
| 28 | Nov | Building an Interpreter | Final Project | Arkanoid | ||
| 30 | Nov | Lab Period | Optional Problems | |||
| 3 | Dec | Command Line Processing | Unix Commands | Running a Java Program | ||
| 5 | Dec | Photomosaics | ||||
| 7 | Dec | Wrap-up | Final Project | |||
| 11 | Dec | Final Exam (9am-12pm) | Details | Optional Problems | ||