| Date | Topic | Reading due | Classwork | Assignment Due | |
|---|---|---|---|---|---|
| 28 | Aug | Introduction Course Details | Survey Bins | ||
| 30 | Aug | Design in the Small | Open Closed Principle Tell Don't Ask Code Smells | Anagrams | |
| 1 | Sep | Comparing C++ and Java | Comparing C++ and Java Java vs. C++ | ||
| 4 | Sep | Recitation: C++ | Translating Roulette | Introductions | |
| 6 | Sep | Markup Languages: HTML and XML | |||
| 8 | Sep | C++ Basics | TiVOO #1 | ||
| 11 | Sep | Recitation: Refactoring | Extending Roulette | TiVOO #2 Roulette #1 | |
| 13 | Sep | Pointers and STL | Wordlines | ||
| 15 | Sep | STL Details | Counter | ||
| 18 | Sep | Guest: Brian Goldfarb, Microsoft | TiVOO #3 Roulette #2 | ||
| 20 | Sep | Code Review: TiVOO | |||
| 22 | Sep | Automating Testing | |||
| 25 | Sep | Recitation: Refactoring TiVOO | TiVOO #4 | ||
| 27 | Sep | TiVOO #4.1 | |||
| 29 | Sep | Design Principles Revisited | HTML Writer | ||
| 2 | Oct | TiVOO Retrospective | XP Chapters 10,11 McCarthy Chapter 1 | TiVOO #5 | |
| 4 | Oct | Design Patterns | Design Patterns Foundation Patterns | ||
| 6 | Oct | No Class | TiVOO #6 | ||
| 9 | Oct | No Class - Fall Break | |||
| 11 | Oct | Web Protocols | HTTP Protocol Java URL Class Web Servers | TiVOO #7 | |
| 13 | Oct | GUIs and Events | User Interfaces that Swing Using Swing Components | Events | |
| 16 | Oct | Recitation: Project Planning | Websta #1 | ||
| 18 | Oct | Reflection | The Reflection API | ShowClass MethodButton | |
| 20 | Oct | Networking | Custom Networking | Chat | |
| 23 | Oct | Recitation: Java/C++ Quiz | Websta #2 | ||
| 25 | Oct | Guest: John Bley, CA, Inc. | |||
| 27 | Oct | Code Review: Websta | Websta #3 | ||
| 30 | Oct | Recitation:
Websta Use Cases Guest: Ben Wolf | What Time Is It | ||
| 1 | Nov | Use Case Review Guest: Ben Wolf | |||
| 3 | Nov | Quiz Follow-up | |||
| 6 | Nov | Recitation: Design Exercise | Tapestry Chapter 13.3 | SLogo | Websta #4 |
| 8 | Nov | Design Exercise Follow-up | GoF Chapter 2 | SLogo #1 | |
| 10 | Nov | API Design | Josh Bloch on Design | Websta #5, 6 | |
| 13 | Nov | Animation | Animation Tutorial | Bounce | SLogo #2
VOOGA #1 |
| 15 | Nov | Animation Framework | Taligent Chapters 1-3 Unidraw Design | VOOGA #2 | |
| 17 | Nov | Interaction | VOOGA #3 | ||
| 20 | Nov | In-class Presentations | VOOGA #4 | ||
| 22 | Nov | No Class - Thanksgiving | |||
| 24 | Nov | No Class - Thanksgiving | |||
| 27 | Nov | Reflection Revisited | Visitor Design Pattern Multiple Dispatch | Multi-methods | |
| 29 | Nov | Code Review | |||
| 1 | Dec | VOOGA Topics | VOOGA #5 | ||
| 4 | Dec | Ethics and Programming |
ACM Code of Ethics IEEE Code of Ethics Ten Commandments of Computer Ethics | Discussion | |
| 6 | Dec | In-class Demos | VOOGA #6 | ||
| 8 | Dec | Course Critique | VOOGA #7 | ||
| 15 | Dec | Final Project Demos (2-5pm) | VOOGA #8, 9, 10 | ||