CSC/E1869 GRADING AUDIT TRAIL: Difference between revisions
No edit summary |
|||
(18 intermediate revisions by 3 users not shown) | |||
Line 7: | Line 7: | ||
:2. Comments previously provided by other instructors must also be preserved. | :2. Comments previously provided by other instructors must also be preserved. | ||
This information needs to be stored every time an instructor edits a grade / comment and clicks the save button. | This information needs to be stored every time an instructor edits a grade/comment and clicks the save button. | ||
Currently, there are two places need to add grading audit trail: | Currently, there are two places need to add grading audit trail: | ||
Line 16: | Line 16: | ||
===Design=== | ===Design=== | ||
We will create a database called grading_history in the system contains elements instructor id, assignment id, grade type, student id, grade, comment, and timestamp. | We will create a database called grading_history in the system contains elements of instructor id, assignment id, grade type, student id, grade, comment, and timestamp. | ||
We will use MVC design to create a model, a controller, and a view for both of '''Review Grade''' and '''Submission Grade'''. | We will use MVC design to create a model, a controller, and a view for both of '''Review Grade''' and '''Submission Grade'''. | ||
:Model: grading_history.rb. Has a list of attributes contains instructor id, assignment id, grade type, student id, grade, comment, and timestamp. | :Model: grading_history.rb. Has a list of attributes contains instructor id, assignment id, grade type, student id, grade, comment, and timestamp. | ||
:Controller: grading_history_controller.rb. Saves a new entry into database every time a review grade or submission grade is saved | :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 submission record in the system. | :View: index_html.erb. Displays current submission or review's grading history. An existing example of this is a submission record in the system. | ||
We also need to modified grades controller, so that every time, a grade is submitted or edited, grading_history_controller.rb will call a method to create | We also need to modified 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. | ||
===Expected View=== | ===Expected View=== | ||
==== The list submission page with the new "grade history" option==== | |||
[[Image: E1869-Screenshot-1.jpg|50]] | |||
==== The review report page with the new "grade history" option==== | |||
[[File:E1869-Screenshot-2.jpg]] | [[File:E1869-Screenshot-2.jpg]] | ||
==== Grade history for a given team==== | |||
[[File:E1869-Screenshot-3.jpg]] | |||
===Diagram=== | ===Diagram=== | ||
[[File:E1869_Grading_Audit_Trails_UML.jpg]] | [[File:E1869_Grading_Audit_Trails_UML.jpg]] | ||
=='''Testing Plan'''== | =='''Testing Plan'''== | ||
Line 64: | Line 44: | ||
Functional testing: | Functional testing: | ||
1. Test if SubmissionGradeHistory.create is being called when a submission grade is changed. | |||
spec/controllers/grades_controller_spec.rb https://bit.ly/2EpJaGS | |||
1. | |||
2. Test if ReviewGradeHistory.create is being called when a submission grade is changed. | |||
spec/controllers/review_mapping_controller_spec.rb https://bit.ly/2LjM4OF | |||
3. Test if GradeHistory.where is being called when grading history button is clicked. | |||
spec/controllers/grading_histories_controller_test.rb https://bit.ly/2PFLknz | |||
=='''Actual Implementation'''== | =='''Actual Implementation'''== | ||
===Actual View=== | ===Actual View=== | ||
== The list submission page with the new "grade history" option== | |||
[[File:E1869-Actual-1.JPG]] | [[File:E1869-Actual-1.JPG]] | ||
== The Review Report page with the new "grade history" option== | |||
[[File:E1869-Actual-3.png]] | [[File:E1869-Actual-3.png]] | ||
== Grade history page for a given team(submission grade history)== | |||
[[File:E1869-Actual-2.JPG]] | [[File:E1869-Actual-2.JPG]] | ||
== Grade history for a given student(review grade history)== | |||
[[File:E1869-Actual-4.png]] | [[File:E1869-Actual-4.png]] | ||
=== | |||
==Files | ===Code Changes=== | ||
*app/ | |||
==Files Modified== | |||
*app/controllers/grades_controller.rb https://bit.ly/2Cg9WzR | |||
''' | ''' | ||
Creates a Grading History Record for every Submission grade edited by the instructor for a Team. | |||
''' | ''' | ||
*app/controllers/ | |||
*app/controllers/review_mapping_controller.rb https://bit.ly/2QywzZc | |||
''' | ''' | ||
Creates a Grading History Record for every Review grade edited by the instructor for a Student. | |||
''' | |||
* app/views/assignments/list_submissions.html.erb https://bit.ly/2UHNRkO | |||
''' | ''' | ||
Add code to support view changes for Grade Record | |||
''' | ''' | ||
* app/views/review_mapping/_review_report.html.erb https://bit.ly/2GfTqUj | |||
''' | ''' | ||
==Files | Add code to support view changes for Grade Record | ||
* app/controllers/ | ''' | ||
==Files Added== | |||
*app/controllers/grading_histories_controller.rb https://bit.ly/2RY5xa6 | |||
''' | |||
Calls the grading history view after validaing Submission and Review Type. | |||
''' | |||
*app/models/grading_history.rb https://bit.ly/2PHKNRY | |||
''' | |||
Model for Grading History. | |||
''' | ''' | ||
*app/models/review_grading_history.rb https://bit.ly/2SPNR0e | |||
''' | |||
Model containing specifics of Review Grading History. Inherits Grading History. | |||
''' | ''' | ||
* app/ | |||
*app/models/submission_grading_history.rb https://bit.ly/2S5EI3J | |||
''' | ''' | ||
Model containing specifics of Submission Grading History. Inherits Grading History. | |||
''' | ''' | ||
* app/views/ | |||
*app/views/grading_history/index_html.erb https://bit.ly/2rDiZF1 | |||
''' | ''' | ||
This is a view for grading audit trail, it will display all grading histories of a submission/review | |||
''' | ''' | ||
Latest revision as of 17:30, 16 December 2018
Introduction
Problem Statement
After an instructor gave a grade to an assignment, there is no way to track who gave the grade. A grading audit trail must be created and the following information needs to be stored:
- 1. When a grade is assigned by an instructor, there needs to be an indication of who did it and when it was done.
- 2. Comments previously provided by other instructors must also be preserved.
This information needs to be stored every time an instructor edits a grade/comment and clicks the save button.
Currently, there are two places need to add grading audit trail:
- 1. Review grade: Log in as instructor -> Manage -> Assignments -> View Review Report
- 2. Submission grade: Log in as instructor -> Manage -> Assignments -> View submissions
Proposed Solution
Design
We will create a database called grading_history in the system contains elements of instructor id, assignment id, grade type, student id, grade, comment, and timestamp.
We will use MVC design to create a model, a controller, and a view for both of Review Grade and Submission Grade.
- Model: grading_history.rb. Has a list of attributes contains 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.
We also need to modified 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.
Expected View
The list submission page with the new "grade history" option
The review report page with the new "grade history" option
Grade history for a given team
Diagram
Testing Plan
Functional testing:
1. Test if SubmissionGradeHistory.create is being called when a submission grade is changed.
spec/controllers/grades_controller_spec.rb https://bit.ly/2EpJaGS
2. Test if ReviewGradeHistory.create is being called when a submission grade is changed.
spec/controllers/review_mapping_controller_spec.rb https://bit.ly/2LjM4OF
3. Test if GradeHistory.where is being called when grading history button is clicked.
spec/controllers/grading_histories_controller_test.rb https://bit.ly/2PFLknz
Actual Implementation
Actual View
The list submission page with the new "grade history" option
The Review Report page with the new "grade history" option
Grade history page for a given team(submission grade history)
Grade history for a given student(review grade history)
Code Changes
Files Modified
- app/controllers/grades_controller.rb https://bit.ly/2Cg9WzR
Creates a Grading History Record for every Submission grade edited by the instructor for a Team.
- app/controllers/review_mapping_controller.rb https://bit.ly/2QywzZc
Creates a Grading History Record for every Review grade edited by the instructor for a Student.
- app/views/assignments/list_submissions.html.erb https://bit.ly/2UHNRkO
Add code to support view changes for Grade Record
- app/views/review_mapping/_review_report.html.erb https://bit.ly/2GfTqUj
Add code to support view changes for Grade Record
Files Added
- app/controllers/grading_histories_controller.rb https://bit.ly/2RY5xa6
Calls the grading history view after validaing Submission and Review Type.
- app/models/grading_history.rb https://bit.ly/2PHKNRY
Model for Grading History.
- app/models/review_grading_history.rb https://bit.ly/2SPNR0e
Model containing specifics of Review Grading History. Inherits Grading History.
- app/models/submission_grading_history.rb https://bit.ly/2S5EI3J
Model containing specifics of Submission Grading History. Inherits Grading History.
- app/views/grading_history/index_html.erb https://bit.ly/2rDiZF1
This is a view for grading audit trail, it will display all grading histories of a submission/review