CSC/ECE 517 Spring 2022 - E2232: Revision planning tool
Project Goal
The primary objective for this project is to create a tool that can be used for the revision of projects at a time after their original submission upon the delivery of constructive feedback from their peers or instructors.
Project Plan
Merge code for revision planning into current beta
The functionality of E2152 works well but it was developed based on the previous beta and cannot be merged into the current beta. We will first merge the modification in the following files to the current beta and solve the conflicts.
Files to be merged
- app/controllers/revision_plan_questionnaires_controller.rb
- app/models/team.rb
- app/controllers/grades_controller.rb
- app/helpers/grades_helper.rb
- app/models/assignment_participant.rb
- app/models/response_map.rb
- app/views/grades/_participant_charts.html.erb
- app/views/grades/view_team.html.erb
- app/views/student_task/view.html.erb
- app/controllers/response_controller.rb
- app/views/response/response.html.erb
- config/routes.rb
- db/schema.rb
- spec/models/response_spec.rb
- spec/models/review_response_map_spec.rb
- spec/features/assignment_creation_general_tab_spec.rb
- app/models/revision_plan_team_map.rb
Merge code for revision planning with code for role based reviewing and topic specific rubrics
The functionality of E2261 works well and has been merged into the current beta. By merging revision planning tool and topic specific rubrics, in the peer review process, In the first round of review, the rubric is designed by the instructor and varies by topic In the second round of review, the rubric includes two parts: part 1 is designed by the instructor and varies by topic, par2 2 is designed by the team based on the comments of the first round of review.
Current Project Implementation
What it does: In the first round of Expertiza reviews, we ask reviewers to give authors some guidance on how to improve their work. Then in the second round, reviewers rate how well authors have followed their suggestions. We could carry the interaction one step further if we asked authors to make up a revision plan based on the first-round reviews. That is, authors would say what they were planning to do to improve their work. Then second-round reviewers would assess how well they did it. In essence, this means that authors would be adding criteria to the second-round rubric that applied only to their submission. We are interested in having this implemented and used in a class so that we can study its effect.
The implementation of this needs to fit within the framework created by E2161 (Fall 2021).
Previous implementation
This project was last done in Fall 2021 (E2152). However, related merged code from E2161 (link above) means the implementation this semester may need to be changed from how E2152 did it.
- Primary Pull Request for E2152
- Second Pull Request for Revision Planning
- Previous write up for E2152
Implementation
There are actually two E2152 pull requests in Expertiza right now - the PR we saw in the demo has less recent commits than the other. And the PR we did not see has less files changed as well. They started with last year's project, so the beta they started with was the beta from last year. The changes since then will show up as merge conflicts if this project is merged.
The functionality of this project seems to work well and would be a valuable addition to Expertiza, but it cannot be merged in its current state. There are many artifacts in their PR from an old version of beta. This is because the team merged the previous teams' code into current beta, but did not remove the differences unrelated to their project. The team knew of these problems before the demo, but did not fix them.
More comments can be made in rspec tests as well. It is unclear what the coverage is of the individual tests. The file revision_plan_team_map_test.rb has nothing substantial in it.
Test Plan
Merge existing RSpec tests for revision planning into current beta
We will first merge the existing RSpec tests of E2152 to the current beta, then run and pass these tests. More comments can be made in rspec tests as well. Observe the coverage of the individual tests. Existing RSpec tests to be merged
- Controllers
- rspec spec/controllers/grades_controller_spec.rb
- rspec spec/controllers/questionnaires_controller_spec.rb
- rspec spec/controllers/questions_controller_spec.rb
- rspec spec/controllers/student_teams_controller_spec.rb
- spec/controllers/response_controller_spec.rb
- spec/controllers/revision_plan_questionnaires_controller_spec.rb
- spec/factories/revision_plan_factory.rb
- Models
- spec/models/response_spec.rb.
- spec/models/review_response_map_spec.rb
- Helpers
- rspec spec/heplers/grades_helper.rb
Develop New RSpec Tests
The RSpec tests are written to test both controllers and models.
Manual Testing
- Instructor
- Can Review rubric varied by topic be enabled?
- Can different roles be chosen for each questionnaire?
- Can an assignment with revision planning enabled be created?
- Can an assignment with 2 rounds of review be set up?
- Assignment participant
- If the revision-planning rubric can be edited or not?
- Are participants allowed to create/edit revision plan when round 1+ (1 or greater than 1) reviews have finished?
- Is revision plan editing disabled when the assignment is in review stage?
- Does participants show a summary of score for revision plan after review deadline has expired?
- Assignment reviewer
- Does the rubric page show the topic-specific rubric?
- Does the rubric page show the revision plan rubric?