CSC/ECE 517 Spring 2022 - E2241: Heatgrid fixes and improvements: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 17: Line 17:
<h2> Issues identified </h2>
<h2> Issues identified </h2>
<h3> Issue #2019: Restrict teammates from reviewing their own work</h3>
<h3> Issue #2019: Restrict teammates from reviewing their own work</h3>
<p> There are some instances where a student was shown as reviewing his/her team even though the Allow Self Review checkbox was not marked by instructor. This is impossible and is classified as a bug. This must be dealt with. Test cases must be extensively added so that we can be notified if the bug occurs again. </p>
<p> There are some instances where a student was shown as reviewing his/her team even though the "Allow Self Review" checkbox was not checked by the instructor. This situation should not arise for practical purposes. Test cases must be extensively added so that we can be notified if the bug occurs again. </p>


[[File:Screen Shot 2022-04-06 at 10.37.56 PM.png|center|450px]]
[[File:Screen Shot 2022-04-06 at 10.37.56 PM.png|center|450px]]

Revision as of 03:25, 7 April 2022

This page provides information about the documentation of E2241: Heatgrid fixes and improvements as part of CSC/ECE 517 Spring 2022 Final project.

Team

Mentor

  • Nicholas Himes (nnhimes)

Team Members (PinkPatterns)

  • Eshwar Chandra Vidhyasagar Thedla (ethedla)
  • Gokul Krishna Koganti (gkogant)
  • Jyothi Sumer Goud Maduru (jmaduru)
  • Suneha Bose (sbose2)

Heat Grid

Heat Grid refers to a part of view in Expertiza that shows review scores of all the reviews done for a particular assignment. It shows scores given for each rubric by peer reviewers. This is used by instructors to assign scores to individual assignments and by students to view review scores of their assignment. Our project scope involves dealing with fixing issues related to the heat grid and any subsequent bugs that might arrive.

Issues identified

Issue #2019: Restrict teammates from reviewing their own work

There are some instances where a student was shown as reviewing his/her team even though the "Allow Self Review" checkbox was not checked by the instructor. This situation should not arise for practical purposes. Test cases must be extensively added so that we can be notified if the bug occurs again.

Issue #1869: Deal with the metrics of the heat grid

metric-1 column name in the heat grid follows bad naming convention. It doesn't explain what the column refers to. This must be changed to make the column name more apt.

As of now, the heat grid uses only one metric (metric-1). We must facilitate the system for addition of new metrics. Instructors should be able to toggle between various metrics as per their preferences. This can be done by the use of a drop down menu.

Plan of work

Issue #2019: Restrict teammates from reviewing their own work

Relevant bug of this issue can’t be reproduced to deal with it. So comprehensive test cases must be written to be notified if the bug arises again. We are planning to add rspec unit tests covering the following cases:

  • If the instructor unchecks “ Allow self review” option
    1. Instructor should not be able to assign a student to review work that he/she has submitted.
    2. Instructor should not be able to assign a student to review work that their teammate has submitted.
    3. Students should not be able to review work he/she has submitted.
    4. Students should not be able to review work a teammate has submitted.
  • If the instructor checks “ Allow self review” option
    1. Instructor should be able to assign a student to review work that he/she has submitted.
    2. Instructor should be able to assign a student to review work that their teammate has submitted.
    3. Students should be able to review work he/she has submitted.
    4. Students should be able to review work a teammate has submitted.

Issue #1869: Deal with the metrics of the heat grid

The new metrics can be added to the Metrics table that we will create. While creating an assignment/ editing an assignment, the instructor can select a metric from the Metrics table which will be available as a dropdown menu. We will retrieve the metric selected for the assignment by the instructor and display it in the Heatgrid Map of reviews.

  • In create/edit assignment, the instructor will see ‘Metric Type’ drop down which has list of metrics based on the values in the database
  • Save the selected metric type and update the value in the database
  • Retrieve the metric type from the assignment and calculate the value of the metric
  • Display the values of the metric in the Heatgrid view

Proposed Control Flow

Design Pattern

For Issue #1869 we plan to use the Abstract Factory Pattern since we will be dealing with different families of metrics for grading purposes. It is preferable to reveal only the interfaces of metrics but conceal their implementations to avoid high coupling between classes.

Files to be targeted

Issue #1869

For Heat grid view

  • app/views/grades/_view_heatgrid.html.erb
  • app/views/grades/view_team.html.erb
  • app/helpers/grades_helper.rb
  • app/controllers/grades_controller.rb
  • app/models/vm_question_response.rb
  • app/models/vm_question_row.rb
  • assets/view_team_in_grades.js

For Assignment view

  • app/views/assignment/edit/_general.html.erb
  • app/controllers/assignments_controller.rb

Test Plan

  • Capybara Test cases for testing the UI of heat grid view with the expected metric for the respective assignment and the UI of team view with relevant metric selected with all other metrics in the dropdown
  • Spec test cases for testing the grades controller and assignment controller to check if they are returning the values as expected
  • Unit test cases will be added to verify the logic behind the methods to calculate the values for their metrics

Important Links