Documents submitted on a web page: 2 points
Object Model: 4 points
Abstract Data Types (ADTs) using javadoc: 4 points
Common Object Model Problems:
How do you expect a user to manipulate and draw things? There are no AWT components or Listeners yet. (yes, I know, we have not talked about them yet - but you do need them there).
When you put them in, use dashed lines (----) for linking Classes to Interfaces to note the difference between inheritance(extends - subclasses) and implements(interfaces)
An OM should illustrate how objects are meaningfully connected to each other.
OM: The associative link of "uses" or "has" does not tell the reader a thing. If something is a GUI for something else, a more **informative** link
would be to say view or model or illustrates or GUI or ANYTHING other than uses. Uses says nothing...it has no information content since of course your project "uses" it or it would not be there!
Since you are using a GUI, links on the association links could illustrate the Model/View/Controller (MVC) Architecture of your design.
Consider the Objects carefully. What does each object do? What behaviors do they have? Which of their variables do they need to change? These help identify necessary methods and into which class they belong.
Common ADT Problems:
Design (Object Model, proper use of classes): 2/2 points
+3 for complexity Specifically
+5 if it runs (Create/Drop tables: -1 point)
+2 documentation (including Object Model, ADT info, what it does, explanation)
+1 readme
To show all of your classes (even private) do javadoc -private rather than just javadoc
You do not have <PRE> and <POST> conditions on all of the methods that you expect to provide
LAB 1: Graphics
The lab is worth 10 points:
Design (Object Model, proper use of classes): 2/2 points
Documentation (ADT, purpose, and inline): 2/2 points
Implementation (it works): 6/6 points
Your Score: 10/10
LAB 2: Threads
The lab is worth 10 points:
Documentation (ADT, purpose, and inline): 2 points
Readme: 1 point
Implementation (it works according to spec): 5 points
Follow specs:
Something runs: 1
Use of synchronization: 2
Use (and explanation) of Consumer/Producer/Monitor: 2
Complexity - if minimal usage of the above: -2
LAB 3: Sockets:Client/Server
The lab is worth 10 points:
(ie. shouldn't have to edit for the proper machine to run on):
Documentation:(Readme,ADT, purpose, and inline): 2/2 points
Implementation:
(thread(1), packets(1.5), close(1), complexity (1), runs (1.5)): 6/6 points
(including proper submission - jar files )
LAB 4: Data Base
The lab is worth 10 points:
+1 back if you can show me errors of you *trying* to use it, but got significant errors (i.e., not errors like not being able to find the driver, etc)
+0 trivial - it connected and could access the database
+1 average - no big deal but you did more than copy the examples
+2 good
+3 great