Skip to content

Feedback on the grading scheme for the individual assignment

To start off, the grading scheme is fairly detailed, but there are some areas where i find it could benefit from more clarity.

  1. Ambiguity in Partial Credit:
    1. Observation: Many sections mention partial credit without clearly defining what constitutes partial completion. This makes it difficult for students to judge whether they will receive full marks.
    2. Suggestion: Consider adding three clear criteria: fail, passed, and full marks, for each section. This will help students better assess whether their work meets the requirements to pass the course and aim for full points.
  2. No panics Requirement:
    1. Observation: The current tip suggests "tip: use .expect(..) in your code instead of simply .unwrap() before attempting this so that it is easier to implement when you do get around to it.". It doesn’t explain why this is preferable. It could lead to confusion as both still cause a panic.
    2. Suggestion: Rephrase the tip to explain that both .unwrap() and .expect(..) can trigger a panic if a value is None, but .expect(..) is more useful for debugging because it provides a custom error message. Additionally, emphasize that these functions should be removed for production code. A revised sentence could be: "Tip: Use .expect(..) instead of .unwrap(), as both will panic, but .expect(..) provides a clearer error message for debugging. Remember to remove these calls when submitting your final code for full marks."
  3. Complete V1.0 and V1.2 Protocol:
    1. Observation: For v1.0 and v1.2 protocol parsing, it simply states that "partial points may be awarded" if some constructs cannot be parsed, without explaining how parsing is validated.
    2. Suggestion: Emphasize that the program will be tested rigorously using a test bench, meaning even small errors in storing data can result in failure of a test case. This makes it clear to students that the format is strictly evaluated. A revised version could be: "If unable to parse certain constructs, partial points may be awarded. The program will be evaluated using a test bench, so it's crucial to ensure that the JSON output file accurately reflects the v1.0/v1.2 protocol. A single incorrect value could cause an entire test case to fail."