Grading Related Policies
Turnin:
- Please turnin files according to the "Turnin File List" specification
at the beginning of every homework write-up. Your filenames must be the
same as required (case sensitive, e.g., sum.c and Sum.c are different).
- If after the due time you find that you turned in wrong files, please
do NOT modify (this could keep your file from being assigned a new time
stamp that is after the due time) the correct file you'd actually planned
to turnin. Then come to TA's and they could check your file time stamp.
If the time stamp is before the due time, it can be regraded with some penalty
of not turning in on time. But if the time stamp is after the due time,
it won't be accepted for regrading.
- Make sure your program pass the compilation (for example, gcc -Wall yourprogram.c).
Compilation failure will result in 0 points and won't be regrades. Compilation
warnings will cause some points off.
- Make sure your input/output format is the same as the sample executable.
Use "diff" instead of your eyes to check the output, because your
eyes can't tell "\t" from 8 spaces on the screen. Suppose your
executable is named "mysum" and the sample executable is named
"sum". Write your testcase in a file, say named "mytestcase".
Run both executable against the testcase by "mysum < mytestcase
> myoutput" and "sum < mytestcase > output". The
redirection will feed the "mytestcase" to the stdin and store
the output in a file. Then compare the two output files with "diff
myoutput output". If "diff" printout nothing and return 0,
your output is correct, otherwise you need to modify your program. Please
get more info on diff by "man diff".
- It is possible that the homework writeup and provided files (sample executable,
header files, etc.) are modified after being posted. You need to check the
update news frequently on the newsgroup. Any update notice on the newsgroup
is regarded officially part of the homework writeup. To make your life easier,
we are going to use version numbers on writeup. The version number will
be put at the beginning of the writeup, so you can check if the one you
are using is up to date or not.
Grading:
- This is how we do the grading. First, we compile your program. If fails,
issue 0 points, otherwise go on to the next step. We create a number of
testcases (similar to the "mytestcase" file we created above)
and feed them in to your program and store your output in to a file by redirection
(similar as the redirection I introduced above). Then we diff your output
with our expected output. If diff returns 0, we give points allocated for
this testcase, otherwise we give 0 points on this testcase. Then we go to
the next testcase. If there is an infinite loop, our grading script will
kill your program and give 0 points.
- Then scores will be emailed to your CS email account.
Regrading:
- TA's usually divide the grading by problem numbers and basicly do the
grading separately in parallel. We will post the TA-problem# information
in the grading results or README file in the grading testcases directory
(/home/cs352/fall03/grading_testcases), so whenever there is some problem,
please contact the correct person.
- If you find that a minor mistake in your program makes you fail
many testcases (e.g., on the output you printed an extra space),
you may modify your program and submit to TA's by email (or in person meeting
during office hours) for regrading. You must show how much is modified.
According to the severity of your mistake, how much is modified and the
regrading testcase result, we issue new grade. Regrading request must be
submitted within one week after you receive your original score.
CSc 352 Fall03
09/28/03