The textbook is: Michael Main. Data Structures and Other Objects Using Java. Reading, MA: Addison-Wesley, 1999, ISBN 0-201-35744-5. All references in the outline are to this text. The lab exercises and programming assignments are either taken from the text (as indicated in the outline) or are described in the authors' supplement. Please note that the Lab and Programming Assignments are tentative. Changes will be indicated in italics .
A course outline follows. The Sections of the text listed under the ``lecture'' headings should be read before the corresponding class. Note that February 26 is the last day to withdraw without failure. The final exam will be on Friday, May 4, at 2pm (the regularly scheduled time).
Week Begins | Topic | Lecture #1 | Lecture #2 | Lab | Programming Assignment |
---|---|---|---|---|---|
January 15 | Introduction | 1.1 | 1.2, 1.3 | No Lab | None; Assign Whole Chapter 1 as Reading |
January 22 | ADTs and Java Classes | 2.1 & 2.2 | 2.3 & 2.4 | Java Intro, Use of Emacs, Documentation Conventions | 1. The Statistician Class. Due February 8. |
January 29 | Collection Classes | 3.1 & 3.2 | 3.3 & 3.4 | Currency class | None |
February 5 | Collection Classes | More on IntArrayBag | Sequence | Programming projects 1 and 2 chapter 3: equals method and test program for IntArrayBag. | 2. Implementation of the Sequence ADT of Section 3.3, due March 1. |
February 12 | Linked Lists and Applets | Applets and Foundations of Linked Lists (4.1) | 4.2 & 4.3 | Testing the IntArrayBag Implementation Using Applets | DoubleArraySequence (Page 133ff. in Text) |
February 19 | Test 1 and More Linked Lists | Test 1 | 4.5 & 4.6 | The IntNode Class | 3. The DoubleLinkedSeq Class of Section 4.5, due on Thursday, March 22. |
February 26 | Java Objects with Iterators | 5.1 & 5.2 | 5.3 & 5.4 | TBD | None |
March 5 | Stacks | 6.1 & 6.2 | 6.3 & 6.4 | TBD | 4. The n-Queens Problem with a stack, PP 10 on p.323, due Tuesday March 17. |
March 12 | Queues | Spring Break | Spring Break | None | None |
March 19 | Queues | 7.1 & 7.2 | 7.3 & 7.4 | Evaluator for Postfix or Infix Expressions | 5. TBD |
March 26 | Recursion | 8.1 | 8.2 | Computing Combinations (Programming Project 6 on p.412) | None |
April 2 | More Recursion | 8.3 | Overflow | TBD | None |
April 9 | TBD | TBD | TBD | TBD | 6. TBD (possibly Expression Trees (Programming Project 1 on p.479)) |
April 16 | Trees | Exam #2 | 9.3 | Animal Guessing Game with Files (Programming Project 4 on p.480) | None |
April 23 | More Trees | 9.4 | 9.5 | Thanksgiving Break | None |
April 30 | Binary Search | 11.1 | N/A | Review | None |