Next: About this document ... Up: Computer Science 172 Introduction Previous: Ethics

Schedule

This class meets every Monday, Wednesday, and Friday from 12:00-12:50 PM; the final exam is from 10:30-12:30 on Dec. 20.

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


Next: About this document ... Up: Computer Science 172 Introduction Previous: Ethics

Last modified: Wednesday, 10-Apr-2002 11:31:09 EDT