cs315: project #3: graph
Design and implement the class Graph.
input
There is no input for this program.
output
There is no output for this program.
correctness
A set of JUnit tests is provided in TestGraph.java The provided tests are not guaranteed correct.
Your program must pass the corrected tests. Use Blackboard to reach consensus on the corrected tests.
additional correctness
The grader will test your program with other JUnit tests.
testing
Provide an additional set of JUnit tests in TestGraphMore.java.
design
Do not remove or modify the signature of any public method provided in the skeleton. These methods are a user's interface to your project, and may be called directly by the grader to evaluate your project.
Use assert() to check pre-conditions, post-conditions, argument validity, return-value validity, and invariants.
Add data, if necessary, static or non-static, but declare all data private. Do not use static data as a form of global variable.
Add methods, if necessary, static or non-static, but declare all methods private except those that are in the public interface.
Worry about this last, but your program should run as fast as possible and use as little memory as possible.
documentation
Information about your partnership must be in Graph.txt, a skeleton of which is provided. Edit Graph.txt with a plain-text editor. Do not use Word!
Use Javadoc to document interfaces:
- parameters (@param)
- returns (@return)
- exceptions (@throws)
Use C-style (/*...*/) or C++-style (//...) comments to document implementations.
Follow Sun's Coding Conventions. Use good variable names. Write readable code with good indentation, blank lines, and blank spaces.
files
| Type | Name | Description |
|---|---|---|
| documentation | Graph.txt | Documentation of the program. |
| Graph.html | Documentation of class Graph, produced by Javadoc. |
|
| driver | Application.java | Definition of class Application. |
| implementation | Graph.java | Definition of class Graph. |
| test | TestGraph.java | Definition of class TestGraph. |
| TestGraphMore.java | Definition of class TestGraphMore. |
submission
Projects must be done in pairs using a technique called pair programming. Only one submission will be accepted by each pair.
You must submit the following files, and only the following files, with the following directory structure:
Graph.html
Application.java
cs/projects/graph/Graph.java
cs/projects/graph/TestGraph.java
cs/projects/graph/TestGraphMore.java
as a JAR file, Graph.jar, with the directory structure preserved, to Turnin, by the due date.
You must post your partnership to the *** Partnerships *** thread on the class discussion board in Blackboard, a week before the due date.
You must post the following file, and only the following file:
TestGraph.java
as an attachment, to the *** Consensus on Final Results *** thread on the class discussion board in Blackboard, by the due date.
html & css validators