CSC/ECE 517 Spring 2022 - E2232: Revision planning tool

From Expertiza_Wiki
Revision as of 21:17, 11 April 2022 by Lpobrien (talk | contribs)
Jump to navigation Jump to search

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

The implementation of this needs to fit within the framework created by E2161 (Fall 2021).

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.

Rationale

The general workflow will be maintained from the previous iterations working on this project

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.

Current Flow

Firstly, before the round 2 submission, you can look into your work, but the revision plan.

And then, when it comes to the round 2 submission, if we didn't deal with the "Revision Planning", then the "Your work" part becomes gray.

After editing the "Revision Planning", we can submit our work.

Current User Interface
Reviews cannot be done during the submission phase

Implementation to be completed

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.

Because the existing functionality encompasses the intended instructions fairly clearly the work that needs to be done for our purposes would be to pass rspec tests that currently cause the build to fail. This functionality would involve us causing different flows based upon the type of user completing the review. Shown below. HTML changes must also be made in order to pass, specifically needing a change to the display_as_html and participant_scores methods to return the correct html values.

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.

Design Changes

Because the changes to the current implementation is limited to specific implementation, the UML design of the project will remain the same as the previous implementation.

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. RSpec testing will be added in order to increase coverage. To do this we will test the flows associated with different user types. Currently the only passing tests are related to student flows and tests may be added that work with instructors. These may include editing the reviews once they are created, and ensuring that an instructor has the ability to make edits.

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?


Team Information

  • Lawrence O'Brien (lpobrien)
  • Joshua Lin (jlin36)
  • Weiqi Sun (wsun23)
  • Wyatt Plaga (wgplaga)
  • Mentor: Nicholas Himes (nnhimes)