Author: Stan Eisenstat
Subject: Comments on the grading of parsley
Date: Tuesday, 13 Oct 2020, 17:03:34
Statistics for Homework #1 parsley
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Tests Passed
~~~~~~~~~~~~~
min = 27.00, max = 50.00, median = 44.00, avg = 42.51
49 < X <= 50: ( 1) X
48 < X <= 49: ( 2) X X
47 < X <= 48: ( 5) X X X X X
46 < X <= 47: ( 6) X X X X X X
45 < X <= 46: ( 6) X X X X X X
44 < X <= 45: ( 6) X X X X X X
43 < X <= 44: ( 7) X X X X X X X
42 < X <= 43: ( 7) X X X X X X X
41 < X <= 42: ( 5) X X X X X
40 < X <= 41: ( 2) X X
39 < X <= 40: ( 2) X X
38 < X <= 39: ( 2) X X
37 < X <= 38: ( 1) X
36 < X <= 37: ( 3) X X X
35 < X <= 36: ( 5) X X X X X
34 < X <= 35: ( 1) X
33 < X <= 34: ( 1) X
32 < X <= 33: ( 1) X
31 < X <= 32: ( 2) X X
Estimated Time
~~~~~~~~~~~~~~
10.00 10.00 14.00 15.00 15.00 15.00 15.00 16.00 17.00 18.00
18.00 18.00 18.00 18.00 20.00 20.00 20.00 20.00 20.00 20.00
20.00 20.00 20.00 20.00 20.00 20.00 20.00 20.00 22.00 24.00
24.00 25.00 25.00 25.00 25.00 25.00 25.00 25.00 25.00 25.00
25.00 25.00 25.00 26.00 29.00 30.00 30.00 30.00 30.00 30.00
30.00 30.00 30.00 30.00 30.00 30.00 30.50 35.00 35.00 35.00
35.00 35.00 40.00 40.00 60.00
Median = 25.00
Total Time
~~~~~~~~~~
11.00 11.25 12.00 12.00 13.25 13.25 14.33 15.00 15.00 15.50
16.00 16.00 16.50 17.00 17.25 18.00 19.00 19.00 19.08 19.50
20.00 21.00 21.00 21.00 21.50 22.25 22.50 23.42 23.50 24.00
24.00 24.08 25.00 25.50 26.00 26.00 26.00 26.00 27.00 27.00
27.50 28.00 28.50 29.00 30.00 30.00 30.50 31.00 32.00 32.75
33.00 33.33 33.50 34.08 35.50 36.00 37.75 39.00 40.00 40.00
41.00 42.50 45.00 46.75 62.42
Median = 25.00
Cumulative Time Spent On All Assignments
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22.50 26.25 26.50 27.00 27.33 29.25 30.00 31.25 33.50 34.67
34.83 35.00 36.50 37.00 37.00 40.00 40.50 40.58 42.17 42.50
43.00 43.50 43.58 44.00 46.25 46.50 46.75 46.84 47.00 47.25
47.91 48.00 48.00 48.00 48.50 52.00 52.00 53.50 54.17 54.50
55.00 55.50 56.00 57.00 59.50 60.50 60.83 62.00 62.00 62.42
62.75 63.50 65.41 68.00 70.00 71.83 72.08 75.42 75.50 76.25
78.00 78.00 87.00 92.25 100.50 109.00
Median = 48.00
Note: These numbers omit students who
* did not report the data for all of the assignments, e.g.,
because they did not submit one of them AND
* whose reported total for the assignments they did submit
was less than 48.00 hours.
Comments on parsley
~~~~~~~~~~~~~~~~~
1. See below for a complete description of how the grading script works. You
can retrieve your grade sheet using the command
% /c/cs323/bin/retrieve 2 GradeSheet
All deductions from the number of tests passed are noted at the end of that
file. Lateness penalties are assessed separately.
2. If your source file(s) did not contain your name and netID, I deducted 1
points if both were missing and 0.5 points if only the name or netID was
missing, when I entered the score in the grade file.
3. If your log file did not contain a statement of major difficulties, I
deducted up to 1 point (depending on the extent to which your session log
contained such information) when I entered the score in the grade file.
4. Your statement of major difficulties should have been 100 words or longer
(i.e., at least eight 80-character lines, excluding the listing of those
with whom you discussed the solution) and should include assignment-specific
details. I deducted up to 1 point for statements that were significantly
shorter or non-specific when I entered the score in the grade file.
5. If your code did not make, I created a Makefile.CORRECTED and deducted 1
point when I entered the score in the grade file.
6. You can save time by stopping and seeking help when you run into problems
that you cannot resolve in 30 minutes or so. Starting early (hint!) means
that you are less likely to be near the due date when this happens.
If you spent 50 hours or more on the assignment (the median was 25 hours),
you may want to make an appointment to see me for ways to reduce the time.
7. If any part of a specification is unclear or confusing, please let me know
so that I can correct it.
8. When debugging, it helps to have small examples where code fails, since it
is easier to trace the flow of execution using a debugger, print statements,
or with a listing.
9. Valgrind is your friend. If you do not understand what it is telling you,
see http://zoo.cs.yale.edu/classes/cs323/doc/Valgrind for useful options and
for common errors and possible explanations of their origins.
A. Please use the unsubmit command to remove any files that are not part of
your ultimate solution.
B. The class web page has links to scatter plots of #Passed vs #Lines, #Passed
vs Time, and Time vs #Lines. Please let me know if you see any trends in
this data.
C. As noted in the specification:
Ignoring code that handles quoted strings and redirection of stderr, the
reference solution is roughly 160 lines long (as measured by xLines) and
uses the library functions asprintf(), strchr(), strdup(), strncmp(), and
strspn() among others.
If your solution was more than 480 lines (as measured by xLines), you may
want to meet with me or one of the staff to discuss why you solution was
so long and what you could have done to produce a shorter one.
How the Grading Script Works
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Before the grading script ran the final test script it ran "make parsley"
using the -std=c99, -pedantic, and -Wall options (whether your makefile
specified them or not). If gcc issued any warnings, it printed the message
checkwarn: warning messages from gcc -c -std=c99 -pedantic -Wall
under the header
***** Checking for warning messages *****
near the start of the grade sheet, and I deducted 1 point from the score
that appears on the grade sheet when entering that score in the grade file.
2. After running the tests, the grading script checked for files submitted
after the due date, printing the number of late days and a listing of all
files and their submission dates if any file was late. If you submitted a
LATENESS file, it adjusted the number of late days accordingly. The
lateness penalty (5% per day or part thereof, excluding the week when the
clock was stopped) was applied when I entered the score in the grade file.
3. Next the grading script looked for a makefile. If it did not find one, it
printed a warning message
checkmake: no makefile
under the header
***** Checking makefile *****
near the end of its output, and I deducted 1 point from the score that
appears on the grade sheet when I entered that score in the grade file.
4. Next the grading script printed the submission logs for your file(s)
(excluding the log file and the makefile), showing the revision numbers,
the times of submission, and how many lines were added and deleted. If
the ratio of the number of hours reported to the number of submissions was
sufficiently large, or if the number of lines in an initial submission or a
lower bound on the number of new (not just changed) lines in some update was
sufficiently large, it printed a warning message:
checkrcs: too few submissions: NN in HH.HH hours
or
checkrcs: too few resubmissions: large submission(s)
under the header
***** Checking RCS files *****
near the end of its output. In extreme cases I deducted up to 1 point from
the score that appears on the grade sheet when entering that score in the
grade file. In the future I will both raise the 1-point cap and deduct
points in less extreme cases.
5. Next the grading script searched your log file for the one line that
contains the string "ESTIMATE" and your estimate of the time required made
prior to writing any code. If it did not find such a line, it printed a
warning message:
checklog: no line with ESTIMATE
under the header
***** Checking log file *****
near the end of its output, and I deducted 0.5 point from the score that
appears on the grade sheet when I entered that score in the grade file.
If it did not find such a line even when case was ignored, it printed a
warning message
checklog: no estimate of time spent
and I deducted 0.5 point from the score.
If it found more than one line containing the string "ESTIMATE", it printed
a warning message:
checklog: multiple estimates of time spent
and I deducted 0.5 point from the score.
6. Next the grading script searched your log file for the one line that
contains the string "TOTAL" and the total time that you actually spent prior
to writing any code. If it did not find such a line, it printed a warning
message:
checklog: no line with TOTAL
under the header
***** Checking log file *****
near the end of its output, and I deducted 0.5 point from the score that
appears on the grade sheet when I entered that score in the grade file.
If it did not find such a line even when case was ignored, it printed a
warning message
checklog: no total of time spent
and I deducted 0.5 point from the score.
If it found more than one line containing the string "TOTAL", it printed a
warning message:
checklog: multiple estimates of time spent
and I deducted 0.5 point from the score.
7. Finally the grading script may have printed a list of certain files,
including:
* A file named Makefile.CORRECTED, which means that your code did not make.
In such cases I deducted 1 point from the score that appears on the grade
sheet when I entered that score in the grade file.
* A file named LOG.CORRECTED, which means that your log file did not have an
estimate and/or a total in the proper format. The deduction(s) were taken
as above, and where possible these values were taken from the corrected
log so that they could be reported.
* A directory named Overwritten, which means that you overwrote some of
the files you submitted with those from a later assignment and I had to
restore them.
--Stan-
PREV
INDEX
NEXT