Object-Oriented Programming in Java: Lab Grading Templates

The following are the templates from which I grade the labs for the class. You can see by how many points are allocated the significance of each aspect.

LAB 1A: Documentation

OO Programming in Java Lab1A: Documentation


Worth 10 points as follows:

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:
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

Java Lab 1 Graphics Editor
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

Java Lab 2 Threads Lab
The lab is worth 10 points:
Design (Object Model, proper use of classes): 2 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

Java Lab 3 Client Server
The lab is worth 10 points:

Design (Object Model, proper use of classes): 2/2 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

Java Lab 4: DataBase
The lab is worth 10 points:
-2 if didn't use the database here via the URL
       +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)

+3 for complexity Specifically
       +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

+5 if it runs (Create/Drop tables: -1 point)

+2 documentation (including Object Model, ADT info, what it does, explanation)

+1 readme