All dates in the following schedule are tentative, except those fixed by the University; if some topic listed here as taking one lecture in fact takes two lectures to cover adequately, or vice versa, the schedule will shift.
In the column marked ``Reading'', the letters ``DF'' precede page numbers in David Flanagan's Java in a Nutshell, and the letters ``HtDP'' precede chapter numbers in the on-line textbook How to Design Programs. I'll also direct you to the on-line version of Bruce Eckel's Thinking in Java and to on-line documentation on Java's built-in classes.
I expect you to have read the reading assignments before the lecture that deals with that topic. This way I can concentrate my time on answering questions and clarifying subtle or difficult points in the textbook, rather than on reading the textbook to you, which will bore both of us. Please read ahead!
When I say ``read'' above, I mean an active process, involving not only the textbook but pencil, scratch paper, and a notebook for writing down key points. Finally, and perhaps most importantly, you'll need a computer for trying out the new ideas you find in your reading. Just as you cannot learn to drive a car or to cook just by reading about it, you cannot learn about programming just by reading about it. In short, every time you read about a new programming idea, try it!
| Date | Assignment | Reading | Subject |
| Sept. 6 | Administrivia, syllabus, DrJava and BlueJ, PSP, etc. | ||
| Sept. 8 | HW1 | DF v-21 | Using BlueJ; arithmetic, variables, spaces, punctuation |
| Sept. 11 | DF 21-38,45-46 | Built-in types and operators, variable declaration; the String type | |
| Sept. 13 | DF 42-43,138-140 | Using & defining methods & defining classes; static and void | |
| Sept. 15 | DF 59-64, 82-91 | "Fill-in" methods: toString(), equals() | |
| Sept. 15 | Last day to add courses | ||
| Sept. 18 | HW1 due | DF 82-91, 189-199 | javadoc; Local, instance, and parameter variables |
| Quiz 1 | |||
| Sept. 20 | HW2 | DF 104-110 | Access control and information-hiding |
| Sept. 22 | DF 43-54 | conditionals and loops | |
| Sept. 25 | Quiz 2 | Discuss quiz & Java syntax | |
| Sept. 27 | HW2 due; HW3 | DF 95-104 | Design recipe for mixed data; interfaces |
| Sept. 29 | Design recipes for conditionals and loops | ||
| Oct. 2 | HtDP 9-12 | Self-referential data structures | |
| Oct. 2 | Last day to drop courses | ||
| Oct. 4 | HW3 due | DF 110-116 | Composition vs. inheritance; abstract classes |
| Oct. 6 | HtDP 14-17 | More self-referential data structures | |
| Oct. 9 | Yom Kippur; no classes | ||
| Oct. 11 | HW4 | Inheritance for fun and profit | |
| Oct. 13 | HtDP 19-23 | Calling functions on other functions | |
| Oct. 16 | DF 117-134 | Inner classes | |
| Oct. 18 | Quiz 3 | Visitor classes | |
| Oct. 20 | Visitor classes | ||
| Oct. 23 | Visitor classes | ||
| Oct. 25 | HW4 due | DF 64-69 | arrays and loops |
| Oct. 27 | HW5 | Eckel 9 (up to "Introduction to containers") | arrays and loops |
| Oct. 30 | DF 144-147; Eckel 9 (rest of chapter) | predefined collection classes | |
| Nov. 1 | Eckel 9 (rest of chapter) | predefined collection classes | |
| Nov. 3 | catch up | ||
| Nov. 3 | Last day to withdraw from courses | ||
| Nov. 6 | HtDP 25-26 | Generative recursion | |
| Nov. 8 | HtDP 27-28 | Generative recursion | |
| Nov. 10 | Doing the same thing with loops | ||
| Nov. 13 | HW5 due | HtDP 29-30 | Accumulative recursion |
| Nov. 15 | HtDP 31-32 | Accumulative recursion | |
| Nov. 17 | Doing the same thing with loops | ||
| Nov. 20 | Stand-alone programs in Java | ||
| Nov. 22 | DF 76-79 | Packages in Java | |
| Nov. 24 | Thanksgiving; no classes | ||
| Nov. 27 | HW6 | Eckel 13 | Applets and simple AWT graphics |
| Nov. 29 | Eckel 13 | More simple AWT graphics; events and Listeners | |
| Dec. 1 | Eckel 13 | Layouts | |
| Dec. 4 | HW6 due; HW7 | Eckel 13 | The Model/View/Controller pattern |
| Dec. 6 | Eckel 13 | More on event-driven programming; kinds of Events and Listeners | |
| Dec. 8 | Eckel 13 | Designing event-driven programs | |
| Dec. 11 | DF 149-152; Eckel 14 | Multi-threaded programming | |
| Dec. 13 | HW7 due | DF 153-161 | I/O and network programming |
| Dec. 15 | Catch up and review for final exam | ||
| Dec. 20 | 10:30 AM-12:30 PM, final exam | ||
Last modified: Wednesday, 10-Apr-2002 11:31:09 EDT