CSC/ECE 517 Fall 2022 - E2285. Grading audit trail
Team Introduction
Team Member
Zanxiang Wang (zwang236@ncsu.edu)
Nikhil Mehra (nmehra2@ncsu.edu)
Brian Davis (bbdavis4@ncsu.edu)
Mentor
Not Assigned
Problem Description
A grading audit trail must be created and the following information needs to be stored:
- When an instructor assigns a grade, there needs to be an indication of who did it and when it was done.
- Comments previously provided by other instructors must also be preserved.
This information must be stored every time an instructor edits a grade/comment and clicks the save button.
The grading audit trail can probably pattern off the submission records history (shown below) on expertiza.
The below page can be reached by logging in as instructor -> Manage -> Assignments -> View Submissions -> History
At the minimum, a grading log entry must include the instructor id, assignment id, student id, grade, comment and timestamp.
Prior Work
The team created a database called grading_history in the system which stores elements of instructor id, assignment id, grade type, student id, grade, comment, and timestamp.
They used the MVC design to create a model, a controller, and a view for both Review Grade and Submission Grade.
- Model: grading_history.rb. Has a list of attributes containing instructor id, assignment id, grade type, student id, grade, comment, and timestamp.
- Controller: grading_history_controller.rb. Saves a new entry into the database every time a review grade or submission grade is saved
- View: index_html.erb. Displays current submission or review's grading history. An existing example of this is a submission record in the system.
They also modified the grades controller, so that every time, a grade is submitted or edited, grading_history_controller.rb will call a method to create an entry saves into the database.
https://www.youtube.com/watch?v=yyxX_kRYxLc
General Design Plan
Preliminary: The previous iterations of the project fulfilled all the functional requirements of the "grading audit trail" feature, but it is four years old and the pull requests never merged. Thus, the changes are outdated and cause build issues with the latest Expertiza.
1. Cherry pick and manually fixup the changes from previous iterations to fix build issues.
2. Cleanup GUI so it meshes cleanly with latest Expertiza.
3. Add comments and test cases.