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 ``GT'' precede page numbers in Goodrich & Tamassia's Data Structures and Algorithms in Java; the letters ``DF'' indicate the page numbers of optional reading in David Flanagan's Java in a Nutshell, and the letters ``WH'' precede chapter numbers in Watts Humphrey's Introduction to the Personal Software Process. I'll also direct you 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!