CSC/ECE 517 Fall 2022 - E2284. Calibration submissions should be copied along with calibration assignments: Difference between revisions
(Minor Refactoring) |
|||
Line 1: | Line 1: | ||
== | == Introduction == | ||
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff. If the student’s review “resembles” the staff | A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff. If the student’s review “resembles” the staff member’s review, then the student is presumed to be a competent reviewer. Here is a further description of calibration assignments. The instructor (or TA) adds a few extra participants to the assignment to set up calibration. The instructor (or TA) then impersonates the extra participants and submits work on behalf of each of the extra participants. | ||
== | == Problem Statement == | ||
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester. Copying the extra participants along with their teams, submissions, and responses when copying an assignment makes things much easier. | Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester. Copying the extra participants along with their teams, submissions, and responses when copying an assignment makes things much easier. | ||
== | == Previous Implementation == | ||
* '''Issue 1: To set up calibration, the instructor (or TA) adds a few extra participants to the assignment. The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.''' - | * '''Issue 1: To set up calibration, the instructor (or TA) adds a few extra participants to the assignment. The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.''' - | ||
Line 15: | Line 15: | ||
self.copy_participants_for_assignment: copies old participants to new --> assignment_participant.rb, it is in teams_users.rb, which seems misplaced. | self.copy_participants_for_assignment: copies old participants to new --> assignment_participant.rb, it is in teams_users.rb, which seems misplaced. | ||
* '''Issue 3: Returns a mapping from old response map to new response map. | * '''Issue 3: Returns a mapping from the old response map to the new response map. | ||
self.copy_review_response_map, returns a mapping from the old response map to the new response map. It is in review_response_map.rb. This can be an instance method. There is a copy_review_responses in this class too. | self.copy_review_response_map, returns a mapping from the old response map to the new response map. It is in review_response_map.rb. This can be an instance method. There is a copy_review_responses in this class too. | ||
Line 30: | Line 30: | ||
=== | === Tasks === | ||
== | == Design == | ||
=== | === Changed Files === | ||
1. app/assets/javascripts/tree_display.jsx | 1. app/assets/javascripts/tree_display.jsx | ||
Line 66: | Line 66: | ||
15. spec/models/vm_question_response_spec.rb | 15. spec/models/vm_question_response_spec.rb | ||
== | == Final Implementation == | ||
== | == Test Plan == | ||
=== | === Testing Goals === | ||
The main goal of our testing is to ensure that when a new calibration assignment is added, all of the qualifying previous calibration submissions | The main goal of our testing is to ensure that when a new calibration assignment is added, all of the qualifying previous calibration submissions | ||
and reviews are successfully copied over without overwriting any existing submissions. | and reviews are successfully copied over without overwriting any existing submissions. | ||
=== | === Automated Unit Tests === | ||
== | == Conclusion == | ||
== | == Team Information == | ||
Mentor | === Mentor === | ||
Dr. Ed Gehringer (efg@ncsu.edu) | |||
=== Team Members === | |||
Pradyumna Khawas (ppkhawas@ncsu.edu) <br/> | |||
Abhimanyu Bellam (abellam2@ncsu.edu) <br/> | Abhimanyu Bellam (abellam2@ncsu.edu) <br/> | ||
Vishnu Vinod Erapalli (verapal@ncsu.edu) <br/> | Vishnu Vinod Erapalli (verapal@ncsu.edu) <br/> | ||
== | == Resources == |
Revision as of 21:52, 14 November 2022
Introduction
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff. If the student’s review “resembles” the staff member’s review, then the student is presumed to be a competent reviewer. Here is a further description of calibration assignments. The instructor (or TA) adds a few extra participants to the assignment to set up calibration. The instructor (or TA) then impersonates the extra participants and submits work on behalf of each of the extra participants.
Problem Statement
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester. Copying the extra participants along with their teams, submissions, and responses when copying an assignment makes things much easier.
Previous Implementation
- Issue 1: To set up calibration, the instructor (or TA) adds a few extra participants to the assignment. The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants. -
This is extra trouble. An instructor needn't have to resubmit the same calibration submissions every semester.
- Issue 2: Not all uses of class methods are good.
self.copy_participants_for_assignment: copies old participants to new --> assignment_participant.rb, it is in teams_users.rb, which seems misplaced.
- Issue 3: Returns a mapping from the old response map to the new response map.
self.copy_review_response_map, returns a mapping from the old response map to the new response map. It is in review_response_map.rb. This can be an instance method. There is a copy_review_responses in this class too.
- Issue 4: Code missing without causing a bug
Line 65 of submit_hyperlink has missing code.
- Issue 5: Old code not reused.
New code was written to copy a team in teams_user.rb. There already exists code to copy a team.
- Issue 6: No Automated tests written
Tasks
Design
Changed Files
1. app/assets/javascripts/tree_display.jsx
2. app/controllers/assessment360_controller.rb
3. app/controllers/review_mapping_controller.rb
4. app/models/assignment_participant.rb
5. app/models/metareview_questionnaire.rb
6. app/models/vm_question_response.rb
7. app/views/assessment360/all_students_all_reviews.html.erb
8. app/views/assessment360/index.html.erb
9. config/routes.rb
10. lib/average.rb
11. spec/controllers/assessment360_controller_spec.rb
12. spec/controllers/review_mapping_controller_spec.rb
13. spec/models/assignment_participant_spec.rb
14. spec/models/student_task_spec.rb
15. spec/models/vm_question_response_spec.rb
Final Implementation
Test Plan
Testing Goals
The main goal of our testing is to ensure that when a new calibration assignment is added, all of the qualifying previous calibration submissions and reviews are successfully copied over without overwriting any existing submissions.
Automated Unit Tests
Conclusion
Team Information
Mentor
Dr. Ed Gehringer (efg@ncsu.edu)
Team Members
Pradyumna Khawas (ppkhawas@ncsu.edu)
Abhimanyu Bellam (abellam2@ncsu.edu)
Vishnu Vinod Erapalli (verapal@ncsu.edu)