Skip to content

Grading

Shuming edited this page Apr 23, 2019 · 3 revisions

2019 CP3108A: Team GRADING (grader)

The project is a combination of multiple features, distributed across the client (cadet-frontend), server (cadet) and autograder (grader) repositories.

The improvements are:

  • Editor template reset button (client)
  • Integration of new XML format and autograder improvements (client and server)
  • Refactoring of autograder (server and grader)
  • Client-side public test case support (client)
  • Grading overview overhaul (client and server)
  • Server-side pagination (client and server)

Scroll below to view the documentation for the changes made to the grader.


Feature 1: Editor template reset button (Completed)

Please proceed to the client repository reference.


Feature 2: Integration of new XML format (Completed)

Please proceed to either the client repository reference or server repository reference.


Feature 3: Refactoring of autograder (Completed)

Rationale: Refactor autograder for increased reliability, greater grading feedback and to support grading of assessments utilising the new XML format (specifications here).

Pull requests

Changelog
  • Amended grader output from a output array Output[] to a Summary JSON output format
    • Stores aggregate score for all test cases and array of Output objects, each representing the result of executing a test case with the students' program
  • Enforced default lambda worker timeout of 3000 ms
  • Refactored grader script to support the new XML format
    • Supports isolated calls to each test case, output comparison and test case weightage
Outstanding issues
  • Rewrite tests to exclude library files and only test the autograder script and functionality
  • #65: Separate external libraries from autograder

Feature 4: Client-side public test case support (In progress)

Please proceed to the client repository reference.


Feature 5: Grading overview overhaul (Completed)

Please proceed to either the client repository reference or server repository reference.


Feature 6: Server-side pagination (Completed)

Please proceed to either the client repository reference or server repository reference.