<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Akashya3</id>
	<title>Expertiza_Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Akashya3"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Akashya3"/>
	<updated>2026-08-11T18:17:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138904</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138904"/>
		<updated>2021-05-01T17:41:32Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Issues Fixed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
''Original :''&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
''Mock_up:''&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page ===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
# app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#app/assets/stylesheets/grades.scss&lt;br /&gt;
#app/models/review_response_map.rb&lt;br /&gt;
&lt;br /&gt;
====New Look Summary Page====&lt;br /&gt;
[[File: New_summary_page.PNG|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Issues Fixed====&lt;br /&gt;
&lt;br /&gt;
*We decided to fix all of our issues with summary page like columns taking too much width, header texts like &amp;quot;Reviewee&amp;quot; and &amp;quot;Score&amp;quot; repeated unnecessarily by reorganizing the page to take better advantage of the available space. We placed the questions vertically, astride each other, rather than horizontally.&lt;br /&gt;
*&amp;quot;Scores&amp;quot; and &amp;quot;comments&amp;quot; column were merged together for aesthetic reasons and to improve readability. The scores are displayed with a colorful background indicating its value.&lt;br /&gt;
''Before Modification''&lt;br /&gt;
                                                                                           &lt;br /&gt;
[[File: Scores_comments_old.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
''After Modification''&lt;br /&gt;
&lt;br /&gt;
[[File: Scores_comments_new.PNG|600px]]&lt;br /&gt;
*“Review: Round1” was changed to “Review : Round1”. Also the title &amp;quot;Review scores: student5061&amp;quot; was changed to &amp;quot;Review scores by student5061&amp;quot; as its more indicative as a title.&lt;br /&gt;
''Before Modification''&lt;br /&gt;
                                                                                           &lt;br /&gt;
[[File: Header_old.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
''After Modification''&lt;br /&gt;
&lt;br /&gt;
[[File: Header_new.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
[[File: Review_round.PNG|1200px]]&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138903</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138903"/>
		<updated>2021-05-01T17:40:08Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Design Strategy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
''Original :''&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
''Mock_up:''&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page ===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
# app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#app/assets/stylesheets/grades.scss&lt;br /&gt;
#app/models/review_response_map.rb&lt;br /&gt;
&lt;br /&gt;
====New Look Summary Page====&lt;br /&gt;
[[File: New_summary_page.PNG|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Issues Fixed====&lt;br /&gt;
&lt;br /&gt;
#We decided to fix all of our issues with summary page like columns taking too much width, header texts like &amp;quot;Reviewee&amp;quot; and &amp;quot;Score&amp;quot; repeated unnecessarily by reorganizing the page to take better advantage of the available space. We placed the questions vertically, astride each other, rather than horizontally.&lt;br /&gt;
#&amp;quot;Scores&amp;quot; and &amp;quot;comments&amp;quot; column were merged together for aesthetic reasons and to improve readability. The scores are displayed with a colorful background indicating its value.&lt;br /&gt;
''Before Modification''&lt;br /&gt;
                                                                                           &lt;br /&gt;
[[File: Scores_comments_old.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
''After Modification''&lt;br /&gt;
&lt;br /&gt;
[[File: Scores_comments_new.PNG|600px]]&lt;br /&gt;
#“Review: Round1” was changed to “Review : Round1”. Also the title &amp;quot;Review scores: student5061&amp;quot; was changed to &amp;quot;Review scores by student5061&amp;quot; as its more indicative as a title.&lt;br /&gt;
''Before Modification''&lt;br /&gt;
                                                                                           &lt;br /&gt;
[[File: Header_old.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
''After Modification''&lt;br /&gt;
&lt;br /&gt;
[[File: Header_new.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
[[File: Review_round.PNG|1200px]]&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138902</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138902"/>
		<updated>2021-05-01T17:39:22Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Files Modified */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page ===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
# app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#app/assets/stylesheets/grades.scss&lt;br /&gt;
#app/models/review_response_map.rb&lt;br /&gt;
&lt;br /&gt;
====New Look Summary Page====&lt;br /&gt;
[[File: New_summary_page.PNG|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Issues Fixed====&lt;br /&gt;
&lt;br /&gt;
#We decided to fix all of our issues with summary page like columns taking too much width, header texts like &amp;quot;Reviewee&amp;quot; and &amp;quot;Score&amp;quot; repeated unnecessarily by reorganizing the page to take better advantage of the available space. We placed the questions vertically, astride each other, rather than horizontally.&lt;br /&gt;
#&amp;quot;Scores&amp;quot; and &amp;quot;comments&amp;quot; column were merged together for aesthetic reasons and to improve readability. The scores are displayed with a colorful background indicating its value.&lt;br /&gt;
''Before Modification''&lt;br /&gt;
                                                                                           &lt;br /&gt;
[[File: Scores_comments_old.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
''After Modification''&lt;br /&gt;
&lt;br /&gt;
[[File: Scores_comments_new.PNG|600px]]&lt;br /&gt;
#“Review: Round1” was changed to “Review : Round1”. Also the title &amp;quot;Review scores: student5061&amp;quot; was changed to &amp;quot;Review scores by student5061&amp;quot; as its more indicative as a title.&lt;br /&gt;
''Before Modification''&lt;br /&gt;
                                                                                           &lt;br /&gt;
[[File: Header_old.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
''After Modification''&lt;br /&gt;
&lt;br /&gt;
[[File: Header_new.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
[[File: Review_round.PNG|1200px]]&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138901</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138901"/>
		<updated>2021-05-01T17:38:47Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Files Modified */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page ===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
# app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#app/assets/stylesheets/grades.scss&lt;br /&gt;
#app/models/review_mapping.rb&lt;br /&gt;
&lt;br /&gt;
====New Look Summary Page====&lt;br /&gt;
[[File: New_summary_page.PNG|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Issues Fixed====&lt;br /&gt;
&lt;br /&gt;
#We decided to fix all of our issues with summary page like columns taking too much width, header texts like &amp;quot;Reviewee&amp;quot; and &amp;quot;Score&amp;quot; repeated unnecessarily by reorganizing the page to take better advantage of the available space. We placed the questions vertically, astride each other, rather than horizontally.&lt;br /&gt;
#&amp;quot;Scores&amp;quot; and &amp;quot;comments&amp;quot; column were merged together for aesthetic reasons and to improve readability. The scores are displayed with a colorful background indicating its value.&lt;br /&gt;
''Before Modification''&lt;br /&gt;
                                                                                           &lt;br /&gt;
[[File: Scores_comments_old.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
''After Modification''&lt;br /&gt;
&lt;br /&gt;
[[File: Scores_comments_new.PNG|600px]]&lt;br /&gt;
#“Review: Round1” was changed to “Review : Round1”. Also the title &amp;quot;Review scores: student5061&amp;quot; was changed to &amp;quot;Review scores by student5061&amp;quot; as its more indicative as a title.&lt;br /&gt;
''Before Modification''&lt;br /&gt;
                                                                                           &lt;br /&gt;
[[File: Header_old.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
''After Modification''&lt;br /&gt;
&lt;br /&gt;
[[File: Header_new.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
[[File: Review_round.PNG|1200px]]&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138900</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138900"/>
		<updated>2021-05-01T04:44:00Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Issues Fixed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page ===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
# app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
====New Look Summary Page====&lt;br /&gt;
[[File: New_summary_page.PNG|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Issues Fixed====&lt;br /&gt;
&lt;br /&gt;
#We decided to fix all of our issues with summary page like columns taking too much width, header texts like &amp;quot;Reviewee&amp;quot; and &amp;quot;Score&amp;quot; repeated unnecessarily by reorganizing the page to take better advantage of the available space. We placed the questions vertically, astride each other, rather than horizontally.&lt;br /&gt;
#&amp;quot;Scores&amp;quot; and &amp;quot;comments&amp;quot; column were merged together for aesthetic reasons and to improve readability. The scores are displayed with a colorful background indicating its value.&lt;br /&gt;
''Before Modification''&lt;br /&gt;
                                                                                           &lt;br /&gt;
[[File: Scores_comments_old.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
''After Modification''&lt;br /&gt;
&lt;br /&gt;
[[File: Scores_comments_new.PNG|600px]]&lt;br /&gt;
#“Review: Round1” was changed to “Review : Round1”. Also the title &amp;quot;Review scores: student5061&amp;quot; was changed to &amp;quot;Review scores by student5061&amp;quot; as its more indicative as a title.&lt;br /&gt;
''Before Modification''&lt;br /&gt;
                                                                                           &lt;br /&gt;
[[File: Header_old.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
''After Modification''&lt;br /&gt;
&lt;br /&gt;
[[File: Header_new.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
[[File: Review_round.PNG|1200px]]&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138899</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138899"/>
		<updated>2021-05-01T04:42:50Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Issues Fixed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page ===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
# app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
====New Look Summary Page====&lt;br /&gt;
[[File: New_summary_page.PNG|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Issues Fixed====&lt;br /&gt;
&lt;br /&gt;
# We decided to fix all of our issues with summary page like columns taking too much width, header texts like &amp;quot;Reviewee&amp;quot; and &amp;quot;Score&amp;quot; repeated unnecessarily by reorganizing the page to take better advantage of the available space. We placed the questions vertically, astride each other, rather than horizontally.&lt;br /&gt;
#&amp;quot;Scores&amp;quot; and &amp;quot;comments&amp;quot; column were merged together for aesthetic reasons and to improve readability. The scores are displayed with a colorful background indicating its value.&lt;br /&gt;
''Before Modification''&lt;br /&gt;
                                                                                           &lt;br /&gt;
[[File: Scores_comments_old.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
''After Modification''&lt;br /&gt;
&lt;br /&gt;
[[File: Scores_comments_new.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#“Review: Round1” was changed to “Review : Round1”. Also the title &amp;quot;Review scores: student5061&amp;quot; was changed to &amp;quot;Review scores by student5061&amp;quot; as its more indicative as a title.&lt;br /&gt;
''Before Modification''&lt;br /&gt;
                                                                                           &lt;br /&gt;
[[File: Header_old.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
''After Modification''&lt;br /&gt;
&lt;br /&gt;
[[File: Header_new.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
[[File: Review_round.PNG|1200px]]&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Scores_comments_old.PNG&amp;diff=138898</id>
		<title>File:Scores comments old.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Scores_comments_old.PNG&amp;diff=138898"/>
		<updated>2021-05-01T04:40:44Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Scores_comments_new.PNG&amp;diff=138897</id>
		<title>File:Scores comments new.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Scores_comments_new.PNG&amp;diff=138897"/>
		<updated>2021-05-01T04:40:33Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138896</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138896"/>
		<updated>2021-05-01T04:38:00Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Issues Fixed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page ===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
# app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
====New Look Summary Page====&lt;br /&gt;
[[File: New_summary_page.PNG|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Issues Fixed====&lt;br /&gt;
&lt;br /&gt;
# We decided to fix all of our issues with summary page like columns taking too much width, header texts like &amp;quot;Reviewee&amp;quot; and &amp;quot;Score&amp;quot; repeated unnecessarily by reorganizing the page to take better advantage of the available space. We placed the questions vertically, astride each other, rather than horizontally.&lt;br /&gt;
#&amp;quot;Scores&amp;quot; and &amp;quot;comments&amp;quot; column were merged together for aesthetic reasons and to improve readability. The scores are displayed with a colorful background indicating its value.&lt;br /&gt;
#“Review: Round1” was changed to “Review : Round1”. Also the title &amp;quot;Review scores: student5061&amp;quot; was changed to &amp;quot;Review scores by student5061&amp;quot; as its more indicative as a title.&lt;br /&gt;
''Before Modification''&lt;br /&gt;
                                                                                           &lt;br /&gt;
[[File: Header_old.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
''After Modification''&lt;br /&gt;
&lt;br /&gt;
[[File: Header_new.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
[[File: Review_round.PNG|1200px]]&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Review_round.PNG&amp;diff=138895</id>
		<title>File:Review round.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Review_round.PNG&amp;diff=138895"/>
		<updated>2021-05-01T04:37:02Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138894</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138894"/>
		<updated>2021-05-01T04:36:36Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Issues Fixed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page ===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
# app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
====New Look Summary Page====&lt;br /&gt;
[[File: New_summary_page.PNG|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Issues Fixed====&lt;br /&gt;
&lt;br /&gt;
# We decided to fix all of our issues with summary page like columns taking too much width, header texts like &amp;quot;Reviewee&amp;quot; and &amp;quot;Score&amp;quot; repeated unnecessarily by reorganizing the page to take better advantage of the available space. We placed the questions vertically, astride each other, rather than horizontally.&lt;br /&gt;
#&amp;quot;Scores&amp;quot; and &amp;quot;comments&amp;quot; column were merged together for aesthetic reasons and to improve readability. The scores are displayed with a colorful background indicating its value.&lt;br /&gt;
#“Review: Round1” was changed to “Review : Round1”. Also the title &amp;quot;Review scores: student5061&amp;quot; was changed to &amp;quot;Review scores by student5061&amp;quot; as its more indicative as a title.&lt;br /&gt;
''Before Modification''&lt;br /&gt;
                                                                                           &lt;br /&gt;
[[File: Header_old.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
''After Modification''&lt;br /&gt;
&lt;br /&gt;
[[File: Header_new.PNG|300px]]&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138893</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138893"/>
		<updated>2021-05-01T04:36:11Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* The Summary Page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page ===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
# app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
====New Look Summary Page====&lt;br /&gt;
[[File: New_summary_page.PNG|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Issues Fixed====&lt;br /&gt;
&lt;br /&gt;
# We decided to fix all of our issues with summary page like columns taking too much width, header texts like &amp;quot;Reviewee&amp;quot; and &amp;quot;Score&amp;quot; repeated unnecessarily by reorganizing the page to take better advantage of the available space. We placed the questions vertically, astride each other, rather than horizontally.&lt;br /&gt;
#&amp;quot;Scores&amp;quot; and &amp;quot;comments&amp;quot; column were merged together for aesthetic reasons and to improve readability. The scores are displayed with a colorful background indicating its value.&lt;br /&gt;
#“Review: Round1” was changed to “Review : Round1”. Also the title &amp;quot;Review scores: student5061&amp;quot; was changed to &amp;quot;Review scores by student5061&amp;quot; as its more indicative as a title.&lt;br /&gt;
''Before Modification''&lt;br /&gt;
                                                                                           &lt;br /&gt;
[[File: Header_old.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
''After Modification''&lt;br /&gt;
&lt;br /&gt;
[[File: Header_new.PNG|600px]]&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138892</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138892"/>
		<updated>2021-05-01T04:30:46Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* The Summary Page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page ===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
# app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
====New Look Summary Page====&lt;br /&gt;
[[File: New_summary_page.PNG|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Issues Fixed====&lt;br /&gt;
&lt;br /&gt;
# We decided to fix all of our issues with summary page like columns taking too much width, header texts like &amp;quot;Reviewee&amp;quot; and &amp;quot;Score&amp;quot; repeated unnecessarily by reorganizing the page to take better advantage of the available space. We placed the questions vertically, astride each other, rather than horizontally.&lt;br /&gt;
#&amp;quot;Scores&amp;quot; and &amp;quot;comments&amp;quot; column were merged together for aesthetic reasons and to improve readability. The scores are displayed with a colorful background indicating its value.&lt;br /&gt;
#“Review: Round1” was changed to “Review : Round1”. Also the title &amp;quot;Review scores: student5061&amp;quot; was changed to &amp;quot;Review scores by student5061&amp;quot; as its more indicative as a title.&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138891</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138891"/>
		<updated>2021-05-01T04:30:11Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Issues Fixed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page ===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
# app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
====New Look Summary Page====&lt;br /&gt;
[[File: New_summary_page.PNG|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Issues Fixed====&lt;br /&gt;
&lt;br /&gt;
#We decided to fix all of our issues with summary page like columns taking too much width, header texts like &amp;quot;Reviewee&amp;quot; and &amp;quot;Score&amp;quot; repeated unnecessarily by reorganizing the page to take better advantage of the available space. We placed the questions vertically, astride each other, rather than horizontally.&lt;br /&gt;
&lt;br /&gt;
#&amp;quot;Scores&amp;quot; and &amp;quot;comments&amp;quot; column were merged together for aesthetic reasons and to improve readability. The scores are displayed with a colorful background indicating its value.&lt;br /&gt;
&lt;br /&gt;
#“Review: Round1” was changed to “Review : Round1”. Also the title &amp;quot;Review scores: student5061&amp;quot; was changed to &amp;quot;Review scores by student5061&amp;quot; as its more indicative as a title.&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Header_new.PNG&amp;diff=138890</id>
		<title>File:Header new.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Header_new.PNG&amp;diff=138890"/>
		<updated>2021-05-01T04:29:50Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Header_old.PNG&amp;diff=138889</id>
		<title>File:Header old.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Header_old.PNG&amp;diff=138889"/>
		<updated>2021-05-01T04:29:41Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138888</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138888"/>
		<updated>2021-05-01T04:28:02Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Issues Fixed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page ===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
# app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
====New Look Summary Page====&lt;br /&gt;
[[File: New_summary_page.PNG|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Issues Fixed====&lt;br /&gt;
&lt;br /&gt;
# We decided to fix all of our issues with summary page like columns taking too much width, header texts like &amp;quot;Reviewee&amp;quot; and &amp;quot;Score&amp;quot; repeated unnecessarily by reorganizing the page to take better advantage of the available space. We placed the questions vertically, astride each other, rather than horizontally.&lt;br /&gt;
&lt;br /&gt;
# &amp;quot;Scores&amp;quot; and &amp;quot;comments&amp;quot; column were merged together for aesthetic reasons and to improve readability. The scores are displayed with a colorful background indicating its value.&lt;br /&gt;
&lt;br /&gt;
# “Review: Round1” was changed to “Review : Round1”. Also the title &amp;quot;Review scores: student5061&amp;quot; was changed to &amp;quot;Review scores by student5061&amp;quot; as its more indicative as a title.&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138887</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138887"/>
		<updated>2021-05-01T04:18:45Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Issues Fixed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page ===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
# app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
====New Look Summary Page====&lt;br /&gt;
[[File: New_summary_page.PNG|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Issues Fixed====&lt;br /&gt;
&lt;br /&gt;
# We decided to fix all of our issues with summary page like columns taking too much width, header texts like &amp;quot;Reviewee&amp;quot; and &amp;quot;Score&amp;quot; repeated unnecessarily by reorganizing the page to take better advantage of the available space. We placed the questions vertically, astride each other, rather than horizontally.&lt;br /&gt;
&lt;br /&gt;
# &amp;quot;Scores&amp;quot; and &amp;quot;comments&amp;quot; column were merged together for aesthetic reasons and to improve readability. The scores are displayed with a colorful background indicating its value. Green corresponds to positive scores like 4 and 5 and red corresponds to negative scores like 1 and 2.&lt;br /&gt;
&lt;br /&gt;
# “Review: Round1” was changed to “Review : Round1”. Also the title &amp;quot;Review scores: student5061&amp;quot; was changed to &amp;quot;Review scores by student5061&amp;quot; as its more indicative as a title.&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138886</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138886"/>
		<updated>2021-05-01T04:12:12Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* The Summary Page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page ===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
# app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
====New Look Summary Page====&lt;br /&gt;
[[File: New_summary_page.PNG|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Issues Fixed====&lt;br /&gt;
&lt;br /&gt;
# We decided to fix all of our issues with summary page like columns taking too much width, header texts like &amp;quot;Reviewee&amp;quot; and &amp;quot;Score&amp;quot; repeated unnecessarily by reorganizing the page to take better advantage of the available space. We placed the questions vertically, astride each other, rather than horizontally.&lt;br /&gt;
&lt;br /&gt;
#&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:New_summary_page.PNG&amp;diff=138885</id>
		<title>File:New summary page.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:New_summary_page.PNG&amp;diff=138885"/>
		<updated>2021-05-01T04:11:26Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138884</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138884"/>
		<updated>2021-05-01T04:10:58Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Issues Fixed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page ===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
# app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
====New Look Summary Page====&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Issues Fixed====&lt;br /&gt;
&lt;br /&gt;
# We decided to fix all of our issues with summary page like columns taking too much width, header texts like &amp;quot;Reviewee&amp;quot; and &amp;quot;Score&amp;quot; repeated unnecessarily by reorganizing the page to take better advantage of the available space. We placed the questions vertically, astride each other, rather than horizontally.&lt;br /&gt;
&lt;br /&gt;
#&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138883</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138883"/>
		<updated>2021-05-01T04:10:22Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* The Summary Page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page ===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
# app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
====New Look Summary Page====&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Issues Fixed====&lt;br /&gt;
&lt;br /&gt;
# We decided to fix all of our issues with summary page like columns taking too much width, header texts like &amp;quot;Reviewee&amp;quot; and &amp;quot;Score&amp;quot; repeated unnecessarily by reorganizing the page to take better advantage of the available space. We decided to place the questions vertically, astride each other, rather than horizontally.&lt;br /&gt;
&lt;br /&gt;
#&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138882</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138882"/>
		<updated>2021-05-01T03:59:24Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* The Summary Page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page ===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
# app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
====New Look Summary Page====&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138881</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138881"/>
		<updated>2021-05-01T03:57:55Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Modifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page ===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
# app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#app/assets/stylesheets/grades.scss&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138880</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138880"/>
		<updated>2021-05-01T03:51:23Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Modifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138876</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138876"/>
		<updated>2021-05-01T02:01:07Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Modifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
===Modifications===&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138875</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138875"/>
		<updated>2021-05-01T01:59:38Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Most of the projects and assignments in CSC517 and on Expertiza are peer-reviewed, and these peer-reviews are graded by the teaching staff. When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==The Project==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
[[File:Expertiza_review_report.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#This project eventually morphed into a bug-fixing and beautification project. There were some serious inconsistencies, bugs, and syntax issues with the beta branch review grader section. These were found and solved to the best of our ability.&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
## There is a bug having to do with &amp;quot;Avg. score&amp;quot; not being calculated sometimes, like when the team that was reviewed should definitely have an average score to be displayed, even if the current student reviewer did not complete the review. This bug will have to be examined further.&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# The &amp;quot;Scores&amp;quot; issue. Unfortunately, this task was more complicated than we originally believed. The team was advised to try to find out as much as possible about the bug, and fix it if possible, but it involves many different classes within Expertiza.&lt;br /&gt;
## The variable @avg is computed in the file app/models/answer.rb, and is initially set to nil if an assessment is not present. The variable @avg is also set to a placeholder &amp;quot;----&amp;quot; in the file app/helpers/review_mapping_help.rb. If &amp;quot;@avg_and_ranges[team_id][round][metric]&amp;quot; is not nil, the &amp;quot;@avg&amp;quot; will be set to the average scores. The &amp;quot;@avg_and_ranges&amp;quot; is set to the result returned by method compute_avg_and_ranges_hash in method &amp;quot;review_response_map&amp;quot; in file &amp;quot;app/helpers/report_formatter_helper.rb&amp;quot;. The method &amp;quot;compute_avg_and_ranges_hash&amp;quot; is defined in file &amp;quot;app/models/on_the_fly_calc.rb&amp;quot;. &lt;br /&gt;
## The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file (line 138). It is within this helper file that the @avg instance variable is also defined. It appears as though the previous team spent some time tracking down the source of the bug in the presentation of the &amp;quot;Avg. score&amp;quot; in the table, but were unable to fix it.&lt;br /&gt;
## The @avg instance variable is defined in the method get_review_volume, found in line 152 in /helpers/review_mapping_helper.rb - however, in the beta branch, the method that is called within views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb is called get_review_metrics. It appears this error is not present in the master branch of Expertiza.&lt;br /&gt;
## Another issue with the scores was that a &amp;quot;nil&amp;quot; value was showing - this issue was simply due to a forgotten check that needed to be added into the app/views/reports/_team_score.html.erb.&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no specific GoF design pattern is particularly being considered. Comments will be added where deemed necessary to further illuminate the functionality of the code. If needed, (if new methods/classes/views are added) this will be updated to reflect those changes.&lt;br /&gt;
&lt;br /&gt;
==Modifications==&lt;br /&gt;
====Files Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
&lt;br /&gt;
#/app/helpers/review_mapping_helper.rb&lt;br /&gt;
#/app/views/reports/_review_report.html.erb&lt;br /&gt;
#/app/views/reports/_team_score.html.erb&lt;br /&gt;
&lt;br /&gt;
====Review Mapping Helper====&lt;br /&gt;
The review mapping helper is a module that is used extensively throughout the peer review system in Expertiza to perform a number of things (perhaps too many) including calculating scores, finding team colours, preparing grade data visuals, and other useful computations. In this project, we wanted to fix the inconsistencies between the beta and master branch with specific regard to the get_review_volume() and get_review_metrics() method. These performed the same computation, yet get_review_metrics was called but not defined in the beta branch. This was fixed, and the code diff is presented below. The comments were added later, and a separate picture is shown below.&lt;br /&gt;
[[File:Get_review_metrics.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
[[File:review_metrics_comments.png|600px]]&lt;br /&gt;
&lt;br /&gt;
====Review Report View====&lt;br /&gt;
The addition of indices to each of the reviews for this assignment was a simple fix. Replacing each with each_with_index and printing to HTML solves the issue.&lt;br /&gt;
[[File:Index_review_report_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Team Score====&lt;br /&gt;
This is a partial HTML that is rendered within the Review Grader view. Changes were made to it to reflect that changes made to get_review_metrics, and the diff is shown below.&lt;br /&gt;
[[File:Team_score_html.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be Viewed/Modified====&lt;br /&gt;
Below is a rough list of files that we estimate this particular action item will involve:&lt;br /&gt;
#/app/views/popup/view_review_scores_popup.html.erb&lt;br /&gt;
#/app/models/review_response_map.rb&lt;br /&gt;
#/app/assets/stylesheets/grades.scss&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Most of the changes in this project are UI focused. Due to this, most of the testing was done via manual functionality testing. However, because of the changes in review_mapping_helper.rb, we did have to make changes to the review_mapping_helper_spec.rb file in order to reflect this. The code diff is shown below, and the process for manual testing is also displayed.&lt;br /&gt;
&lt;br /&gt;
[[File: Review_mapping_helper_spec_diff.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
According to Expertiza Bot, our code test coverage increased by 3.6%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just for reference-&lt;br /&gt;
The processes for testing accessing the review reports:&lt;br /&gt;
&lt;br /&gt;
====Testing Review Grader View====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#Check to make sure that the &amp;quot;Avg. score&amp;quot; for reviewed assignments is being shown correctly.&lt;br /&gt;
#Check if column widths are appropriate. Make sure the text &amp;quot;Score awarded / Avg. score&amp;quot; instead reads &amp;quot;Score / Avg. score&amp;quot;.&lt;br /&gt;
#Verify the bar graph display of scores.&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138536</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138536"/>
		<updated>2021-03-31T23:50:19Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* The Summary Page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
&lt;br /&gt;
When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==Problem Statement==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
#Display the scores in the metrics column as a bar graph. Precautions must to be taken to not make any column wider, since the page needs to display a lot of information horizontally &lt;br /&gt;
#In the view shown, “Reviewer”, “Reviews done”, and “Team reviewed” are too wide, whereas “Assign grade and write comments” is too narrow. Adjustments to column widths, thus needs to be done&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
#The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file. &lt;br /&gt;
#The width of column is set up in the _review_report.html.erb file from line 37 to line 43. Change the percentage distributed to every column to adjust the width&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no design pattern is needed.&lt;br /&gt;
&lt;br /&gt;
====Test Plan====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#''Check if the reviewer names and team names are all anonymized.''&lt;br /&gt;
#''Check if the checkbox items are displayed as expected.''&lt;br /&gt;
#''Check if column widths are appropriate..''&lt;br /&gt;
#''Check if “Review: Round1” is changed to “Review Round 1”.''&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Files to be modified====&lt;br /&gt;
/app/views/popup/view_review_scores_popup.html.erb&amp;lt;br&amp;gt;&lt;br /&gt;
/app/models/review_response_map.rb&amp;lt;br&amp;gt;&lt;br /&gt;
/app/assets/stylesheets/grades.scss&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Test Plan====&lt;br /&gt;
#Login as instructor.&lt;br /&gt;
#Go to &amp;quot;Mange &amp;gt;&amp;gt; Assignment&amp;quot; and choose one assignment with reviews like &amp;quot;Final project (and design doc)&amp;quot;, click on &amp;quot;View Report&amp;quot;.&lt;br /&gt;
#Click &amp;quot;View&amp;quot;. Here is the &amp;quot;The Main review-grader Page&amp;quot; mentioned above.&lt;br /&gt;
#Click one of the &amp;quot;Summary&amp;quot;, and here is &amp;quot;The summary Page&amp;quot; mentioned above.&lt;br /&gt;
#Check if the reviewer names and team names are all anonymized.&lt;br /&gt;
#Check if the checkbox items are displayed as expected.&lt;br /&gt;
#Check if column widths are appropriate..&lt;br /&gt;
#Check if “Review: Round1” is changed to “Review Round 1”.&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138535</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138535"/>
		<updated>2021-03-31T23:35:30Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Design Strategy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
&lt;br /&gt;
When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==Problem Statement==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
#Display the scores in the metrics column as a bar graph. Precautions must to be taken to not make any column wider, since the page needs to display a lot of information horizontally &lt;br /&gt;
#In the view shown, “Reviewer”, “Reviews done”, and “Team reviewed” are too wide, whereas “Assign grade and write comments” is too narrow. Adjustments to column widths, thus needs to be done&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
#The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file. &lt;br /&gt;
#The width of column is set up in the _review_report.html.erb file from line 37 to line 43. Change the percentage distributed to every column to adjust the width&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no design pattern is needed.&lt;br /&gt;
&lt;br /&gt;
====Test Plan====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#''Check if the reviewer names and team names are all anonymized.''&lt;br /&gt;
#''Check if the checkbox items are displayed as expected.''&lt;br /&gt;
#''Check if column widths are appropriate..''&lt;br /&gt;
#''Check if “Review: Round1” is changed to “Review Round 1”.''&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Test Plan====&lt;br /&gt;
#Login as instructor.&lt;br /&gt;
#Go to &amp;quot;Mange &amp;gt;&amp;gt; Assignment&amp;quot; and choose one assignment with reviews like &amp;quot;Final project (and design doc)&amp;quot;, click on &amp;quot;View Report&amp;quot;.&lt;br /&gt;
#Click &amp;quot;View&amp;quot;. Here is the &amp;quot;The Main review-grader Page&amp;quot; mentioned above.&lt;br /&gt;
#Click one of the &amp;quot;Summary&amp;quot;, and here is &amp;quot;The summary Page&amp;quot; mentioned above.&lt;br /&gt;
#Check if the reviewer names and team names are all anonymized.&lt;br /&gt;
#Check if the checkbox items are displayed as expected.&lt;br /&gt;
#Check if column widths are appropriate..&lt;br /&gt;
#Check if “Review: Round1” is changed to “Review Round 1”.&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138534</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138534"/>
		<updated>2021-03-31T23:35:17Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Design Strategy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
&lt;br /&gt;
When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==Problem Statement==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
#Display the scores in the metrics column as a bar graph. Precautions must to be taken to not make any column wider, since the page needs to display a lot of information horizontally &lt;br /&gt;
#In the view shown, “Reviewer”, “Reviews done”, and “Team reviewed” are too wide, whereas “Assign grade and write comments” is too narrow. Adjustments to column widths, thus needs to be done&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
#The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file. &lt;br /&gt;
#The width of column is set up in the _review_report.html.erb file from line 37 to line 43. Change the percentage distributed to every column to adjust the width&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no design pattern is needed.&lt;br /&gt;
&lt;br /&gt;
====Test Plan====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#''Check if the reviewer names and team names are all anonymized.''&lt;br /&gt;
#''Check if the checkbox items are displayed as expected.''&lt;br /&gt;
#''Check if column widths are appropriate..''&lt;br /&gt;
#''Check if “Review: Round1” is changed to “Review Round 1”.''&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:Og_checkbox1.PNG|1200px|]]&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
[[File:Mock_up.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Test Plan====&lt;br /&gt;
#Login as instructor.&lt;br /&gt;
#Go to &amp;quot;Mange &amp;gt;&amp;gt; Assignment&amp;quot; and choose one assignment with reviews like &amp;quot;Final project (and design doc)&amp;quot;, click on &amp;quot;View Report&amp;quot;.&lt;br /&gt;
#Click &amp;quot;View&amp;quot;. Here is the &amp;quot;The Main review-grader Page&amp;quot; mentioned above.&lt;br /&gt;
#Click one of the &amp;quot;Summary&amp;quot;, and here is &amp;quot;The summary Page&amp;quot; mentioned above.&lt;br /&gt;
#Check if the reviewer names and team names are all anonymized.&lt;br /&gt;
#Check if the checkbox items are displayed as expected.&lt;br /&gt;
#Check if column widths are appropriate..&lt;br /&gt;
#Check if “Review: Round1” is changed to “Review Round 1”.&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Mock_up.PNG&amp;diff=138533</id>
		<title>File:Mock up.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Mock_up.PNG&amp;diff=138533"/>
		<updated>2021-03-31T23:32:40Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Og_checkbox1.PNG&amp;diff=138532</id>
		<title>File:Og checkbox1.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Og_checkbox1.PNG&amp;diff=138532"/>
		<updated>2021-03-31T23:32:29Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Og_checkbox.PNG&amp;diff=138531</id>
		<title>File:Og checkbox.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Og_checkbox.PNG&amp;diff=138531"/>
		<updated>2021-03-31T23:32:12Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138530</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138530"/>
		<updated>2021-03-31T23:31:35Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Design Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
&lt;br /&gt;
When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==Problem Statement==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
#Display the scores in the metrics column as a bar graph. Precautions must to be taken to not make any column wider, since the page needs to display a lot of information horizontally &lt;br /&gt;
#In the view shown, “Reviewer”, “Reviews done”, and “Team reviewed” are too wide, whereas “Assign grade and write comments” is too narrow. Adjustments to column widths, thus needs to be done&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
#The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file. &lt;br /&gt;
#The width of column is set up in the _review_report.html.erb file from line 37 to line 43. Change the percentage distributed to every column to adjust the width&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no design pattern is needed.&lt;br /&gt;
&lt;br /&gt;
====Test Plan====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#''Check if the reviewer names and team names are all anonymized.''&lt;br /&gt;
#''Check if the checkbox items are displayed as expected.''&lt;br /&gt;
#''Check if column widths are appropriate..''&lt;br /&gt;
#''Check if “Review: Round1” is changed to “Review Round 1”.''&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Test Plan====&lt;br /&gt;
#Login as instructor.&lt;br /&gt;
#Go to &amp;quot;Mange &amp;gt;&amp;gt; Assignment&amp;quot; and choose one assignment with reviews like &amp;quot;Final project (and design doc)&amp;quot;, click on &amp;quot;View Report&amp;quot;.&lt;br /&gt;
#Click &amp;quot;View&amp;quot;. Here is the &amp;quot;The Main review-grader Page&amp;quot; mentioned above.&lt;br /&gt;
#Click one of the &amp;quot;Summary&amp;quot;, and here is &amp;quot;The summary Page&amp;quot; mentioned above.&lt;br /&gt;
#Check if the reviewer names and team names are all anonymized.&lt;br /&gt;
#Check if the checkbox items are displayed as expected.&lt;br /&gt;
#Check if column widths are appropriate..&lt;br /&gt;
#Check if “Review: Round1” is changed to “Review Round 1”.&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138529</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138529"/>
		<updated>2021-03-31T23:31:26Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Test Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
&lt;br /&gt;
When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==Problem Statement==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
#Display the scores in the metrics column as a bar graph. Precautions must to be taken to not make any column wider, since the page needs to display a lot of information horizontally &lt;br /&gt;
#In the view shown, “Reviewer”, “Reviews done”, and “Team reviewed” are too wide, whereas “Assign grade and write comments” is too narrow. Adjustments to column widths, thus needs to be done&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
#The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file. &lt;br /&gt;
#The width of column is set up in the _review_report.html.erb file from line 37 to line 43. Change the percentage distributed to every column to adjust the width&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no design pattern is needed.&lt;br /&gt;
&lt;br /&gt;
====Test Plan====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#''Check if the reviewer names and team names are all anonymized.''&lt;br /&gt;
#''Check if the checkbox items are displayed as expected.''&lt;br /&gt;
#''Check if column widths are appropriate..''&lt;br /&gt;
#''Check if “Review: Round1” is changed to “Review Round 1”.''&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
====Test Plan====&lt;br /&gt;
#Login as instructor.&lt;br /&gt;
#Go to &amp;quot;Mange &amp;gt;&amp;gt; Assignment&amp;quot; and choose one assignment with reviews like &amp;quot;Final project (and design doc)&amp;quot;, click on &amp;quot;View Report&amp;quot;.&lt;br /&gt;
#Click &amp;quot;View&amp;quot;. Here is the &amp;quot;The Main review-grader Page&amp;quot; mentioned above.&lt;br /&gt;
#Click one of the &amp;quot;Summary&amp;quot;, and here is &amp;quot;The summary Page&amp;quot; mentioned above.&lt;br /&gt;
#Check if the reviewer names and team names are all anonymized.&lt;br /&gt;
#Check if the checkbox items are displayed as expected.&lt;br /&gt;
#Check if column widths are appropriate..&lt;br /&gt;
#Check if “Review: Round1” is changed to “Review Round 1”.&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138528</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138528"/>
		<updated>2021-03-31T23:31:16Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Design Strategy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
&lt;br /&gt;
When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==Problem Statement==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
#Display the scores in the metrics column as a bar graph. Precautions must to be taken to not make any column wider, since the page needs to display a lot of information horizontally &lt;br /&gt;
#In the view shown, “Reviewer”, “Reviews done”, and “Team reviewed” are too wide, whereas “Assign grade and write comments” is too narrow. Adjustments to column widths, thus needs to be done&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
#The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file. &lt;br /&gt;
#The width of column is set up in the _review_report.html.erb file from line 37 to line 43. Change the percentage distributed to every column to adjust the width&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no design pattern is needed.&lt;br /&gt;
&lt;br /&gt;
====Test Plan====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#''Check if the reviewer names and team names are all anonymized.''&lt;br /&gt;
#''Check if the checkbox items are displayed as expected.''&lt;br /&gt;
#''Check if column widths are appropriate..''&lt;br /&gt;
#''Check if “Review: Round1” is changed to “Review Round 1”.''&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks reasonable.&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
====Test Plan====&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138527</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138527"/>
		<updated>2021-03-31T23:27:45Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Design Strategy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
&lt;br /&gt;
When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==Problem Statement==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
#Display the scores in the metrics column as a bar graph. Precautions must to be taken to not make any column wider, since the page needs to display a lot of information horizontally &lt;br /&gt;
#In the view shown, “Reviewer”, “Reviews done”, and “Team reviewed” are too wide, whereas “Assign grade and write comments” is too narrow. Adjustments to column widths, thus needs to be done&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
#The &amp;quot;Score awarded/average score&amp;quot; column in the table is actually composed of two rendered partials: views/reports/_team_score.html.erb and views/reports/_team_score_score_awarded.html.erb. Within these partials, the method get_awarded_review_score is called, which is defined in the /helpers/review_mapping_helper.rb helper file. &lt;br /&gt;
#The width of column is set up in the _review_report.html.erb file from line 37 to line 43. Change the percentage distributed to every column to adjust the width&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no design pattern is needed.&lt;br /&gt;
&lt;br /&gt;
====Test Plan====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#''Check if the reviewer names and team names are all anonymized.''&lt;br /&gt;
#''Check if the checkbox items are displayed as expected.''&lt;br /&gt;
#''Check if column widths are appropriate..''&lt;br /&gt;
#''Check if “Review: Round1” is changed to “Review Round 1”.''&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
# To get rid of the duplicated header lines, we will modify view_review_scores_popup.html.erb either by implementing comments vertically, astride each other or by displaying the header columns only once. To tackle the problem of Checkbox items taking up too much space we plan to implement the following mock up.&amp;quot;[Question]&amp;quot; would be deleted.&lt;br /&gt;
&lt;br /&gt;
Original :&lt;br /&gt;
&lt;br /&gt;
Mock_up:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Concerning column width, we will play around the preset width in /app/views/popup/view_review_scores_popup.html.erb, the previous team went with 10% for &amp;quot;Reviewee&amp;quot;, 5% for &amp;quot;Score&amp;quot; and it looks resonable&lt;br /&gt;
# &amp;quot;Review Round&amp;quot; header is located at /app/models/review_response_map.rb, and can be easily modified by adding white space.&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
====Test Plan====&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138524</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138524"/>
		<updated>2021-03-31T23:08:24Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* The Summary Page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
&lt;br /&gt;
When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==Problem Statement==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
#Display the scores in the metrics column as a bar graph. Precautions must to be taken to not make any column wider, since the page needs to display a lot of information horizontally &lt;br /&gt;
#In the view shown, “Reviewer”, “Reviews done”, and “Team reviewed” are too wide, whereas “Assign grade and write comments” is too narrow. Adjustments to column widths, thus needs to be done&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
#The &amp;quot;Score awarded/average score&amp;quot; &lt;br /&gt;
#The width of column is set up in the _review_report.html.erb file from line 37 to line 43. Change the percentage distributed to every column to adjust the width&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no design pattern is needed.&lt;br /&gt;
&lt;br /&gt;
====Test Plan====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#''Check if the reviewer names and team names are all anonymized.''&lt;br /&gt;
#''Check if the checkbox items are displayed as expected.''&lt;br /&gt;
#''Check if column widths are appropriate..''&lt;br /&gt;
#''Check if “Review: Round1” is changed to “Review Round 1”.''&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
[[File:Summary_page.PNG|1200px|]]&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
====Test Plan====&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Summary_page.PNG&amp;diff=138523</id>
		<title>File:Summary page.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Summary_page.PNG&amp;diff=138523"/>
		<updated>2021-03-31T23:06:26Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138520</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138520"/>
		<updated>2021-03-31T21:24:16Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Issue Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
&lt;br /&gt;
When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==Problem Statement==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
#Display the scores in the metrics column as a bar graph. Precautions must to be taken to not make any column wider, since the page needs to display a lot of information horizontally &lt;br /&gt;
#In the view shown, “Reviewer”, “Reviews done”, and “Team reviewed” are too wide, whereas “Assign grade and write comments” is too narrow. Adjustments to column widths, thus needs to be done&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
#The width of column is set up in the _review_report.html.erb file from line 37 to line 43. Change the percentage distributed to every column to adjust the width&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no design pattern is needed.&lt;br /&gt;
&lt;br /&gt;
====Test Plan====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#''Check if the reviewer names and team names are all anonymized.''&lt;br /&gt;
#''Check if the checkbox items are displayed as expected.''&lt;br /&gt;
#''Check if column widths are appropriate..''&lt;br /&gt;
#''Check if “Review: Round1” is changed to “Review Round 1”.''&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Checkbox items take up far too much space.  Remove duplicated header lines and show just columns of checkboxes to the right of the “questions.”  Also, it is unnecessary to prefix each by “[Question]”.&lt;br /&gt;
#Adjust column width intelligently.  The “Reviewee” and “Score” columns are much wider than necessary.  The “Comments” column is also too wide for easy reading.  So consider how the page might be reorganized to take better advantage of the available space.  One option might be to show the comments vertically, astride each other, rather than horizontally, above and below each other.  Mock up your proposal and discuss it with your mentor.&lt;br /&gt;
#Get rid of “Review: Round1”.  It should be, “Review Round 1”&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
====Test Plan====&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138519</id>
		<title>CSC/ECE 517 Spring 2021 - E2113. Enhancements to review grader</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2113._Enhancements_to_review_grader&amp;diff=138519"/>
		<updated>2021-03-31T21:21:09Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* The Summary Page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
&lt;br /&gt;
When the staff grade reviews, they are viewed in the review-grader interface. The staff can assign the score and provide feedback using the textboxes provided in the right columns of the table. The staff are also allowed to read the reviews in the summary view.&lt;br /&gt;
&lt;br /&gt;
There appears to be certain sections of the main review-grader page as well as the summary page that are not working correctly or there is a desire for them to be updated. These issues have to do with calculation of a student's score / average score, the visual representation of the scores, efficient usage of space within the view, and a need for rows of the table(s) to be numbered. We go into further depth about the issues later in this document.&lt;br /&gt;
&lt;br /&gt;
==Problem Statement==&lt;br /&gt;
Certain aspects of the UI and minor score calculation logic of the review grader system in Expertiza need to be enhanced/refactored. These issues are not major and mainly have to do with UI, and therefore should not require the development of new unit tests. Below is a detailed description of actionable issues that will be addressed in this work.&lt;br /&gt;
&lt;br /&gt;
===The Main Review-Grader Page===&lt;br /&gt;
====Issue Description====&lt;br /&gt;
#Fix the “Score awarded/average score” column so that it is populated with the correct numbers.  It is supposed to report the score by the current student reviewer in the first round, the average score by all reviewers in the first round, and ditto for the second round.  If the number of rounds ≠ 2, then the number of scores should be adjusted appropriately.&lt;br /&gt;
#Display the scores in the metrics column as a bar graph. Precautions must to be taken to not make any column wider, since the page needs to display a lot of information horizontally &lt;br /&gt;
#In the view shown, “Reviewer”, “Reviews done”, and “Team reviewed” are too wide, whereas “Assign grade and write comments” is too narrow. Adjustments to column widths, thus needs to be done&lt;br /&gt;
#Number the rows of the table (e.g., “2. Student 8370”) so it is easy to count the lines.  This will help assign each TA (and the instructor) an equal number of reviews to grade.&lt;br /&gt;
&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
#The width of column is set up in the _review_report.html.erb file from line 37 to line 43. Change the percentage distributed to every column to adjust the width&lt;br /&gt;
#In the _review_report.html.erb file, Line 61, we need to replace the 'each' method with 'each_with_index' to make sure that all rows are indexed. In line 69 add a line to display the index number and make sure that the value of the variable must be index+1, since the values are zero indexed&lt;br /&gt;
&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
This project mainly focuses on the UI, so no design pattern is needed.&lt;br /&gt;
&lt;br /&gt;
====Test Plan====&lt;br /&gt;
#Login using an instructor account, such as: instructor6 / password&lt;br /&gt;
#Go to &amp;quot;Manage &amp;gt;&amp;gt; Assignments&amp;quot; and choose one assignment with reviews, i.e., &amp;quot;Program 1&amp;quot;, and click on &amp;quot;View Reports&amp;quot;.&lt;br /&gt;
#There will be a dropdown selector to choose which report to view - select &amp;quot;Review report&amp;quot; from the dropdown, and click &amp;quot;View&amp;quot;.&lt;br /&gt;
#''Check if the reviewer names and team names are all anonymized.''&lt;br /&gt;
#''Check if the checkbox items are displayed as expected.''&lt;br /&gt;
#''Check if column widths are appropriate..''&lt;br /&gt;
#''Check if “Review: Round1” is changed to “Review Round 1”.''&lt;br /&gt;
&lt;br /&gt;
===The Summary Page===&lt;br /&gt;
====Issue Description====&lt;br /&gt;
====Design Strategy====&lt;br /&gt;
====Design Pattern====&lt;br /&gt;
====Test Plan====&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2103._Refactor_response_controller.rb&amp;diff=138113</id>
		<title>CSC/ECE 517 Spring 2021 - E2103. Refactor response controller.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2103._Refactor_response_controller.rb&amp;diff=138113"/>
		<updated>2021-03-19T23:01:55Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details project documentation for the CSC/ECE 517 Spring 2021, &amp;quot;E2103 refactor response_controller.rb&amp;quot; project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
A response is the object that is created when someone fills out a review rubric, such as when one writes a review, gives feedback to a reviewer, or fills out a survey.  Responses to the individual rubric items are kept in Answer objects; each Answer object has a response_id to say what Response it is part of.  Since response_controller needs to work with many kinds of responses, its code is pretty general.  It is not the worst controller in the system, but it would be much clearer if its method names were more descriptive of what they do.&lt;br /&gt;
&lt;br /&gt;
=== Mentor ===&lt;br /&gt;
&lt;br /&gt;
Ed Gehringer, efg@ncsu.edu&lt;br /&gt;
&lt;br /&gt;
=== Team Members ===&lt;br /&gt;
&lt;br /&gt;
* Zach Parks (zpparks@ncsu.edu)&lt;br /&gt;
* Jatin Pramod Chinchkar (jchinch@ncsu.edu)&lt;br /&gt;
* Abhinav Kashyap (akashya3)&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
* '''def assign_instance_vars''' This name could be more specific.&lt;br /&gt;
* '''def scores''' This should be a model method (in response.rb)!  It is all calculation. &lt;br /&gt;
* '''def new''' This method contains a complicated condition that determines whether the submission has been updated since the last time it was reviewed.  If it has not, then the reviewer can edit his/her previous review.  If there has been an update, then the reviewer gets a new review form to “update” the review.  It would make sense to have a model method that tests whether there has been a review since the last file or link was submitted.  Then the code here would just call that function.  It would be a lot clearer what the new method is doing.  set_content(new_response = false) also plays a role in this calculation.  Perhaps this method should also be included in the refactoring, for the sake of clarity of the resulting code.&lt;br /&gt;
* '''def set_questionnaire'''  Badly named; what kind of questionnaire and why?  The name should be a lot clearer.&lt;br /&gt;
* '''def set_questionnaire_for_new_response''' Badly named, no comments, not at all clear.  The logic is not like set_questionnaire.  Rename, refactor for clarity, and add comments as appropriate.&lt;br /&gt;
* '''def show_calibration_results_for_student''' This method makes about five db accesses.  Can it be broken into 2 methods, with the business logic moved to response.rb?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Refactorization and Code Modifications ==&lt;br /&gt;
Below is a list of code refactor tasks and issues addressed by this team in this project. We have also included any pertinent details, reasonings, comments, warnings, etc., corresponding to each task.&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def assign_instance_vars ===&lt;br /&gt;
[[File:Assign_instance_vars.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def scores ===&lt;br /&gt;
This method appears to have been created to replace the code at lines 71-74, however these particular lines of code are never repeated, and any calculation or business logic regarding scoresd should be (and is) in the model, the method scores is not necessary. The method scores was deleted as part of this refactor. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Scores.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def new ===&lt;br /&gt;
&lt;br /&gt;
[[File:New_controller.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:New_model.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def set_questionnaire ===&lt;br /&gt;
The main issue with this method was the naming and poorly commented code, making the purpose and functionality of the method obscure. This method is called whenever a user is editing or viewing a response - in this case, the controller already has access to the particular Response object in question and thus this method is used to get a reference to the questionnaire corresponding to the Response object and question id. Due to the functionality and because it requires access to a Response object already, this method was renamed to get_questionnaire_from_response. Comments were added to clarify its functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:Set_questionnaire.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def set_questionnaire_for_new_response ===&lt;br /&gt;
Again, the main issue with this method was the name and poorly commented code. This method has similar, but not the same, functionality as the set_questionnaire (get_questionnaire_from_response) method, except this method is called when a user is creating a new Response object, thus the controller does not have access to the Response object in question. In this case, it is possible to get a reference to the appropriate questionnaire by using the ResponseMap object instead of the Response object. This method was subsequently renamed to get_questionnaire_from_response_map and the code was commented to clarify its functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:Set_questionnaire_for_new_response.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def show_calibration_results_for_student ===&lt;br /&gt;
&lt;br /&gt;
[[File:Show_calibration_controller.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[File:Show_calibration_model.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
To run the tests :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  rspec spec/models/response_spec.rb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: Work in Progress ::&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2103._Refactor_response_controller.rb&amp;diff=138111</id>
		<title>CSC/ECE 517 Spring 2021 - E2103. Refactor response controller.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2103._Refactor_response_controller.rb&amp;diff=138111"/>
		<updated>2021-03-19T23:01:28Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* METHOD: def show_calibration_results_for_student */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details project documentation for the CSC/ECE 517 Spring 2021, &amp;quot;E2103 refactor response_controller.rb&amp;quot; project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
A response is the object that is created when someone fills out a review rubric, such as when one writes a review, gives feedback to a reviewer, or fills out a survey.  Responses to the individual rubric items are kept in Answer objects; each Answer object has a response_id to say what Response it is part of.  Since response_controller needs to work with many kinds of responses, its code is pretty general.  It is not the worst controller in the system, but it would be much clearer if its method names were more descriptive of what they do.&lt;br /&gt;
&lt;br /&gt;
=== Mentor ===&lt;br /&gt;
&lt;br /&gt;
Ed Gehringer, efg@ncsu.edu&lt;br /&gt;
&lt;br /&gt;
=== Team Members ===&lt;br /&gt;
&lt;br /&gt;
* Zach Parks (zpparks@ncsu.edu)&lt;br /&gt;
* Jatin Pramod Chinchkar (jchinch@ncsu.edu)&lt;br /&gt;
* Abhinav Kashyap (akashya3)&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
* '''def assign_instance_vars''' This name could be more specific.&lt;br /&gt;
* '''def scores''' This should be a model method (in response.rb)!  It is all calculation. &lt;br /&gt;
* '''def new''' This method contains a complicated condition that determines whether the submission has been updated since the last time it was reviewed.  If it has not, then the reviewer can edit his/her previous review.  If there has been an update, then the reviewer gets a new review form to “update” the review.  It would make sense to have a model method that tests whether there has been a review since the last file or link was submitted.  Then the code here would just call that function.  It would be a lot clearer what the new method is doing.  set_content(new_response = false) also plays a role in this calculation.  Perhaps this method should also be included in the refactoring, for the sake of clarity of the resulting code.&lt;br /&gt;
* '''def set_questionnaire'''  Badly named; what kind of questionnaire and why?  The name should be a lot clearer.&lt;br /&gt;
* '''def set_questionnaire_for_new_response''' Badly named, no comments, not at all clear.  The logic is not like set_questionnaire.  Rename, refactor for clarity, and add comments as appropriate.&lt;br /&gt;
* '''def show_calibration_results_for_student''' This method makes about five db accesses.  Can it be broken into 2 methods, with the business logic moved to response.rb?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Refactorization and Code Modifications ==&lt;br /&gt;
Below is a list of code refactor tasks and issues addressed by this team in this project. We have also included any pertinent details, reasonings, comments, warnings, etc., corresponding to each task.&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def assign_instance_vars ===&lt;br /&gt;
[[File:Assign_instance_vars.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def scores ===&lt;br /&gt;
This method appears to have been created to replace the code at lines 71-74, however these particular lines of code are never repeated, and any calculation or business logic regarding scoresd should be (and is) in the model, the method scores is not necessary. The method scores was deleted as part of this refactor. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Scores.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def new ===&lt;br /&gt;
&lt;br /&gt;
[[File:New_controller.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:New_model.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def set_questionnaire ===&lt;br /&gt;
The main issue with this method was the naming and poorly commented code, making the purpose and functionality of the method obscure. This method is called whenever a user is editing or viewing a response - in this case, the controller already has access to the particular Response object in question and thus this method is used to get a reference to the questionnaire corresponding to the Response object and question id. Due to the functionality and because it requires access to a Response object already, this method was renamed to get_questionnaire_from_response. Comments were added to clarify its functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:Set_questionnaire.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def set_questionnaire_for_new_response ===&lt;br /&gt;
Again, the main issue with this method was the name and poorly commented code. This method has similar, but not the same, functionality as the set_questionnaire (get_questionnaire_from_response) method, except this method is called when a user is creating a new Response object, thus the controller does not have access to the Response object in question. In this case, it is possible to get a reference to the appropriate questionnaire by using the ResponseMap object instead of the Response object. This method was subsequently renamed to get_questionnaire_from_response_map and the code was commented to clarify its functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:Set_questionnaire_for_new_response.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def show_calibration_results_for_student ===&lt;br /&gt;
&lt;br /&gt;
[[File:Show_calibration_controller.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[File:Show_calibration_model.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
To run the tests :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  rspec spec/models/response_spec.rb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since we are just dealing with the Response MVC and testing methods only in Model. We will be writing all our tests in spec/models/response_spec.rb&lt;br /&gt;
&lt;br /&gt;
*Insert Snapshot&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2103._Refactor_response_controller.rb&amp;diff=138110</id>
		<title>CSC/ECE 517 Spring 2021 - E2103. Refactor response controller.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2103._Refactor_response_controller.rb&amp;diff=138110"/>
		<updated>2021-03-19T22:59:37Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* METHOD: def show_calibration_results_for_student */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details project documentation for the CSC/ECE 517 Spring 2021, &amp;quot;E2103 refactor response_controller.rb&amp;quot; project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
A response is the object that is created when someone fills out a review rubric, such as when one writes a review, gives feedback to a reviewer, or fills out a survey.  Responses to the individual rubric items are kept in Answer objects; each Answer object has a response_id to say what Response it is part of.  Since response_controller needs to work with many kinds of responses, its code is pretty general.  It is not the worst controller in the system, but it would be much clearer if its method names were more descriptive of what they do.&lt;br /&gt;
&lt;br /&gt;
=== Mentor ===&lt;br /&gt;
&lt;br /&gt;
Ed Gehringer, efg@ncsu.edu&lt;br /&gt;
&lt;br /&gt;
=== Team Members ===&lt;br /&gt;
&lt;br /&gt;
* Zach Parks (zpparks@ncsu.edu)&lt;br /&gt;
* Jatin Pramod Chinchkar (jchinch@ncsu.edu)&lt;br /&gt;
* Abhinav Kashyap (akashya3)&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
* '''def assign_instance_vars''' This name could be more specific.&lt;br /&gt;
* '''def scores''' This should be a model method (in response.rb)!  It is all calculation. &lt;br /&gt;
* '''def new''' This method contains a complicated condition that determines whether the submission has been updated since the last time it was reviewed.  If it has not, then the reviewer can edit his/her previous review.  If there has been an update, then the reviewer gets a new review form to “update” the review.  It would make sense to have a model method that tests whether there has been a review since the last file or link was submitted.  Then the code here would just call that function.  It would be a lot clearer what the new method is doing.  set_content(new_response = false) also plays a role in this calculation.  Perhaps this method should also be included in the refactoring, for the sake of clarity of the resulting code.&lt;br /&gt;
* '''def set_questionnaire'''  Badly named; what kind of questionnaire and why?  The name should be a lot clearer.&lt;br /&gt;
* '''def set_questionnaire_for_new_response''' Badly named, no comments, not at all clear.  The logic is not like set_questionnaire.  Rename, refactor for clarity, and add comments as appropriate.&lt;br /&gt;
* '''def show_calibration_results_for_student''' This method makes about five db accesses.  Can it be broken into 2 methods, with the business logic moved to response.rb?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Refactorization and Code Modifications ==&lt;br /&gt;
Below is a list of code refactor tasks and issues addressed by this team in this project. We have also included any pertinent details, reasonings, comments, warnings, etc., corresponding to each task.&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def assign_instance_vars ===&lt;br /&gt;
[[File:Assign_instance_vars.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def scores ===&lt;br /&gt;
This method appears to have been created to replace the code at lines 71-74, however these particular lines of code are never repeated, and any calculation or business logic regarding scoresd should be (and is) in the model, the method scores is not necessary. The method scores was deleted as part of this refactor. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Scores.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def new ===&lt;br /&gt;
&lt;br /&gt;
[[File:New_controller.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:New_model.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def set_questionnaire ===&lt;br /&gt;
The main issue with this method was the naming and poorly commented code, making the purpose and functionality of the method obscure. This method is called whenever a user is editing or viewing a response - in this case, the controller already has access to the particular Response object in question and thus this method is used to get a reference to the questionnaire corresponding to the Response object and question id. Due to the functionality and because it requires access to a Response object already, this method was renamed to get_questionnaire_from_response. Comments were added to clarify its functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:Set_questionnaire.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def set_questionnaire_for_new_response ===&lt;br /&gt;
Again, the main issue with this method was the name and poorly commented code. This method has similar, but not the same, functionality as the set_questionnaire (get_questionnaire_from_response) method, except this method is called when a user is creating a new Response object, thus the controller does not have access to the Response object in question. In this case, it is possible to get a reference to the appropriate questionnaire by using the ResponseMap object instead of the Response object. This method was subsequently renamed to get_questionnaire_from_response_map and the code was commented to clarify its functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:Set_questionnaire_for_new_response.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def show_calibration_results_for_student ===&lt;br /&gt;
Show_calibration_controller.PNG&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
To run the tests :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  rspec spec/models/response_spec.rb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since we are just dealing with the Response MVC and testing methods only in Model. We will be writing all our tests in spec/models/response_spec.rb&lt;br /&gt;
&lt;br /&gt;
*Insert Snapshot&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Show_calibration_model.PNG&amp;diff=138109</id>
		<title>File:Show calibration model.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Show_calibration_model.PNG&amp;diff=138109"/>
		<updated>2021-03-19T22:59:21Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: Show_calibration method in model&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Show_calibration method in model&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Show_calibration_controller.PNG&amp;diff=138108</id>
		<title>File:Show calibration controller.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Show_calibration_controller.PNG&amp;diff=138108"/>
		<updated>2021-03-19T22:58:54Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: Show_calibration_controller&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Show_calibration_controller&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2103._Refactor_response_controller.rb&amp;diff=138102</id>
		<title>CSC/ECE 517 Spring 2021 - E2103. Refactor response controller.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2103._Refactor_response_controller.rb&amp;diff=138102"/>
		<updated>2021-03-19T22:07:38Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* METHOD: def scores */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details project documentation for the CSC/ECE 517 Spring 2021, &amp;quot;E2103 refactor response_controller.rb&amp;quot; project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
A response is the object that is created when someone fills out a review rubric, such as when one writes a review, gives feedback to a reviewer, or fills out a survey.  Responses to the individual rubric items are kept in Answer objects; each Answer object has a response_id to say what Response it is part of.  Since response_controller needs to work with many kinds of responses, its code is pretty general.  It is not the worst controller in the system, but it would be much clearer if its method names were more descriptive of what they do.&lt;br /&gt;
&lt;br /&gt;
=== Mentor ===&lt;br /&gt;
&lt;br /&gt;
Ed Gehringer, efg@ncsu.edu&lt;br /&gt;
&lt;br /&gt;
=== Team Members ===&lt;br /&gt;
&lt;br /&gt;
* Zach Parks (zpparks@ncsu.edu)&lt;br /&gt;
* Jatin Pramod Chinchkar (jchinch@ncsu.edu)&lt;br /&gt;
* Abhinav Kashyap (akashya3)&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
* '''def assign_instance_vars''' This name could be more specific.&lt;br /&gt;
* '''def scores''' This should be a model method (in response.rb)!  It is all calculation. &lt;br /&gt;
* '''def new''' This method contains a complicated condition that determines whether the submission has been updated since the last time it was reviewed.  If it has not, then the reviewer can edit his/her previous review.  If there has been an update, then the reviewer gets a new review form to “update” the review.  It would make sense to have a model method that tests whether there has been a review since the last file or link was submitted.  Then the code here would just call that function.  It would be a lot clearer what the new method is doing.  set_content(new_response = false) also plays a role in this calculation.  Perhaps this method should also be included in the refactoring, for the sake of clarity of the resulting code.&lt;br /&gt;
* '''def set_questionnaire'''  Badly named; what kind of questionnaire and why?  The name should be a lot clearer.&lt;br /&gt;
* '''def set_questionnaire_for_new_response''' Badly named, no comments, not at all clear.  The logic is not like set_questionnaire.  Rename, refactor for clarity, and add comments as appropriate.&lt;br /&gt;
* '''def show_calibration_results_for_student''' This method makes about five db accesses.  Can it be broken into 2 methods, with the business logic moved to response.rb?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Refactorization and Code Modifications ==&lt;br /&gt;
Below is a list of code refactor tasks and issues addressed by this team in this project. We have also included any pertinent details, reasonings, comments, warnings, etc., corresponding to each task.&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def assign_instance_vars ===&lt;br /&gt;
[[File:Assign_instance_vars.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def scores ===&lt;br /&gt;
This method appears to have been created to replace the code at lines 71-74, however these particular lines of code are never repeated, and any calculation or business logic regarding scoresd should be (and is) in the model, the method scores is not necessary. The method scores was deleted as part of this refactor. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Scores.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def new ===&lt;br /&gt;
&lt;br /&gt;
[[File:New_controller.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:New_model.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def set_questionnaire ===&lt;br /&gt;
The main issue with this method was the naming and poorly commented code, making the purpose and functionality of the method obscure. This method is called whenever a user is editing or viewing a response - in this case, the controller already has access to the particular Response object in question and thus this method is used to get a reference to the questionnaire corresponding to the Response object and question id. Due to the functionality and because it requires access to a Response object already, this method was renamed to get_questionnaire_from_response. Comments were added to clarify its functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:Set_questionnaire.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def set_questionnaire_for_new_response ===&lt;br /&gt;
Again, the main issue with this method was the name and poorly commented code. This method has similar, but not the same, functionality as the set_questionnaire (get_questionnaire_from_response) method, except this method is called when a user is creating a new Response object, thus the controller does not have access to the Response object in question. In this case, it is possible to get a reference to the appropriate questionnaire by using the ResponseMap object instead of the Response object. This method was subsequently renamed to get_questionnaire_from_response_map and the code was commented to clarify its functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:Set_questionnaire_for_new_response.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def show_calibration_results_for_student ===&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
To run the tests :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  rspec spec/models/response_spec.rb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since we are just dealing with the Response MVC and testing methods only in Model. We will be writing all our tests in spec/models/response_spec.rb&lt;br /&gt;
&lt;br /&gt;
*Insert Snapshot&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2103._Refactor_response_controller.rb&amp;diff=138089</id>
		<title>CSC/ECE 517 Spring 2021 - E2103. Refactor response controller.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2103._Refactor_response_controller.rb&amp;diff=138089"/>
		<updated>2021-03-19T19:49:41Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details project documentation for the CSC/ECE 517 Spring 2021, &amp;quot;E2103 refactor response_controller.rb&amp;quot; project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
A response is the object that is created when someone fills out a review rubric, such as when one writes a review, gives feedback to a reviewer, or fills out a survey.  Responses to the individual rubric items are kept in Answer objects; each Answer object has a response_id to say what Response it is part of.  Since response_controller needs to work with many kinds of responses, its code is pretty general.  It is not the worst controller in the system, but it would be much clearer if its method names were more descriptive of what they do.&lt;br /&gt;
&lt;br /&gt;
=== Mentor ===&lt;br /&gt;
&lt;br /&gt;
Ed Gehringer, efg@ncsu.edu&lt;br /&gt;
&lt;br /&gt;
=== Team Members ===&lt;br /&gt;
&lt;br /&gt;
* Zach Parks (zpparks@ncsu.edu)&lt;br /&gt;
* Jatin Pramod Chinchkar (jchinch@ncsu.edu)&lt;br /&gt;
* Abhinav Kashyap (akashya3)&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
* '''def assign_instance_vars''' This name could be more specific.&lt;br /&gt;
* '''def scores''' This should be a model method (in response.rb)!  It is all calculation. &lt;br /&gt;
* '''def new''' This method contains a complicated condition that determines whether the submission has been updated since the last time it was reviewed.  If it has not, then the reviewer can edit his/her previous review.  If there has been an update, then the reviewer gets a new review form to “update” the review.  It would make sense to have a model method that tests whether there has been a review since the last file or link was submitted.  Then the code here would just call that function.  It would be a lot clearer what the new method is doing.  set_content(new_response = false) also plays a role in this calculation.  Perhaps this method should also be included in the refactoring, for the sake of clarity of the resulting code.&lt;br /&gt;
* '''def set_questionnaire'''  Badly named; what kind of questionnaire and why?  The name should be a lot clearer.&lt;br /&gt;
* '''def set_questionnaire_for_new_response''' Badly named, no comments, not at all clear.  The logic is not like set_questionnaire.  Rename, refactor for clarity, and add comments as appropriate.&lt;br /&gt;
* '''def show_calibration_results_for_student''' This method makes about five db accesses.  Can it be broken into 2 methods, with the business logic moved to response.rb?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Refactorization and Code Modifications ==&lt;br /&gt;
Below is a list of code refactor tasks and issues addressed by this team in this project. We have also included any pertinent details, reasonings, comments, warnings, etc., corresponding to each task.&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def assign_instance_vars ===&lt;br /&gt;
[[File:Assign_instance_vars.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def scores ===&lt;br /&gt;
This method appears to have been created to replace the code at lines 71-74, however these particular lines of code are never repeated, and any calculation or business logic regarding scoresd should be (and is) in the model, the method scores is not necessary. The method scores was deleted as part of this refactor. &lt;br /&gt;
[[File:Scores.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def new ===&lt;br /&gt;
&lt;br /&gt;
[[File:New_controller.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
[[File:New_model.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def set_questionnaire ===&lt;br /&gt;
The main issue with this method was the naming and poorly commented code, making the purpose and functionality of the method obscure. This method is called whenever a user is editing or viewing a response - in this case, the controller already has access to the particular Response object in question and thus this method is used to get a reference to the questionnaire corresponding to the Response object and question id. Due to the functionality and because it requires access to a Response object already, this method was renamed to get_questionnaire_from_response. Comments were added to clarify its functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:Set_questionnaire.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def set_questionnaire_for_new_response ===&lt;br /&gt;
Again, the main issue with this method was the name and poorly commented code. This method has similar, but not the same, functionality as the set_questionnaire (get_questionnaire_from_response) method, except this method is called when a user is creating a new Response object, thus the controller does not have access to the Response object in question. In this case, it is possible to get a reference to the appropriate questionnaire by using the ResponseMap object instead of the Response object. This method was subsequently renamed to get_questionnaire_from_response_map and the code was commented to clarify its functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:Set_questionnaire_for_new_response.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def show_calibration_results_for_student ===&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
To run the tests :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  rspec spec/models/response_spec.rb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since we are just dealing with the Response MVC and testing methods only in Model. We will be writing all our tests in spec/models/response_spec.rb&lt;br /&gt;
&lt;br /&gt;
*Insert Snapshot&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2103._Refactor_response_controller.rb&amp;diff=138088</id>
		<title>CSC/ECE 517 Spring 2021 - E2103. Refactor response controller.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2103._Refactor_response_controller.rb&amp;diff=138088"/>
		<updated>2021-03-19T19:48:06Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* METHOD: def new */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details project documentation for the CSC/ECE 517 Spring 2021, &amp;quot;E2103 refactor response_controller.rb&amp;quot; project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
A response is the object that is created when someone fills out a review rubric, such as when one writes a review, gives feedback to a reviewer, or fills out a survey.  Responses to the individual rubric items are kept in Answer objects; each Answer object has a response_id to say what Response it is part of.  Since response_controller needs to work with many kinds of responses, its code is pretty general.  It is not the worst controller in the system, but it would be much clearer if its method names were more descriptive of what they do.&lt;br /&gt;
&lt;br /&gt;
=== Mentor ===&lt;br /&gt;
&lt;br /&gt;
Ed Gehringer, efg@ncsu.edu&lt;br /&gt;
&lt;br /&gt;
=== Team Members ===&lt;br /&gt;
&lt;br /&gt;
* Zach Parks (zpparks@ncsu.edu)&lt;br /&gt;
* Jatin Pramod Chinchkar (jchinch@ncsu.edu)&lt;br /&gt;
* Abhinav Kashyap (akashya3)&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
* '''def assign_instance_vars''' This name could be more specific.&lt;br /&gt;
* '''def scores''' This should be a model method (in response.rb)!  It is all calculation. &lt;br /&gt;
* '''def new''' This method contains a complicated condition that determines whether the submission has been updated since the last time it was reviewed.  If it has not, then the reviewer can edit his/her previous review.  If there has been an update, then the reviewer gets a new review form to “update” the review.  It would make sense to have a model method that tests whether there has been a review since the last file or link was submitted.  Then the code here would just call that function.  It would be a lot clearer what the new method is doing.  set_content(new_response = false) also plays a role in this calculation.  Perhaps this method should also be included in the refactoring, for the sake of clarity of the resulting code.&lt;br /&gt;
* '''def set_questionnaire'''  Badly named; what kind of questionnaire and why?  The name should be a lot clearer.&lt;br /&gt;
* '''def set_questionnaire_for_new_response''' Badly named, no comments, not at all clear.  The logic is not like set_questionnaire.  Rename, refactor for clarity, and add comments as appropriate.&lt;br /&gt;
* '''def show_calibration_results_for_student''' This method makes about five db accesses.  Can it be broken into 2 methods, with the business logic moved to response.rb?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Refactorization and Code Modifications ==&lt;br /&gt;
Below is a list of code refactor tasks and issues addressed by this team in this project. We have also included any pertinent details, reasonings, comments, warnings, etc., corresponding to each task.&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def assign_instance_vars ===&lt;br /&gt;
[[File:Assign_instance_vars.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def scores ===&lt;br /&gt;
This method appears to have been created to replace the code at lines 71-74, however these particular lines of code are never repeated, and any calculation or business logic regarding scoresd should be (and is) in the model, the method scores is not necessary. The method scores was deleted as part of this refactor. &lt;br /&gt;
[[File:Scores.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def new ===&lt;br /&gt;
==Controller==&lt;br /&gt;
[[File:New_controller.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
==Model==&lt;br /&gt;
[[File:New_model.PNG|1200px|]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def set_questionnaire ===&lt;br /&gt;
The main issue with this method was the naming and poorly commented code, making the purpose and functionality of the method obscure. This method is called whenever a user is editing or viewing a response - in this case, the controller already has access to the particular Response object in question and thus this method is used to get a reference to the questionnaire corresponding to the Response object and question id. Due to the functionality and because it requires access to a Response object already, this method was renamed to get_questionnaire_from_response. Comments were added to clarify its functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:Set_questionnaire.png]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def set_questionnaire_for_new_response ===&lt;br /&gt;
Again, the main issue with this method was the name and poorly commented code. This method has similar, but not the same, functionality as the set_questionnaire (get_questionnaire_from_response) method, except this method is called when a user is creating a new Response object, thus the controller does not have access to the Response object in question. In this case, it is possible to get a reference to the appropriate questionnaire by using the ResponseMap object instead of the Response object. This method was subsequently renamed to get_questionnaire_from_response_map and the code was commented to clarify its functionality.&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def show_calibration_results_for_student ===&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
To run the tests :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  rspec spec/models/response_spec.rb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since we are just dealing with the Response MVC and testing methods only in Model. We will be writing all our tests in spec/models/response_spec.rb&lt;br /&gt;
&lt;br /&gt;
*Insert Snapshot&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2103._Refactor_response_controller.rb&amp;diff=138087</id>
		<title>CSC/ECE 517 Spring 2021 - E2103. Refactor response controller.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2021_-_E2103._Refactor_response_controller.rb&amp;diff=138087"/>
		<updated>2021-03-19T19:45:57Z</updated>

		<summary type="html">&lt;p&gt;Akashya3: /* METHOD: def new */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details project documentation for the CSC/ECE 517 Spring 2021, &amp;quot;E2103 refactor response_controller.rb&amp;quot; project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
A response is the object that is created when someone fills out a review rubric, such as when one writes a review, gives feedback to a reviewer, or fills out a survey.  Responses to the individual rubric items are kept in Answer objects; each Answer object has a response_id to say what Response it is part of.  Since response_controller needs to work with many kinds of responses, its code is pretty general.  It is not the worst controller in the system, but it would be much clearer if its method names were more descriptive of what they do.&lt;br /&gt;
&lt;br /&gt;
=== Mentor ===&lt;br /&gt;
&lt;br /&gt;
Ed Gehringer, efg@ncsu.edu&lt;br /&gt;
&lt;br /&gt;
=== Team Members ===&lt;br /&gt;
&lt;br /&gt;
* Zach Parks (zpparks@ncsu.edu)&lt;br /&gt;
* Jatin Pramod Chinchkar (jchinch@ncsu.edu)&lt;br /&gt;
* Abhinav Kashyap (akashya3)&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
* '''def assign_instance_vars''' This name could be more specific.&lt;br /&gt;
* '''def scores''' This should be a model method (in response.rb)!  It is all calculation. &lt;br /&gt;
* '''def new''' This method contains a complicated condition that determines whether the submission has been updated since the last time it was reviewed.  If it has not, then the reviewer can edit his/her previous review.  If there has been an update, then the reviewer gets a new review form to “update” the review.  It would make sense to have a model method that tests whether there has been a review since the last file or link was submitted.  Then the code here would just call that function.  It would be a lot clearer what the new method is doing.  set_content(new_response = false) also plays a role in this calculation.  Perhaps this method should also be included in the refactoring, for the sake of clarity of the resulting code.&lt;br /&gt;
* '''def set_questionnaire'''  Badly named; what kind of questionnaire and why?  The name should be a lot clearer.&lt;br /&gt;
* '''def set_questionnaire_for_new_response''' Badly named, no comments, not at all clear.  The logic is not like set_questionnaire.  Rename, refactor for clarity, and add comments as appropriate.&lt;br /&gt;
* '''def show_calibration_results_for_student''' This method makes about five db accesses.  Can it be broken into 2 methods, with the business logic moved to response.rb?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Refactorization and Code Modifications ==&lt;br /&gt;
Below is a list of code refactor tasks and issues addressed by this team in this project. We have also included any pertinent details, reasonings, comments, warnings, etc., corresponding to each task.&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def assign_instance_vars ===&lt;br /&gt;
[[File:Assign_instance_vars.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def scores ===&lt;br /&gt;
This method appears to have been created to replace the code at lines 71-74, however these particular lines of code are never repeated, and any calculation or business logic regarding scoresd should be (and is) in the model, the method scores is not necessary. The method scores was deleted as part of this refactor. &lt;br /&gt;
[[File:Scores.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def new ===&lt;br /&gt;
[[File:New_controller.png|1200px|]]&lt;br /&gt;
[[File:New_model.png|1200px|]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def set_questionnaire ===&lt;br /&gt;
The main issue with this method was the naming and poorly commented code, making the purpose and functionality of the method obscure. This method is called whenever a user is editing or viewing a response - in this case, the controller already has access to the particular Response object in question and thus this method is used to get a reference to the questionnaire corresponding to the Response object and question id. Due to the functionality and because it requires access to a Response object already, this method was renamed to get_questionnaire_from_response. Comments were added to clarify its functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:Set_questionnaire.png]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def set_questionnaire_for_new_response ===&lt;br /&gt;
Again, the main issue with this method was the name and poorly commented code. This method has similar, but not the same, functionality as the set_questionnaire (get_questionnaire_from_response) method, except this method is called when a user is creating a new Response object, thus the controller does not have access to the Response object in question. In this case, it is possible to get a reference to the appropriate questionnaire by using the ResponseMap object instead of the Response object. This method was subsequently renamed to get_questionnaire_from_response_map and the code was commented to clarify its functionality.&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def show_calibration_results_for_student ===&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
To run the tests :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  rspec spec/models/response_spec.rb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since we are just dealing with the Response MVC and testing methods only in Model. We will be writing all our tests in spec/models/response_spec.rb&lt;br /&gt;
&lt;br /&gt;
*Insert Snapshot&lt;/div&gt;</summary>
		<author><name>Akashya3</name></author>
	</entry>
</feed>