CSC/ECE 517 Fall 2021 - E2155. Calibration submissions should be copied along with calibration assignments: Difference between revisions
(→Links) |
|||
(21 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
==Project Overview== | ==Project Overview== | ||
===Background=== | ===Background=== | ||
To improve the experience of peer-reviewing in Expertiza and determine the competent reviewers amongst all the reviewers, creating a new form of review for assignments was considered. As a result, "calibration assignments" were introduced to the Expertiza system. The calibration assignments were to be assigned before peer review occurred so that students would know if they reviewed | To improve the experience of peer-reviewing in Expertiza and determine the competent reviewers amongst all the reviewers, creating a new form of review for assignments was considered. As a result, "calibration assignments" were introduced to the Expertiza system. The calibration assignments were to be assigned before peer review occurred so that students would know if they reviewed the same way that the instructor had reviewed the assignment. Calibration assignments show whether or not the student had given the same or similar score as the instructor for rubric items. | ||
To set up a calibration assignment that both the instructor and the course students can review, the instructor needs to create a new assignment, add the extra participant manually, impersonate the participant, and finally, submit the review, which is not a great experience. What's more is that currently, if an instructor wishes to do this every semester or every year with the same course to copy over the calibration assignments, they have to repeat this process yet again. | To set up a calibration assignment that both the instructor and the course students can review, the instructor needs to create a new assignment, add the extra participant manually, impersonate the participant, and finally, submit the review, which is not a great experience. What's more is that currently, if an instructor wishes to do this every semester or every year with the same course to copy over the calibration assignments, they have to repeat this process yet again. | ||
===Objectives=== | ===Objectives=== | ||
Line 13: | Line 13: | ||
The instructor can enable the calibration review in two ways: | The instructor can enable the calibration review in two ways: | ||
====1. Check "Calibration for training?" in an assignment then copy the participants from the course.==== | ====1. Check "Calibration for training?" in the general tab of an assignment then copy the participants from the course.==== | ||
[[File:2021-11-03 011751.png]] | [[File:2021-11-03 011751.png]] | ||
====2. Copy existing assignment and its participants with calibration review enabled.==== | ====2. Copy existing assignment and its participants with calibration review enabled.==== | ||
Line 24: | Line 25: | ||
However, their implementation introduced several assumptions about the system that we will address to allow merging into production. | However, their implementation introduced several assumptions about the system that we will address to allow merging into production. | ||
===Issues | ===Issues with the Previous work=== | ||
#The project assumes that | #The project assumes that calibration submissions starts at directory 0, which is only correct if the users who submit the calibration submissions are the first to be added as participants to the assignment. | ||
##Suggested Fix: set submitter_count to the largest directory number that Expertiza used for calibration. | ##Suggested Fix: set submitter_count to the largest directory number that Expertiza used for calibration. | ||
###Allows us to keep track of the most recent calibration submission. | ###Allows us to keep track of the most recent calibration submission. | ||
###Gives us something we can reference during copying to get the correct directory. | ###Gives us something we can reference during copying to get the correct directory. | ||
#The due date of calibration review are missing. [[File:2021-11-03 235457.png]] | |||
#The copied assignments do not have participants copied. [[File:2021-11-04 013403.png]] | |||
==Design== | ==Design== | ||
#TODO: add UML diagram, preliminary class design | |||
[[File:2021-11-04 230435.png]] | |||
==Implementation== | |||
===Files we originally planned to modify=== | |||
#app/controllers/student_review_controller.rb<br/>The mappings of reviews or calibration reviews should be redesigned. | |||
#views/student_review/list.html.erb<br/>The view of the list should be modified so that the calibration review can be displayed correctly. | |||
#views/assignments/edit/_due_dates.html.erb<br/> | |||
#app/models/deadline_right.rb | |||
#app/controllers/assignments_controller.rb<br/>The assignments_controller might need a fix so that the assignments with calibration review can be deleted properly. | |||
#app/views/student_review/_responses.html.erb | |||
===Files we modified=== | |||
#app/models/assignment_form.rb | |||
##Removed vary_by_topic_desired from the update function. | |||
##Removed topic references from update_assignment_questionnaires. | |||
##Updated Questionnaire to AssignmentQuestionnaire. | |||
##Added self.copy_calibration function. | |||
##Updated the copy counter. | |||
#app/models/assignment_team.rb | |||
##Removed code for E1973. | |||
##Updated review response map return. | |||
##Created directory_path function. | |||
#app/models/deadline_right.rb | |||
##Added calibration to the model. | |||
#app/models/participant.rb | |||
##Added self.createparticipant function. | |||
#app/models/review_response_map.rb | |||
##Removed E1973 code. | |||
##Removed topic from questionnaire function. | |||
##Shortened self.import function. | |||
##Added self.newreviewresp function. | |||
#app/models/submission_record.rb | |||
##Added self.copycalibratedsubmissions function. | |||
#app/models/team.rb | |||
##Added self.createnewteam function. | |||
#app/views/assignments/edit/_due_dates.html.erb | |||
##Added checkmark for calibration. | |||
#spec/features/assignment_creation_general_tab_spec.rb | |||
##See tests section. | |||
#spec/models/assignment_form_spec.rb | |||
##See tests section. | |||
#db/migrate/20211129124620_add_calibration_to_deadline_type.rb | |||
##We added a new migration for AddCalibrationToDeadlineType. | |||
#Screenshots: | |||
[[File:2021-11-29 235044.png]] | |||
[[File:2021-11-29 235328.png]] | |||
[[File:2021-11-29 235441.png]] | |||
[[File:2021-11-29 235827.png]] | |||
[[File:2021-11-29 235912.png]] | |||
==Testing Plan== | |||
#Unit test files added: | |||
##spec/models/assignment_form_spec.rb | |||
###Added tests for function 'copy'. Test to make sure that the assignment id is updated on copy and no longer references the original assignment. We also make sure that the name of the new file is correct. | |||
##spec/features/assignment_creation_general_tab_spec.rb | |||
###Added unit test to make sure that the calibration shows in the due dates tab. | |||
Testing scenarios: | |||
#The instructor copies the existing assignment<br />The copied assignment stored in the correct directory<br />Expect the number of calibration submitters of the copied assignment=the number of participants of the original assignment | |||
#The instructor enables the calibration review of an assignment<br />The calibration tab appears next to the due dates tab | |||
#The student attempts his/her calibration review<br />The student submits the calibration review<br />The webpage shows what the student has submitted as well as a long that says "Show Calibration Results". | |||
==Errors Found== | |||
We found, and fixed, a bug in app/controllers/response_controller.rb where the code was using get_reviewer instead of reviewer. We needed to fix this bug in order for our code to work. | |||
==Future Improvements== | |||
We believe that submitter_count can be removed from the database since it is never used in the project and in order to update the student directory number we do set_student_directory_num on any of team object within an assignment. | |||
==Links== | |||
[https://github.com/Kasimir123/expertiza/tree/beta Github repository] | |||
[https://youtu.be/_53Zyyz59q0 Demonstration] | |||
==Team== | ==Team== | ||
#John Marsden (ProfDoof) | #John Marsden (ProfDoof) |
Latest revision as of 05:03, 30 November 2021
Project Overview
Background
To improve the experience of peer-reviewing in Expertiza and determine the competent reviewers amongst all the reviewers, creating a new form of review for assignments was considered. As a result, "calibration assignments" were introduced to the Expertiza system. The calibration assignments were to be assigned before peer review occurred so that students would know if they reviewed the same way that the instructor had reviewed the assignment. Calibration assignments show whether or not the student had given the same or similar score as the instructor for rubric items.
To set up a calibration assignment that both the instructor and the course students can review, the instructor needs to create a new assignment, add the extra participant manually, impersonate the participant, and finally, submit the review, which is not a great experience. What's more is that currently, if an instructor wishes to do this every semester or every year with the same course to copy over the calibration assignments, they have to repeat this process yet again.
Objectives
Expertiza can fix the problem of repeatedly setting up the calibration assignments by automatically copying the previous calibration assignments with all attached reviews.
Previous Implementation
In the previous implementation, the implementors designed the calibration review as part of the assignment and students were able to participate in calibration review training before reviewing other students' work.
The instructor can enable the calibration review in two ways:
1. Check "Calibration for training?" in the general tab of an assignment then copy the participants from the course.
2. Copy existing assignment and its participants with calibration review enabled.
Detailed System Overview can be found at the following:
CSC/ECE 517 Fall 2017/E17A4 Allow calibration to be part of an assignment
However, their implementation introduced several assumptions about the system that we will address to allow merging into production.
Issues with the Previous work
- The project assumes that calibration submissions starts at directory 0, which is only correct if the users who submit the calibration submissions are the first to be added as participants to the assignment.
- Suggested Fix: set submitter_count to the largest directory number that Expertiza used for calibration.
- Allows us to keep track of the most recent calibration submission.
- Gives us something we can reference during copying to get the correct directory.
- Suggested Fix: set submitter_count to the largest directory number that Expertiza used for calibration.
- The due date of calibration review are missing.
- The copied assignments do not have participants copied.
Design
- TODO: add UML diagram, preliminary class design
Implementation
Files we originally planned to modify
- app/controllers/student_review_controller.rb
The mappings of reviews or calibration reviews should be redesigned. - views/student_review/list.html.erb
The view of the list should be modified so that the calibration review can be displayed correctly. - views/assignments/edit/_due_dates.html.erb
- app/models/deadline_right.rb
- app/controllers/assignments_controller.rb
The assignments_controller might need a fix so that the assignments with calibration review can be deleted properly. - app/views/student_review/_responses.html.erb
Files we modified
- app/models/assignment_form.rb
- Removed vary_by_topic_desired from the update function.
- Removed topic references from update_assignment_questionnaires.
- Updated Questionnaire to AssignmentQuestionnaire.
- Added self.copy_calibration function.
- Updated the copy counter.
- app/models/assignment_team.rb
- Removed code for E1973.
- Updated review response map return.
- Created directory_path function.
- app/models/deadline_right.rb
- Added calibration to the model.
- app/models/participant.rb
- Added self.createparticipant function.
- app/models/review_response_map.rb
- Removed E1973 code.
- Removed topic from questionnaire function.
- Shortened self.import function.
- Added self.newreviewresp function.
- app/models/submission_record.rb
- Added self.copycalibratedsubmissions function.
- app/models/team.rb
- Added self.createnewteam function.
- app/views/assignments/edit/_due_dates.html.erb
- Added checkmark for calibration.
- spec/features/assignment_creation_general_tab_spec.rb
- See tests section.
- spec/models/assignment_form_spec.rb
- See tests section.
- db/migrate/20211129124620_add_calibration_to_deadline_type.rb
- We added a new migration for AddCalibrationToDeadlineType.
- Screenshots:
Testing Plan
- Unit test files added:
- spec/models/assignment_form_spec.rb
- Added tests for function 'copy'. Test to make sure that the assignment id is updated on copy and no longer references the original assignment. We also make sure that the name of the new file is correct.
- spec/features/assignment_creation_general_tab_spec.rb
- Added unit test to make sure that the calibration shows in the due dates tab.
- spec/models/assignment_form_spec.rb
Testing scenarios:
- The instructor copies the existing assignment
The copied assignment stored in the correct directory
Expect the number of calibration submitters of the copied assignment=the number of participants of the original assignment - The instructor enables the calibration review of an assignment
The calibration tab appears next to the due dates tab - The student attempts his/her calibration review
The student submits the calibration review
The webpage shows what the student has submitted as well as a long that says "Show Calibration Results".
Errors Found
We found, and fixed, a bug in app/controllers/response_controller.rb where the code was using get_reviewer instead of reviewer. We needed to fix this bug in order for our code to work.
Future Improvements
We believe that submitter_count can be removed from the database since it is never used in the project and in order to update the student directory number we do set_student_directory_num on any of team object within an assignment.
Links
Team
- John Marsden (ProfDoof)
- Lee Shyu (ls-hyu)
- Angela Ho (angelaho0504)
- Kasimir Schulz (Kasimir123)