CSC/ECE 517 Fall 2021 - E2155. Calibration submissions should be copied along with calibration assignments
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.
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".
Links
Team
- John Marsden (ProfDoof)
- Lee Shyu (ls-hyu)
- Angela Ho (angelaho0504)
- Kasimir Schulz (Kasimir123)