Programming Assignment 2 Grading:
--------------------------------------------------------------------------------
Comments to add to student's gradesheet (as an overall comment):
Good job!
Note: for each top-level part (like the EmptySequenceException class) that a
student gets completely correct, make sure to add the comment:
Good job!
so the student's gradefile contains some feedback for that part
Late Days:
Make sure to add at least one of these comments:
Program submitted on time
1 day late
2 days late
3 days late
Free days used up, late penalty applies
To determine how many late days a student used and if a penalty applies, look
in the file:
/p/course/cs367-hasti/private/grading/cs367LateDays.xls
(Note: this file hasn't been created yet but will be shortly - I'll send you
email when it has been)
Make sure you add both one of the comments above (so the student knows how late
this program was turned it) and to select a deduction from the Late Days section
for the number of penalty days the student received (if appropriate).
Make sure to test:
- student's entire submission
If the student did not correctly implement getting user input from a file,
use input redirection (i.e., < ) to test the student's program
There are some test files (with corresponding output) in the
MessageSequenceEditorTestFiles/ folder:
badInput.txt
emptyTest.txt
cutCopyPaste.txt
jumpPrevNext.txt
addInsert.txt
findTest.txt
replaceTest.txt
- student's LinkedCircularSequence (and EmptySequenceException, and
LinkedCircularSequenceIterator) with our LinkedCircularSequenceTester and
DblListnode
There are some test files (with corresponding output) in the
CircularSequenceTestFiles/ folder:
circSeqOne.txt
circSeqSmall.txt
circSeqLarge.txt
Note: the p2grader script can be run from the command line. It runs all
the tests listed above. If the student's output is correct, the grader
script will produce output as in astudent.output.txt
Additional scripts:
cleanup
- takes no arguments, removes all *.java, *.class, and temp.txt files
testCirc login
- give the name of the student login as an argument (e.g., testCirc emma)
- runs just the CircularSequenceTester stuff
- creates file named login.circ.txt
testMsg login
- give the name of the student login as an argument (e.g., testMsg emma)
- runs just the MessageSequenceTester stuff
- creates file name login.msg.txt
testMsgForce login
- give the name of the student login as an argument (e.g., testMsgForce emma)
- runs just the MessageSequenceTester stuff but instead of reading input from a file, it redirects the input from the console
- if you look at the msg output and you see that the commands are not echoed in the student's output, use this script
- creates file name login.msgForce.txt
testAll login
- give the name of the student login as an argument (e.g., testAll emma)
- runs all the tests and creates file named login.all.txt
- basically does what p2grader does except you can give the login as a command line argument
So, do the following:
1) run testAll
2) if testAll doesn't terminate:
- kill it (ctrl-C)
- run testCirc
- run testMsg (and then testMsgForce if necessary)
If you have to terminate testCirc or testMsg, you can run each individual test from the directory you are grading in:
If the student's code already compiled, it should be in the directory so you can just run it.
Copy the CircularSequenceTestFiles directory and the MessageSequenceEditorTestFiles directory to your grading directory.
To test MessageSequenceEditor, you can do, for example,
java MessageSequenceEditor < MessageSequenceEditorTestFiles/addInsert.txt > output.txt
You can then compare the student's results with the expected results:
diff -b output.txt MessageSequenceEditorTestFiles/addInsert.output.f.txt
(make sure to use the .f versions since the input won't be echoed)
Make sure to verify that the student implemented the LinkedCircularSequence
class using a circular doubly-linked list.
Style and documentation:
Comments:
Good commenting!
Good coding style!
Warning: file header comments missing some information
Warning: some lines are longer than 80 characters
Warning: place file header comments before import statements
Warning: avoid excessive vertical whitespace
Warning: some class/method header comments are missing some information