middlebury.edu
| Date | Lectures and Labs | Reading | Exercises | ||
| Week 1 | |||||
| Mon 2/13 | Lect 1: Course Introduction | Chap 1 | 1.9.3 | ||
| Tues 2/14 | Lab 1: Introduction to Java (No clicking, due 2/20) | ||||
| Wed 2/15 | Lect 2: Graphics, Event Handling | Chap 2 | 2.7.2, 2.7.6 | ||
| Fri 2/17 | Lect 3: Variables and Numbers | Chap 3 | 3.11.2 a, b | ||
| Week 2 | |||||
| Mon 2/20 | Lect 4: Conditionals (if / else) | Chap 4 | 4.8.4, 4.8.5, 4.8.6 | ||
| Tues 2/21 | Lab 2: Events Handling with Conditionals (Dirty Laundry, due 2/27) | ||||
| Wed 2/22 | Lect 5: Primitive Types | Chap 5 | 5.7.2, 5.7.6 a, b, c | ||
| Fri 2/24 | No class: Winter Carnival | ||||
| Week 3 | |||||
| Mon 2/27 | Lect 6: Defining and Using Classes | Chap 6 | 6.8.3, 6.8.5 | ||
| Tues 2/28 | Lab 3: Defining Classes (Repulsive Behavior, due 3/6) | ||||
| Wed 3/1 | Lect 7: Classes, Control Structures (while) | Chap 6, 7 | 7.10.1 | ||
| Fri 3/3 | Lect 8: Declarations and Scope; Introduction to Active Objects | Chap 8, 9 | 8.6.3 | ||
| Week 4 | |||||
| Mon 3/6 | Lect 9: Active Objects I, Interfaces | Chap 9, 10 | 9.10.1-9.10.3, 10.5.1-10.5.2 | ||
| Tues 3/7 | Lab 4: Parameters (Boxball, due 3/13) | ||||
| Wed 3/8 | Lect 10: User Interface Components and Events I | Chap 11 | |||
| Fri 3/10 | Lect 11: User Interface Components and Events II | Chap 11 | |||
| Week 5 | |||||
| Mon 3/13 | Lect 12: User Interface Components and Events III | Chap 11 | Layout Quiz | ||
| Tues 3/14 | Lab 5: GUI Practice (Textplay, due 3/17) | ||||
| Wed 3/15 | Lect 13: Active Objects II | Chap 9 | |||
| Fri 3/17 | Lect 14: Active Objects III | Chap 9 | |||
| Spring Break | |||||
| Week 6 | |||||
| Mon 3/27 | Lect 15: Recursive Structures and Methods I Test Program 1 assigned, due Monday 4/3 |
Chap 12 | |||
| Tues 3/28 | Lab: Work on Test Program 1 | ||||
| Wed 3/29 | Lect 16: Recursive Structures and Methods II | Chap 12 | |||
| Fri 3/31 | Lect 17: Recursive Structures and Methods III | Chap 12 | 12.1.6, 12.1.13, 12.2.1 | ||
| Week 7 | |||||
| Mon 4/3 | Lect 18: Recursive pictures and tail recursion | Chap 12 | |||
| Tues 4/4 | Lab 6: Loops and Simple Threads (Frogger, due 4/10) | ||||
| Wed 4/5 | Lect 19: Debugging, Recursion Practice | Chap 12 | Fri 4/7 | Lect 20: Binary numbers, UNIX, and Java applications | |
| Week 8 | |||||
| Mon 4/10 | Lect 21: For Loops, Arrays I | Chap 13, 14 | 13.2.2, 13.6.5 | ||
| Tues 4/11 | Lab 7: Recursion (Doodling, due 4/17) | ||||
| Wed 4/12 | Lect 22: Arrays II | Chap 14 | 14.5.2, 14.9.2 | ||
| Fri 4/14 | Lect 23: Arrays III | Chap 14 | |||
| Week 9 | |||||
| Mon 4/17 | Lect 24: Object-Oriented Program Design | Chap 21 | |||
| Tues 4/18 | Lab 8: Arrays (Simon, due 4/24) | ||||
| Wed 4/19 | Lect 25: Multi-Dimensional Arrays | Chap 15 | 15.2.1, 15.4.1 | ||
| Fri 4/21 | Lect 26: Inheritance | Chap 17 | 17.8.8 | ||
| Week 10 | |||||
| Mon 4/24 | Lect 27: Character Strings | Chap 16 | 16.5.2, 16.5.5, 16.5.6 | ||
| Tues 4/25 | Lab 9: 2D Arrays (Nibbles, due 5/1) | ||||
| Wed 4/26 | Lect 28: Exceptions | Chap 18 | |||
| Fri 4/28 | Lect 29: Searching, complexity of algorithms | Chap 20 | 20.1.2, 20.1.4 | ||
| Week 11 | |||||
| Mon 5/1 | Lect 30: Files, Streams, and Networks Test Program 2 assigned, due Monday 5/8 |
Chap 19 | |||
| Tues 5/2 | Lab: Work on Test Program 2 | ||||
| Wed 5/3 | Lect 31: Elementary sorting methods | Chap 20 | 20.6.3 | ||
| Fri 5/5 | Lect 32: Recursive sorting methods | Chap 20 | |||
| Week 12 | |||||
| Mon 5/8 | Lect 33: Linked Lists | ||||
| Tues 5/9 | Lab 10: Strings (Spam, due 5/13) | ||||
| Wed 5/10 | Lect 34: Linked Lists II, Concurrency | ||||
| Fri 5/12 | Lect 35: Course Summary; What is Computer Science? |