Help Submitting Assignments Using Web-CAT
1 About Web-CAT
Web-CAT is an acronym for "Web-based Center for Automated Testing". It
is used at a number of universities for the electronic submission
and grading of programming assignments. It was developed at Virginia Tech.
2 Overview of the Submission Process
To submit as assignment using Web-CAT you must:
- Compile your code off-line to ensure that it is syntactically correct.
- Test your code off-line to try and ensure that it executes correctly.
(This is especially important if the number of submissions is limited
and/or penalties are imposed for "excessive" submissions.)
-
Create a
.zip file
containing the source files (i.e., the .java files) to
be submitted.
-
Open the JMU CS Web-CAT home page.
(Note: You may be re-directed to another page.)
-
Login to Web-CAT (using your JMU eID and password).
-
Click on the appropriate Submit button (i.e.,
the Submit button for the assignment you are
submitting).
-
Browse to the
.zip file that contains your source files
and click on Upload Submission.
-
Confirm that the correct files were uploaded and click on
Confirm.
-
Wait for the "Submission Results" report.
-
Review results and re-submit if necessary.
-
Logout.
Additional details are provided below.
3 Understanding Web-CAT Reports
Web-CAT analyzes your code in several different ways.
3.1 Style/Coding
The Style/Coding score is based on your adherance to the course
style guide.
The "Full Printable Report" contains detailed information about the
Style/Coding defects in your submission. In general, each "Error Box"
contains an "Expected" line that describes the defect.
Note that you must include a blank line at the end of all of your
.java files so that Web-CAT is able to insert information
about Style/Coding defects.
3.2 Correctness/Testing
The Correctness/Testing score is based on the results of a
suite of unit tests.
The summary page contains an "Estimate of Problem Coverage". It
is the percentage of unit tests that your submission performed
correctly on. Unfortunately, since the definition of a unit test
is somewhat arbitrary, the percentage itself is difficult to
interpret. Even were that not the case, it would not provide any
information about the number of faults in your code, just the
number of trigger conditions that led to failures.
For some assignments, the bottom of the report may include hints
that can help you locate the faults. However, you should not
expect hints. If your code contains faults its is your responsibility
to test your code, identify the faults, and correct them.