CS U370 Assignment #8 Assigned: Tuesday, 31 March 2009 Due: Monday, 13 April 2009 The purposes of this assignment are: * To use mutable ADTs. * To illustrate the use of inner classes. * To reuse standard software for graphics and collections. * To improve upon the efficiency of a recipe implementation. * To draw some colored pictures. Working in teams of two students, you will implement a modified and more general Dependencies ADT. Collaboration between students who are not on the same team is forbidden for this assignment. Your team is responsible for keeping its code hidden from all other students. Turn in your work on this assignment before 10 pm on the due date by sending electronic mail to: will@ccs.neu.edu with subject CSU370 assignment 8 and a body that consists of nothing but your Dependencies.java file. That file should begin with a block comment that lists 1. Both of your names. 2. Both of your email addresses. 3. Any remarks that you wish to make to the instructor. Part of your grade will depend on the quality and correctness of your code (including its implementation of the specification) part will depend on the readability of your code (comments and indentation), part will depend on how well you follow the procedure above for submitting your work, and a large part of your grade will depend upon the space and time efficiency of your implementation, as measured by the grader and instructor using a special set of test programs. Late assignments may be discounted, and very late assignments may be discarded. -------------------------------------------------- Your assignment is to write the code for a single file, Dependencies.java, that implements the specification given at http://www.ccs.neu.edu/course/csu370wc/specDependencies.txt You are given several files in /course/csu370wc/Assignments/A8: Refreshable.java Visitor.java PixelView.java A8manual.java A8pretty.java A8random.java A8sorted.java The Refreshable.java file implements the extended specification for the Refreshable ADT that is online at http://www.ccs.neu.edu/course/csu370wc/specRefreshable.txt The Dependencies ADT is a client of both the Refreshable and Dependency ADTs, however, so your implementation should work with any correct implementation of those ADTs. As in assignment 6, the Visitor.java file defines the Visitor interface. PixelView.java implements a PixelView class that the four main programs, A*.java, use to draw some pixel-mapped graphics. The four main programs will be demonstrated and discussed in lecture. A8sorted.java is similar to the test programs that will be used to measure the efficiency of your implementation. --------------------------------------------------