| Date | Lectures and Labs | Reading | Exercises | ||
| Week 1 | |||||
| Mon 9/12 | Lect 1: Course Introduction | Chap 1 | 1.9.3 | ||
| Tues 9/13 | Lab 1: Introduction to Java (No clicking) | ||||
| Wed 9/14 | Lect 2: Graphics, Event Handling | Chap 2 | 2.7.2, 2.7.6 | ||
| Fri 9/16 | Lect 3: Variables and Numbers | Chap 3 | 3.11.2 a, b | ||
| Week 2 | |||||
| Mon 9/19 | Lect 4: Conditionals | Chap 4 | |||
| Tues 9/20 | Lab 2: Events Handling with Conditionals (Dirty Laundry) | ||||
| Wed 9/21 | Lect 5: Primitive Types and Strings | Chap 5 | |||
| Fri 9/23 | Lect 6: Defining and Using Classes | Chap 6 | |||
| Week 3 | |||||
| Mon 9/26 | Lect 7: Classes, Control Structures | Chap 6, 7 | 6.8.3, 6.8.5, 7.10.1 | ||
| Tues 9/27 | Lab 3: Defining Classes (Repulsive Behavior) | ||||
| Wed 9/28 | Lect 8: Declarations and Scope | Chap 8 | 8.1.1, 8.2.1 | ||
| Fri 9/30 | Lect 9: Active Objects I | Chap 9 | 9.4.1, 9.5.1, 9.10.1, 9.10.2 | ||
| Week 4 | |||||
| Mon 10/3 | Lect 10: Active Objects II | Chap 9 | |||
| Tues 10/4 | Lab 4: Parameters (Boxball) | ||||
| Wed 10/5 | Lect 11: Active Objects III | Chap 9 | |||
| Fri 10/7 | Lect 12: Interfaces Test Program 1 assigned |
Chap 10 | |||
| Week 5 | |||||
| Mon 10/10 | Lect 13: User Interface Components and Events I | Chap 11 | |||
| Tues 10/11 | Lab 5: Loops and Simple Threads (Frogger) | ||||
| Wed 10/12 | Lect 14: User Interface Components and Events II | Chap 11 | |||
| Fri 10/14 | Lect 15: User Interface Components and Events III | Chap 11 | |||
| Week 6 | |||||
| Mon 10/17 | Lect 16: Recursive Structures and Methods I | Chap 12 | |||
| Tues 10/18 | No lab - Work on Test Program 1 | ||||
| Wed 10/19 | Lect 17: Recursive Structures and Methods II | Chap 12 | |||
| Fri 10/21 | No class: Fall break | ||||
| Week 7 | |||||
| Mon 10/24 | Lect 18: Recursive Structures and Methods III Test Program 1 due |
Chap 12 | 12.1.6, 12.1.13, 12.2.1 | ||
| Tues 10/25 | Lab 6: GUI Practice (Textplay) | ||||
| Wed 10/26 | Lect 19: Debugging, Recursion Practice | Chap 12 | |||
| Fri 10/28 | Lect 20: For Loops and Arrays | Chap 13 | 13.2.2, 13.6.5 | ||
| Week 8 | |||||
| Mon 10/31 | Lect 21: Arrays I | Chap 14 | 14.5.2, 14.9.2 | ||
| Tues 11/1 | Lab 7: Recursion (Doodling) | ||||
| Wed 11/2 | Lect 22: Arrays II | Chap 14 | |||
| Fri 11/4 | Lect 23: Object-Oriented Program Design | Chap 21 | |||
| Week 9 | |||||
| Mon 11/7 | Lect 24: Multi-Dimensional Arrays | Chap 15 | 15.2.1, 15.4.1 | ||
| Tues 11/8 | Lab 8: Arrays (Simon) | ||||
| Wed 11/9 | Lect 25: Inheritance | Chap 17 | |||
| Fri 11/11 | Lect 26: Binary numbers, UNIX, Java applications | ||||
| Week 10 | |||||
| Mon 11/14 | Lect 27: Character Strings | Chap 16 | |||
| Tues 11/15 | Lab 9: 2D Arrays (Nibbles) | ||||
| Wed 11/16 | Lect 28: Exceptions | Chap 18 | |||
| Fri 11/18 | Lect 29: Searching, complexity of algorithms | Chap 20 | 20.1.2, 20.1.4 | ||
| Week 11 | |||||
| Mon 11/21 | Lect 30: Applications, Files, and Streams | Chap 19 | 19.2.2, 19.7.1, 19.7.3 | ||
| Tues 11/22 | Lab 10: Strings (Spam) | ||||
| Wed 11/23 | No class - Thanksgiving break | ||||
| Week 12 | |||||
| Mon 11/28 | Lect 31: Streams and Networks Test Program 2 assigned |
Chap 19 | |||
| Tues 11/29 | Lab 11: Test Program 2 | ||||
| Wed 11/30 | Lect 32: Elementary sorting methods | Chap 20 | |||
| Fri 12/2 | Lect 33: Recursive sorting methods | Chap 20 | |||
| Week 13 | |||||
| Mon 12/5 | Lect 34: Linked Lists | ||||
| Tues 12/6 | No lab - work on Test Program 2 | ||||
| Wed 12/7 | Lect 35: Concurrency | ||||
| Fri 12/9 | Lect 36: Course Summary; What is Computer Science? Test Program 2 due |