Assessment of Programming Assignments
Revised 09/15/2012
Program Assessment Criteria and Valuation* |
Criterion | Percentage Points Range* | Phase |
Deliverables Received and Project Compiles | 0 ... 25 | 1 |
Results of Testing | 0 ... 25 | 1 |
Adherence to Technical Requirements and Specifications | 0 ... 25 | 2 |
Other Engineering and Quality Considerations | -25 ... 25 | 2 |
*Percentages may vary for specific assignments |
All programming assignments will be assessed in two phases. The first phase
is automated testing, the second phase is code assessment.
Phase 1: Testing [Begins after due date, continues for seven days]
-
Beginning two hours after the announced deadline [ i.e., 2:00am Eastern Time
], each student's submission will be test-compiled and test-run against
predetermined sets of test data. This process will generate two files:
"results" and "report".
-
The output from attempted build and, if build is successful, the output of
tests, will be in the file "results", which will also indicate "pass" or
"fail" for these steps. In the case of "pass" the student's status will
upgraded to "ready for evaluation" and handed off to Phase II. Otherwise the
student's status will be "resubmit" and will remain in Phase I.
-
As soon as all submissions have been tested, the "results" files will be
emailed to students. You should see this in your email when you wake up on
morning after the due date. If your status is "resubmit" you should get
directly to work repairing whatever problems have surfaced.
-
The processing of new submissions (including re-submissions)
will continue daily at approximately 2:00am for one week past the due date.
At that moment, the grace period for fixing your software ends and
no more submissions will be accepted.
-
Students whose submissions did not pass Phase I have exactly that week to
fix their code and resubmit. There is no penalty for resubmissions during
the grace period.
-
All resubmissions will be re-tested, so students are encouraged to continue
to improve their code even after the tests are passed. The code will be
evaluated in Phase 2.
-
Once the grace period ends, no more submissions will be accepted.
Phase 2: Evaluation [Begins at end of Phase 1]
The first step in evaluation will be to note whether the submitted project
meets the basic criteria of build, run, and testing, as determined during phase
1. This will determine a large portion of the grade on the project, roughly
according to the table at the beginning of this document.
The remainder of your grade will depend on a reading of your source code and any
accompanying docmuents that may have been required. Such things as compliance
with course coding standards, good choices of names, appropriate design,
adherence to the project requirements, and general qualities such as readability
will all come into play during this phase.
Please note the following:
- Only under the most extraordinary circumstances can a non-functioning
program receive credit during Phase 2.
- You are assured only up to 75 percentage points for a correctly functioning
project meeting all requirements. The remainder will depend on your code quality
and engineering appropriateness.
- Your project score may change by plus or minus 25 percent
during the subjective assessment.
- Copying of code from any source outside of the course library is strictly
forbidden.
- Shared submissions are not allowed, unless the project has been designated
a group project. Shared submissions will share the grade when detected.
- You must understand your project work. If you are asked to explain your work, and if you cannot do so, you may be
assigned a grade of zero.
Examples of "coding standards": use only angle brackets to include files; use
prefix increment/decrement unless the value returned by
postfix is meaningfully used; use
explicit namespace scope resolution instead of the "using" directive;
use C++ stream I/O. See the Coding Standards
documment for a complete discussion of the standards.
For some discussion of variable names and scoping, see this FAQ.