<?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=Twang33</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=Twang33"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Twang33"/>
	<updated>2026-08-07T20:39:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2020_-_E2086._Let_course_staff_as_well_as_students_do_reviews&amp;diff=136308</id>
		<title>CSC/ECE 517 Fall 2020 - E2086. Let course staff as well as students do reviews</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2020_-_E2086._Let_course_staff_as_well_as_students_do_reviews&amp;diff=136308"/>
		<updated>2020-10-27T23:44:30Z</updated>

		<summary type="html">&lt;p&gt;Twang33: /* Perform review */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project Index ==&lt;br /&gt;
* Deployment Link: &lt;br /&gt;
&lt;br /&gt;
* Github Repository: &lt;br /&gt;
    https://github.com/MayoNaizz/expertiza&lt;br /&gt;
* Github Pull Request: &lt;br /&gt;
&lt;br /&gt;
* Video Link:&lt;br /&gt;
&lt;br /&gt;
== Project Background ==&lt;br /&gt;
&lt;br /&gt;
* Expertiza Project - E2086 : Let course staff as well as students do reviews&lt;br /&gt;
&lt;br /&gt;
=== Why This Project ===&lt;br /&gt;
&lt;br /&gt;
Peer review is a great way for students to learn about how well they have developed their application. However, sometimes, the peer reviews may not be thorough and the team/person's work reviewed might not reflect the actual status of the development. By letting course staff perform reviews as well, the reviewer and the reviewee both benefit, improving the overall learning experience. Currently, there exists no method for the instructor/TA to perform reviews of assignments submitted by the students. Hence this is what this project aims at, allowing instructor/TA to perform reviews.&lt;br /&gt;
&lt;br /&gt;
=== Primary Goal of this Project===&lt;br /&gt;
&lt;br /&gt;
This project aims to allow instructors to submit reviews of student work, using the same review form that students use to do reviews&lt;br /&gt;
&lt;br /&gt;
=== Files Involved ===&lt;br /&gt;
&lt;br /&gt;
list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
_calibration_report.html.erb&lt;br /&gt;
&lt;br /&gt;
response.html.erb&lt;br /&gt;
&lt;br /&gt;
=== Project Team Member===&lt;br /&gt;
&lt;br /&gt;
* Chenwei Zhou (czhou6)&lt;br /&gt;
* Tianrui Wang (twang33)&lt;br /&gt;
* Zhuolin Li(zli82)&lt;br /&gt;
* Hao Zhang (hzhang62)&lt;br /&gt;
&lt;br /&gt;
== Project Design Philosophy ==&lt;br /&gt;
Our project aims at enabling the instructor/TA to review the submissions using the same form that a student uses while peer-reviewing. For this, our implementation has been divided into 3 parts, and can be described as follows:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The first part involves the primary functionality of letting the staff perform a review on students submission.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The second part involves allowing the students to identify from their end, which review has been performed by an instructor/TA. This will help students improve their project as the opinions presented by a staff member would be valid.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Third, we plan to enable the instructor/TA to do review instead of assign grade in the review round. After the review Round, the review review session will be closed and replaced with assigning grade interface&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Design Flowchart ==&lt;br /&gt;
*When creating the assignment, the instructor should get a checkbox option asking whether allow the instructor to review all submissions as shown below.&lt;br /&gt;
[[File:E2086 flowchart1.png]]&lt;br /&gt;
&lt;br /&gt;
*Ideal Process of this function&lt;br /&gt;
[[File:E2086 flowchart2.png]]&lt;br /&gt;
&lt;br /&gt;
== Issue ==&lt;br /&gt;
=== Plan of Work ===&lt;br /&gt;
*In the assignment page of the Expertiza, If an instructor or a TA is a participant in an assignment, then the instructor should be able to review any team that has submitted the assignment.&lt;br /&gt;
*In order to see who is participating in the assignment, click on the “Add participants” icon (the one with the + sign and a picture of a person).  That will bring up a list of participants and allow you to add more participants.  &lt;br /&gt;
*Make the instructor and/or TAs participants, and then they should be allowed to do reviews.&lt;br /&gt;
[[File:E2086 assignment.png|900px]]&lt;br /&gt;
&lt;br /&gt;
*Then, to perform reviews, the instructor/TA would click on the clipboard-like “View submissions” icon, as shown below.&lt;br /&gt;
[[File:E2086 view submission.png|900px]]&lt;br /&gt;
&lt;br /&gt;
*A list of submissions would be pulled up:&lt;br /&gt;
[[File:E2086 submission.png|900px]]&lt;br /&gt;
*If the last due date for the assignment has not passed, then the “Assign grade” link should be changed to “Perform review”, and when clicked on, it should pull up a review page for the team, showing their submitted work at the top, as a review page normally does.&lt;br /&gt;
* We will add the review link in &amp;lt;code&amp;gt;views/assignments/list_submissions.html.erb&amp;lt;/code&amp;gt; and once instructor/TA click that link. Controller &amp;lt;code&amp;gt; response &amp;lt;/code&amp;gt; will be called. If the due day of the review round pass, this link will be replaced by the grade link. This link will also be added in &amp;lt;code&amp;gt;views/assignments/list_submissions.html.erb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Also, it would be more clear if we could mark the instructor's review with something special on the reviews page, as shown below.&lt;br /&gt;
*We will add an icon in &amp;lt;code&amp;gt;views/grades/view_team.html.erb&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;app/views/response/view.html.erb&amp;lt;/code&amp;gt; if these review is made by instructor or TA.&lt;br /&gt;
[[File:E2086 review.png|700px]]&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
The basic idea of this project is to change the 'Assign Grade' link to 'Perform review' if the deadline of a assignment has not passed. Thus, to test the functionality of this part, we plan to test it at the frontend &lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Click 'Manage' -&amp;gt; 'Assignments' to go to assignment page.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Add a new assignment for a course that the current account has registered. Make sure the due date of the assignment is after the the time to perform the review as an instructor.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click 'Add participants' icon in the new created assignment row, and 'Copy participants from course' to add all students registered to this course. Then add the current instructor account to this assignment through 'Enter a user login:' input space.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Impersonate as one of the students to simulate the submission of work.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Perform review ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click 'Manage' -&amp;gt; 'Assignments' to go to assignment page as instructor.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click 'View submission' icon in the new created assignment row. Now the 'Perform review' link show be under participants name if the due date has not passed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click one of the 'Perform review' link to do the review for a certain submission by using the same templet of student peer review.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Impersonate the student that was previously reviewed by instructor. Check score for the assignment, and the review from the instructor should be recognizable from other student reviews.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Refactor &amp;amp; Code Modification ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running Tests ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  rspec &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rspec Test Cases == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reference &amp;amp; Links ==&lt;br /&gt;
=== Previous Implementation ===&lt;br /&gt;
This project was done by Team E1985 on Fall 2019 with the following work:&lt;br /&gt;
&lt;br /&gt;
Expertiza wiki: http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1985._Let_course_staff_and_students_do_reviews&lt;br /&gt;
&lt;br /&gt;
Github Pull Request: https://github.com/expertiza/expertiza/pull/1631&lt;br /&gt;
&lt;br /&gt;
Github repository: https://github.com/Matrawick/expertiza&lt;br /&gt;
&lt;br /&gt;
Youtube screencast: https://youtu.be/kLfZ22vlu30&lt;br /&gt;
&lt;br /&gt;
=== Comments From Mentor ===&lt;br /&gt;
* Code for testing whether a reviewer is a staff member is put into an unrelated class (same method already exists elsewhere in system).&lt;br /&gt;
&lt;br /&gt;
* There is a long code clone because the process of creating a mapping and a review is not quite the same as when the reviewer is a non-instructor; a lot of checks needed in that case are not needed here.  But the current code should have been refactored to put the common code into another method.&lt;br /&gt;
&lt;br /&gt;
* One test has been removed because it broke the build, &amp;amp; was evid. unrelated to their functionality.&lt;br /&gt;
&lt;br /&gt;
* The commit was too messy; if this had been merged, it would have required refactoring. &lt;br /&gt;
&lt;br /&gt;
for more information about this project, please visit [https://docs.google.com/document/d/1qphGGe8imRNufw2EhTZRqgs-I6XiQX74_I3UiwpPs5M/edit# Project Lists]&lt;/div&gt;</summary>
		<author><name>Twang33</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2020_-_E2086._Let_course_staff_as_well_as_students_do_reviews&amp;diff=136307</id>
		<title>CSC/ECE 517 Fall 2020 - E2086. Let course staff as well as students do reviews</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2020_-_E2086._Let_course_staff_as_well_as_students_do_reviews&amp;diff=136307"/>
		<updated>2020-10-27T23:44:19Z</updated>

		<summary type="html">&lt;p&gt;Twang33: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project Index ==&lt;br /&gt;
* Deployment Link: &lt;br /&gt;
&lt;br /&gt;
* Github Repository: &lt;br /&gt;
    https://github.com/MayoNaizz/expertiza&lt;br /&gt;
* Github Pull Request: &lt;br /&gt;
&lt;br /&gt;
* Video Link:&lt;br /&gt;
&lt;br /&gt;
== Project Background ==&lt;br /&gt;
&lt;br /&gt;
* Expertiza Project - E2086 : Let course staff as well as students do reviews&lt;br /&gt;
&lt;br /&gt;
=== Why This Project ===&lt;br /&gt;
&lt;br /&gt;
Peer review is a great way for students to learn about how well they have developed their application. However, sometimes, the peer reviews may not be thorough and the team/person's work reviewed might not reflect the actual status of the development. By letting course staff perform reviews as well, the reviewer and the reviewee both benefit, improving the overall learning experience. Currently, there exists no method for the instructor/TA to perform reviews of assignments submitted by the students. Hence this is what this project aims at, allowing instructor/TA to perform reviews.&lt;br /&gt;
&lt;br /&gt;
=== Primary Goal of this Project===&lt;br /&gt;
&lt;br /&gt;
This project aims to allow instructors to submit reviews of student work, using the same review form that students use to do reviews&lt;br /&gt;
&lt;br /&gt;
=== Files Involved ===&lt;br /&gt;
&lt;br /&gt;
list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
_calibration_report.html.erb&lt;br /&gt;
&lt;br /&gt;
response.html.erb&lt;br /&gt;
&lt;br /&gt;
=== Project Team Member===&lt;br /&gt;
&lt;br /&gt;
* Chenwei Zhou (czhou6)&lt;br /&gt;
* Tianrui Wang (twang33)&lt;br /&gt;
* Zhuolin Li(zli82)&lt;br /&gt;
* Hao Zhang (hzhang62)&lt;br /&gt;
&lt;br /&gt;
== Project Design Philosophy ==&lt;br /&gt;
Our project aims at enabling the instructor/TA to review the submissions using the same form that a student uses while peer-reviewing. For this, our implementation has been divided into 3 parts, and can be described as follows:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The first part involves the primary functionality of letting the staff perform a review on students submission.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The second part involves allowing the students to identify from their end, which review has been performed by an instructor/TA. This will help students improve their project as the opinions presented by a staff member would be valid.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Third, we plan to enable the instructor/TA to do review instead of assign grade in the review round. After the review Round, the review review session will be closed and replaced with assigning grade interface&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Design Flowchart ==&lt;br /&gt;
*When creating the assignment, the instructor should get a checkbox option asking whether allow the instructor to review all submissions as shown below.&lt;br /&gt;
[[File:E2086 flowchart1.png]]&lt;br /&gt;
&lt;br /&gt;
*Ideal Process of this function&lt;br /&gt;
[[File:E2086 flowchart2.png]]&lt;br /&gt;
&lt;br /&gt;
== Issue ==&lt;br /&gt;
=== Plan of Work ===&lt;br /&gt;
*In the assignment page of the Expertiza, If an instructor or a TA is a participant in an assignment, then the instructor should be able to review any team that has submitted the assignment.&lt;br /&gt;
*In order to see who is participating in the assignment, click on the “Add participants” icon (the one with the + sign and a picture of a person).  That will bring up a list of participants and allow you to add more participants.  &lt;br /&gt;
*Make the instructor and/or TAs participants, and then they should be allowed to do reviews.&lt;br /&gt;
[[File:E2086 assignment.png|900px]]&lt;br /&gt;
&lt;br /&gt;
*Then, to perform reviews, the instructor/TA would click on the clipboard-like “View submissions” icon, as shown below.&lt;br /&gt;
[[File:E2086 view submission.png|900px]]&lt;br /&gt;
&lt;br /&gt;
*A list of submissions would be pulled up:&lt;br /&gt;
[[File:E2086 submission.png|900px]]&lt;br /&gt;
*If the last due date for the assignment has not passed, then the “Assign grade” link should be changed to “Perform review”, and when clicked on, it should pull up a review page for the team, showing their submitted work at the top, as a review page normally does.&lt;br /&gt;
* We will add the review link in &amp;lt;code&amp;gt;views/assignments/list_submissions.html.erb&amp;lt;/code&amp;gt; and once instructor/TA click that link. Controller &amp;lt;code&amp;gt; response &amp;lt;/code&amp;gt; will be called. If the due day of the review round pass, this link will be replaced by the grade link. This link will also be added in &amp;lt;code&amp;gt;views/assignments/list_submissions.html.erb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Also, it would be more clear if we could mark the instructor's review with something special on the reviews page, as shown below.&lt;br /&gt;
*We will add an icon in &amp;lt;code&amp;gt;views/grades/view_team.html.erb&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;app/views/response/view.html.erb&amp;lt;/code&amp;gt; if these review is made by instructor or TA.&lt;br /&gt;
[[File:E2086 review.png|700px]]&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
The basic idea of this project is to change the 'Assign Grade' link to 'Perform review' if the deadline of a assignment has not passed. Thus, to test the functionality of this part, we plan to test it at the frontend &lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Click 'Manage' -&amp;gt; 'Assignments' to go to assignment page.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Add a new assignment for a course that the current account has registered. Make sure the due date of the assignment is after the the time to perform the review as an instructor.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click 'Add participants' icon in the new created assignment row, and 'Copy participants from course' to add all students registered to this course. Then add the current instructor account to this assignment through 'Enter a user login:' input space.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Impersonate as one of the students to simulate the submission of work.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Perform review ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Click 'Manage' -&amp;gt; 'Assignments' to go to assignment page as instructor.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click 'View submission' icon in the new created assignment row. Now the 'Perform review' link show be under participants name if the due date has not passed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click one of the 'Perform review' link to do the review for a certain submission by using the same templet of student peer review.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Impersonate the student that was previously reviewed by instructor. Check score for the assignment, and the review from the instructor should be recognizable from other student reviews.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Refactor &amp;amp; Code Modification ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running Tests ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  rspec &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rspec Test Cases == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reference &amp;amp; Links ==&lt;br /&gt;
=== Previous Implementation ===&lt;br /&gt;
This project was done by Team E1985 on Fall 2019 with the following work:&lt;br /&gt;
&lt;br /&gt;
Expertiza wiki: http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1985._Let_course_staff_and_students_do_reviews&lt;br /&gt;
&lt;br /&gt;
Github Pull Request: https://github.com/expertiza/expertiza/pull/1631&lt;br /&gt;
&lt;br /&gt;
Github repository: https://github.com/Matrawick/expertiza&lt;br /&gt;
&lt;br /&gt;
Youtube screencast: https://youtu.be/kLfZ22vlu30&lt;br /&gt;
&lt;br /&gt;
=== Comments From Mentor ===&lt;br /&gt;
* Code for testing whether a reviewer is a staff member is put into an unrelated class (same method already exists elsewhere in system).&lt;br /&gt;
&lt;br /&gt;
* There is a long code clone because the process of creating a mapping and a review is not quite the same as when the reviewer is a non-instructor; a lot of checks needed in that case are not needed here.  But the current code should have been refactored to put the common code into another method.&lt;br /&gt;
&lt;br /&gt;
* One test has been removed because it broke the build, &amp;amp; was evid. unrelated to their functionality.&lt;br /&gt;
&lt;br /&gt;
* The commit was too messy; if this had been merged, it would have required refactoring. &lt;br /&gt;
&lt;br /&gt;
for more information about this project, please visit [https://docs.google.com/document/d/1qphGGe8imRNufw2EhTZRqgs-I6XiQX74_I3UiwpPs5M/edit# Project Lists]&lt;/div&gt;</summary>
		<author><name>Twang33</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2020_-_E2086._Let_course_staff_as_well_as_students_do_reviews&amp;diff=136306</id>
		<title>CSC/ECE 517 Fall 2020 - E2086. Let course staff as well as students do reviews</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2020_-_E2086._Let_course_staff_as_well_as_students_do_reviews&amp;diff=136306"/>
		<updated>2020-10-27T23:43:57Z</updated>

		<summary type="html">&lt;p&gt;Twang33: /* Perform review */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project Index ==&lt;br /&gt;
* Deployment Link: &lt;br /&gt;
&lt;br /&gt;
* Github Repository: &lt;br /&gt;
    https://github.com/MayoNaizz/expertiza&lt;br /&gt;
* Github Pull Request: &lt;br /&gt;
&lt;br /&gt;
* Video Link:&lt;br /&gt;
&lt;br /&gt;
== Project Background ==&lt;br /&gt;
&lt;br /&gt;
* Expertiza Project - E2086 : Let course staff as well as students do reviews&lt;br /&gt;
&lt;br /&gt;
=== Why This Project ===&lt;br /&gt;
&lt;br /&gt;
Peer review is a great way for students to learn about how well they have developed their application. However, sometimes, the peer reviews may not be thorough and the team/person's work reviewed might not reflect the actual status of the development. By letting course staff perform reviews as well, the reviewer and the reviewee both benefit, improving the overall learning experience. Currently, there exists no method for the instructor/TA to perform reviews of assignments submitted by the students. Hence this is what this project aims at, allowing instructor/TA to perform reviews.&lt;br /&gt;
&lt;br /&gt;
=== Primary Goal of this Project===&lt;br /&gt;
&lt;br /&gt;
This project aims to allow instructors to submit reviews of student work, using the same review form that students use to do reviews&lt;br /&gt;
&lt;br /&gt;
=== Files Involved ===&lt;br /&gt;
&lt;br /&gt;
list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
_calibration_report.html.erb&lt;br /&gt;
&lt;br /&gt;
response.html.erb&lt;br /&gt;
&lt;br /&gt;
=== Project Team Member===&lt;br /&gt;
&lt;br /&gt;
* Chenwei Zhou (czhou6)&lt;br /&gt;
* Tianrui Wang (twang33)&lt;br /&gt;
* Zhuolin Li(zli82)&lt;br /&gt;
* Hao Zhang (hzhang62)&lt;br /&gt;
&lt;br /&gt;
== Project Design Philosophy ==&lt;br /&gt;
Our project aims at enabling the instructor/TA to review the submissions using the same form that a student uses while peer-reviewing. For this, our implementation has been divided into 3 parts, and can be described as follows:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The first part involves the primary functionality of letting the staff perform a review on students submission.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The second part involves allowing the students to identify from their end, which review has been performed by an instructor/TA. This will help students improve their project as the opinions presented by a staff member would be valid.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Third, we plan to enable the instructor/TA to do review instead of assign grade in the review round. After the review Round, the review review session will be closed and replaced with assigning grade interface&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Design Flowchart ==&lt;br /&gt;
*When creating the assignment, the instructor should get a checkbox option asking whether allow the instructor to review all submissions as shown below.&lt;br /&gt;
[[File:E2086 flowchart1.png]]&lt;br /&gt;
&lt;br /&gt;
*Ideal Process of this function&lt;br /&gt;
[[File:E2086 flowchart2.png]]&lt;br /&gt;
&lt;br /&gt;
== Issue ==&lt;br /&gt;
=== Plan of Work ===&lt;br /&gt;
*In the assignment page of the Expertiza, If an instructor or a TA is a participant in an assignment, then the instructor should be able to review any team that has submitted the assignment.&lt;br /&gt;
*In order to see who is participating in the assignment, click on the “Add participants” icon (the one with the + sign and a picture of a person).  That will bring up a list of participants and allow you to add more participants.  &lt;br /&gt;
*Make the instructor and/or TAs participants, and then they should be allowed to do reviews.&lt;br /&gt;
[[File:E2086 assignment.png|900px]]&lt;br /&gt;
&lt;br /&gt;
*Then, to perform reviews, the instructor/TA would click on the clipboard-like “View submissions” icon, as shown below.&lt;br /&gt;
[[File:E2086 view submission.png|900px]]&lt;br /&gt;
&lt;br /&gt;
*A list of submissions would be pulled up:&lt;br /&gt;
[[File:E2086 submission.png|900px]]&lt;br /&gt;
*If the last due date for the assignment has not passed, then the “Assign grade” link should be changed to “Perform review”, and when clicked on, it should pull up a review page for the team, showing their submitted work at the top, as a review page normally does.&lt;br /&gt;
* We will add the review link in &amp;lt;code&amp;gt;views/assignments/list_submissions.html.erb&amp;lt;/code&amp;gt; and once instructor/TA click that link. Controller &amp;lt;code&amp;gt; response &amp;lt;/code&amp;gt; will be called. If the due day of the review round pass, this link will be replaced by the grade link. This link will also be added in &amp;lt;code&amp;gt;views/assignments/list_submissions.html.erb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Also, it would be more clear if we could mark the instructor's review with something special on the reviews page, as shown below.&lt;br /&gt;
*We will add an icon in &amp;lt;code&amp;gt;views/grades/view_team.html.erb&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;app/views/response/view.html.erb&amp;lt;/code&amp;gt; if these review is made by instructor or TA.&lt;br /&gt;
[[File:E2086 review.png|700px]]&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
The basic idea of this project is to change the 'Assign Grade' link to 'Perform review' if the deadline of a assignment has not passed. Thus, to test the functionality of this part, we plan to test it at the frontend &lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Click 'Manage' -&amp;gt; 'Assignments' to go to assignment page.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Add a new assignment for a course that the current account has registered. Make sure the due date of the assignment is after the the time to perform the review as an instructor.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click 'Add participants' icon in the new created assignment row, and 'Copy participants from course' to add all students registered to this course. Then add the current instructor account to this assignment through 'Enter a user login:' input space.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Impersonate as one of the students to simulate the submission of work.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Perform review ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Click 'Manage' -&amp;gt; 'Assignments' to go to assignment page as instructor.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click 'View submission' icon in the new created assignment row. Now the 'Perform review' link show be under participants name if the due date has not passed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click one of the 'Perform review' link to do the review for a certain submission by using the same templet of student peer review.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Impersonate the student that was previously reviewed by instructor. Check score for the assignment, and the review from the instructor should be recognizable from other student reviews.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Refactor &amp;amp; Code Modification ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running Tests ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  rspec &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rspec Test Cases == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reference &amp;amp; Links ==&lt;br /&gt;
=== Previous Implementation ===&lt;br /&gt;
This project was done by Team E1985 on Fall 2019 with the following work:&lt;br /&gt;
&lt;br /&gt;
Expertiza wiki: http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1985._Let_course_staff_and_students_do_reviews&lt;br /&gt;
&lt;br /&gt;
Github Pull Request: https://github.com/expertiza/expertiza/pull/1631&lt;br /&gt;
&lt;br /&gt;
Github repository: https://github.com/Matrawick/expertiza&lt;br /&gt;
&lt;br /&gt;
Youtube screencast: https://youtu.be/kLfZ22vlu30&lt;br /&gt;
&lt;br /&gt;
=== Comments From Mentor ===&lt;br /&gt;
* Code for testing whether a reviewer is a staff member is put into an unrelated class (same method already exists elsewhere in system).&lt;br /&gt;
&lt;br /&gt;
* There is a long code clone because the process of creating a mapping and a review is not quite the same as when the reviewer is a non-instructor; a lot of checks needed in that case are not needed here.  But the current code should have been refactored to put the common code into another method.&lt;br /&gt;
&lt;br /&gt;
* One test has been removed because it broke the build, &amp;amp; was evid. unrelated to their functionality.&lt;br /&gt;
&lt;br /&gt;
* The commit was too messy; if this had been merged, it would have required refactoring. &lt;br /&gt;
&lt;br /&gt;
for more information about this project, please visit [https://docs.google.com/document/d/1qphGGe8imRNufw2EhTZRqgs-I6XiQX74_I3UiwpPs5M/edit# Project Lists]&lt;/div&gt;</summary>
		<author><name>Twang33</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2020_-_E2086._Let_course_staff_as_well_as_students_do_reviews&amp;diff=136305</id>
		<title>CSC/ECE 517 Fall 2020 - E2086. Let course staff as well as students do reviews</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2020_-_E2086._Let_course_staff_as_well_as_students_do_reviews&amp;diff=136305"/>
		<updated>2020-10-27T23:43:27Z</updated>

		<summary type="html">&lt;p&gt;Twang33: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project Index ==&lt;br /&gt;
* Deployment Link: &lt;br /&gt;
&lt;br /&gt;
* Github Repository: &lt;br /&gt;
    https://github.com/MayoNaizz/expertiza&lt;br /&gt;
* Github Pull Request: &lt;br /&gt;
&lt;br /&gt;
* Video Link:&lt;br /&gt;
&lt;br /&gt;
== Project Background ==&lt;br /&gt;
&lt;br /&gt;
* Expertiza Project - E2086 : Let course staff as well as students do reviews&lt;br /&gt;
&lt;br /&gt;
=== Why This Project ===&lt;br /&gt;
&lt;br /&gt;
Peer review is a great way for students to learn about how well they have developed their application. However, sometimes, the peer reviews may not be thorough and the team/person's work reviewed might not reflect the actual status of the development. By letting course staff perform reviews as well, the reviewer and the reviewee both benefit, improving the overall learning experience. Currently, there exists no method for the instructor/TA to perform reviews of assignments submitted by the students. Hence this is what this project aims at, allowing instructor/TA to perform reviews.&lt;br /&gt;
&lt;br /&gt;
=== Primary Goal of this Project===&lt;br /&gt;
&lt;br /&gt;
This project aims to allow instructors to submit reviews of student work, using the same review form that students use to do reviews&lt;br /&gt;
&lt;br /&gt;
=== Files Involved ===&lt;br /&gt;
&lt;br /&gt;
list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
_calibration_report.html.erb&lt;br /&gt;
&lt;br /&gt;
response.html.erb&lt;br /&gt;
&lt;br /&gt;
=== Project Team Member===&lt;br /&gt;
&lt;br /&gt;
* Chenwei Zhou (czhou6)&lt;br /&gt;
* Tianrui Wang (twang33)&lt;br /&gt;
* Zhuolin Li(zli82)&lt;br /&gt;
* Hao Zhang (hzhang62)&lt;br /&gt;
&lt;br /&gt;
== Project Design Philosophy ==&lt;br /&gt;
Our project aims at enabling the instructor/TA to review the submissions using the same form that a student uses while peer-reviewing. For this, our implementation has been divided into 3 parts, and can be described as follows:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The first part involves the primary functionality of letting the staff perform a review on students submission.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The second part involves allowing the students to identify from their end, which review has been performed by an instructor/TA. This will help students improve their project as the opinions presented by a staff member would be valid.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Third, we plan to enable the instructor/TA to do review instead of assign grade in the review round. After the review Round, the review review session will be closed and replaced with assigning grade interface&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Design Flowchart ==&lt;br /&gt;
*When creating the assignment, the instructor should get a checkbox option asking whether allow the instructor to review all submissions as shown below.&lt;br /&gt;
[[File:E2086 flowchart1.png]]&lt;br /&gt;
&lt;br /&gt;
*Ideal Process of this function&lt;br /&gt;
[[File:E2086 flowchart2.png]]&lt;br /&gt;
&lt;br /&gt;
== Issue ==&lt;br /&gt;
=== Plan of Work ===&lt;br /&gt;
*In the assignment page of the Expertiza, If an instructor or a TA is a participant in an assignment, then the instructor should be able to review any team that has submitted the assignment.&lt;br /&gt;
*In order to see who is participating in the assignment, click on the “Add participants” icon (the one with the + sign and a picture of a person).  That will bring up a list of participants and allow you to add more participants.  &lt;br /&gt;
*Make the instructor and/or TAs participants, and then they should be allowed to do reviews.&lt;br /&gt;
[[File:E2086 assignment.png|900px]]&lt;br /&gt;
&lt;br /&gt;
*Then, to perform reviews, the instructor/TA would click on the clipboard-like “View submissions” icon, as shown below.&lt;br /&gt;
[[File:E2086 view submission.png|900px]]&lt;br /&gt;
&lt;br /&gt;
*A list of submissions would be pulled up:&lt;br /&gt;
[[File:E2086 submission.png|900px]]&lt;br /&gt;
*If the last due date for the assignment has not passed, then the “Assign grade” link should be changed to “Perform review”, and when clicked on, it should pull up a review page for the team, showing their submitted work at the top, as a review page normally does.&lt;br /&gt;
* We will add the review link in &amp;lt;code&amp;gt;views/assignments/list_submissions.html.erb&amp;lt;/code&amp;gt; and once instructor/TA click that link. Controller &amp;lt;code&amp;gt; response &amp;lt;/code&amp;gt; will be called. If the due day of the review round pass, this link will be replaced by the grade link. This link will also be added in &amp;lt;code&amp;gt;views/assignments/list_submissions.html.erb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Also, it would be more clear if we could mark the instructor's review with something special on the reviews page, as shown below.&lt;br /&gt;
*We will add an icon in &amp;lt;code&amp;gt;views/grades/view_team.html.erb&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;app/views/response/view.html.erb&amp;lt;/code&amp;gt; if these review is made by instructor or TA.&lt;br /&gt;
[[File:E2086 review.png|700px]]&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
The basic idea of this project is to change the 'Assign Grade' link to 'Perform review' if the deadline of a assignment has not passed. Thus, to test the functionality of this part, we plan to test it at the frontend &lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Click 'Manage' -&amp;gt; 'Assignments' to go to assignment page.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Add a new assignment for a course that the current account has registered. Make sure the due date of the assignment is after the the time to perform the review as an instructor.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click 'Add participants' icon in the new created assignment row, and 'Copy participants from course' to add all students registered to this course. Then add the current instructor account to this assignment through 'Enter a user login:' input space.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Impersonate as one of the students to simulate the submission of work.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Perform review ===&lt;br /&gt;
&lt;br /&gt;
1. Click 'Manage' -&amp;gt; 'Assignments' to go to assignment page as instructor.&lt;br /&gt;
2. Click 'View submission' icon in the new created assignment row. Now the 'Perform review' link show be under participants name if the due date has not passed.&lt;br /&gt;
3. Click one of the 'Perform review' link to do the review for a certain submission by using the same templet of student peer review.&lt;br /&gt;
4. Impersonate the student that was previously reviewed by instructor. Check score for the assignment, and the review from the instructor should be recognizable from other student reviews.&lt;br /&gt;
&lt;br /&gt;
== Refactor &amp;amp; Code Modification ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running Tests ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  rspec &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rspec Test Cases == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reference &amp;amp; Links ==&lt;br /&gt;
=== Previous Implementation ===&lt;br /&gt;
This project was done by Team E1985 on Fall 2019 with the following work:&lt;br /&gt;
&lt;br /&gt;
Expertiza wiki: http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1985._Let_course_staff_and_students_do_reviews&lt;br /&gt;
&lt;br /&gt;
Github Pull Request: https://github.com/expertiza/expertiza/pull/1631&lt;br /&gt;
&lt;br /&gt;
Github repository: https://github.com/Matrawick/expertiza&lt;br /&gt;
&lt;br /&gt;
Youtube screencast: https://youtu.be/kLfZ22vlu30&lt;br /&gt;
&lt;br /&gt;
=== Comments From Mentor ===&lt;br /&gt;
* Code for testing whether a reviewer is a staff member is put into an unrelated class (same method already exists elsewhere in system).&lt;br /&gt;
&lt;br /&gt;
* There is a long code clone because the process of creating a mapping and a review is not quite the same as when the reviewer is a non-instructor; a lot of checks needed in that case are not needed here.  But the current code should have been refactored to put the common code into another method.&lt;br /&gt;
&lt;br /&gt;
* One test has been removed because it broke the build, &amp;amp; was evid. unrelated to their functionality.&lt;br /&gt;
&lt;br /&gt;
* The commit was too messy; if this had been merged, it would have required refactoring. &lt;br /&gt;
&lt;br /&gt;
for more information about this project, please visit [https://docs.google.com/document/d/1qphGGe8imRNufw2EhTZRqgs-I6XiQX74_I3UiwpPs5M/edit# Project Lists]&lt;/div&gt;</summary>
		<author><name>Twang33</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2020_-_E2086._Let_course_staff_as_well_as_students_do_reviews&amp;diff=136304</id>
		<title>CSC/ECE 517 Fall 2020 - E2086. Let course staff as well as students do reviews</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2020_-_E2086._Let_course_staff_as_well_as_students_do_reviews&amp;diff=136304"/>
		<updated>2020-10-27T23:42:59Z</updated>

		<summary type="html">&lt;p&gt;Twang33: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project Index ==&lt;br /&gt;
* Deployment Link: &lt;br /&gt;
&lt;br /&gt;
* Github Repository: &lt;br /&gt;
    https://github.com/MayoNaizz/expertiza&lt;br /&gt;
* Github Pull Request: &lt;br /&gt;
&lt;br /&gt;
* Video Link:&lt;br /&gt;
&lt;br /&gt;
== Project Background ==&lt;br /&gt;
&lt;br /&gt;
* Expertiza Project - E2086 : Let course staff as well as students do reviews&lt;br /&gt;
&lt;br /&gt;
=== Why This Project ===&lt;br /&gt;
&lt;br /&gt;
Peer review is a great way for students to learn about how well they have developed their application. However, sometimes, the peer reviews may not be thorough and the team/person's work reviewed might not reflect the actual status of the development. By letting course staff perform reviews as well, the reviewer and the reviewee both benefit, improving the overall learning experience. Currently, there exists no method for the instructor/TA to perform reviews of assignments submitted by the students. Hence this is what this project aims at, allowing instructor/TA to perform reviews.&lt;br /&gt;
&lt;br /&gt;
=== Primary Goal of this Project===&lt;br /&gt;
&lt;br /&gt;
This project aims to allow instructors to submit reviews of student work, using the same review form that students use to do reviews&lt;br /&gt;
&lt;br /&gt;
=== Files Involved ===&lt;br /&gt;
&lt;br /&gt;
list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
_calibration_report.html.erb&lt;br /&gt;
&lt;br /&gt;
response.html.erb&lt;br /&gt;
&lt;br /&gt;
=== Project Team Member===&lt;br /&gt;
&lt;br /&gt;
* Chenwei Zhou (czhou6)&lt;br /&gt;
* Tianrui Wang (twang33)&lt;br /&gt;
* Zhuolin Li(zli82)&lt;br /&gt;
* Hao Zhang (hzhang62)&lt;br /&gt;
&lt;br /&gt;
== Project Design Philosophy ==&lt;br /&gt;
Our project aims at enabling the instructor/TA to review the submissions using the same form that a student uses while peer-reviewing. For this, our implementation has been divided into 3 parts, and can be described as follows:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The first part involves the primary functionality of letting the staff perform a review on students submission.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The second part involves allowing the students to identify from their end, which review has been performed by an instructor/TA. This will help students improve their project as the opinions presented by a staff member would be valid.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Third, we plan to enable the instructor/TA to do review instead of assign grade in the review round. After the review Round, the review review session will be closed and replaced with assigning grade interface&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Design Flowchart ==&lt;br /&gt;
*When creating the assignment, the instructor should get a checkbox option asking whether allow the instructor to review all submissions as shown below.&lt;br /&gt;
[[File:E2086 flowchart1.png]]&lt;br /&gt;
&lt;br /&gt;
*Ideal Process of this function&lt;br /&gt;
[[File:E2086 flowchart2.png]]&lt;br /&gt;
&lt;br /&gt;
== Issue ==&lt;br /&gt;
=== Plan of Work ===&lt;br /&gt;
*In the assignment page of the Expertiza, If an instructor or a TA is a participant in an assignment, then the instructor should be able to review any team that has submitted the assignment.&lt;br /&gt;
*In order to see who is participating in the assignment, click on the “Add participants” icon (the one with the + sign and a picture of a person).  That will bring up a list of participants and allow you to add more participants.  &lt;br /&gt;
*Make the instructor and/or TAs participants, and then they should be allowed to do reviews.&lt;br /&gt;
[[File:E2086 assignment.png|900px]]&lt;br /&gt;
&lt;br /&gt;
*Then, to perform reviews, the instructor/TA would click on the clipboard-like “View submissions” icon, as shown below.&lt;br /&gt;
[[File:E2086 view submission.png|900px]]&lt;br /&gt;
&lt;br /&gt;
*A list of submissions would be pulled up:&lt;br /&gt;
[[File:E2086 submission.png|900px]]&lt;br /&gt;
*If the last due date for the assignment has not passed, then the “Assign grade” link should be changed to “Perform review”, and when clicked on, it should pull up a review page for the team, showing their submitted work at the top, as a review page normally does.&lt;br /&gt;
* We will add the review link in &amp;lt;code&amp;gt;views/assignments/list_submissions.html.erb&amp;lt;/code&amp;gt; and once instructor/TA click that link. Controller &amp;lt;code&amp;gt; response &amp;lt;/code&amp;gt; will be called. If the due day of the review round pass, this link will be replaced by the grade link. This link will also be added in &amp;lt;code&amp;gt;views/assignments/list_submissions.html.erb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Also, it would be more clear if we could mark the instructor's review with something special on the reviews page, as shown below.&lt;br /&gt;
*We will add an icon in &amp;lt;code&amp;gt;views/grades/view_team.html.erb&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;app/views/response/view.html.erb&amp;lt;/code&amp;gt; if these review is made by instructor or TA.&lt;br /&gt;
[[File:E2086 review.png|700px]]&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
The basic idea of this project is to change the 'Assign Grade' link to 'Perform review' if the deadline of a assignment has not passed. Thus, to test the functionality of this part, we plan to test it at the frontend &lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;1. Click 'Manage' -&amp;gt; 'Assignments' to go to assignment page.&amp;lt;/li&amp;gt;&lt;br /&gt;
2. Add a new assignment for a course that the current account has registered. Make sure the due date of the assignment is after the the time to perform the review as an instructor.&lt;br /&gt;
3. Click 'Add participants' icon in the new created assignment row, and 'Copy participants from course' to add all students registered to this course. Then add the current instructor account to this assignment through 'Enter a user login:' input space.&lt;br /&gt;
4. Impersonate as one of the students to simulate the submission of work.&lt;br /&gt;
&lt;br /&gt;
=== Perform review ===&lt;br /&gt;
&lt;br /&gt;
1. Click 'Manage' -&amp;gt; 'Assignments' to go to assignment page as instructor.&lt;br /&gt;
2. Click 'View submission' icon in the new created assignment row. Now the 'Perform review' link show be under participants name if the due date has not passed.&lt;br /&gt;
3. Click one of the 'Perform review' link to do the review for a certain submission by using the same templet of student peer review.&lt;br /&gt;
4. Impersonate the student that was previously reviewed by instructor. Check score for the assignment, and the review from the instructor should be recognizable from other student reviews.&lt;br /&gt;
&lt;br /&gt;
== Refactor &amp;amp; Code Modification ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running Tests ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  rspec &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rspec Test Cases == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reference &amp;amp; Links ==&lt;br /&gt;
=== Previous Implementation ===&lt;br /&gt;
This project was done by Team E1985 on Fall 2019 with the following work:&lt;br /&gt;
&lt;br /&gt;
Expertiza wiki: http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1985._Let_course_staff_and_students_do_reviews&lt;br /&gt;
&lt;br /&gt;
Github Pull Request: https://github.com/expertiza/expertiza/pull/1631&lt;br /&gt;
&lt;br /&gt;
Github repository: https://github.com/Matrawick/expertiza&lt;br /&gt;
&lt;br /&gt;
Youtube screencast: https://youtu.be/kLfZ22vlu30&lt;br /&gt;
&lt;br /&gt;
=== Comments From Mentor ===&lt;br /&gt;
* Code for testing whether a reviewer is a staff member is put into an unrelated class (same method already exists elsewhere in system).&lt;br /&gt;
&lt;br /&gt;
* There is a long code clone because the process of creating a mapping and a review is not quite the same as when the reviewer is a non-instructor; a lot of checks needed in that case are not needed here.  But the current code should have been refactored to put the common code into another method.&lt;br /&gt;
&lt;br /&gt;
* One test has been removed because it broke the build, &amp;amp; was evid. unrelated to their functionality.&lt;br /&gt;
&lt;br /&gt;
* The commit was too messy; if this had been merged, it would have required refactoring. &lt;br /&gt;
&lt;br /&gt;
for more information about this project, please visit [https://docs.google.com/document/d/1qphGGe8imRNufw2EhTZRqgs-I6XiQX74_I3UiwpPs5M/edit# Project Lists]&lt;/div&gt;</summary>
		<author><name>Twang33</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2020_-_E2086._Let_course_staff_as_well_as_students_do_reviews&amp;diff=136298</id>
		<title>CSC/ECE 517 Fall 2020 - E2086. Let course staff as well as students do reviews</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2020_-_E2086._Let_course_staff_as_well_as_students_do_reviews&amp;diff=136298"/>
		<updated>2020-10-27T23:12:42Z</updated>

		<summary type="html">&lt;p&gt;Twang33: /* Test Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project Index ==&lt;br /&gt;
* Deployment Link: &lt;br /&gt;
&lt;br /&gt;
* Github Repository: &lt;br /&gt;
    https://github.com/MayoNaizz/expertiza&lt;br /&gt;
* Github Pull Request: &lt;br /&gt;
&lt;br /&gt;
* Video Link:&lt;br /&gt;
&lt;br /&gt;
== Project Background ==&lt;br /&gt;
&lt;br /&gt;
* Expertiza Project - E2086 : Let course staff as well as students do reviews&lt;br /&gt;
&lt;br /&gt;
=== Why This Project ===&lt;br /&gt;
&lt;br /&gt;
Peer review is a great way for students to learn about how well they have developed their application. However, sometimes, the peer reviews may not be thorough and the team/person's work reviewed might not reflect the actual status of the development. By letting course staff perform reviews as well, the reviewer and the reviewee both benefit, improving the overall learning experience. Currently, there exists no method for the instructor/TA to perform reviews of assignments submitted by the students. Hence this is what this project aims at, allowing instructor/TA to perform reviews.&lt;br /&gt;
&lt;br /&gt;
=== Primary Goal of this Project===&lt;br /&gt;
&lt;br /&gt;
This project aims to allow instructors to submit reviews of student work, using the same review form that students use to do reviews&lt;br /&gt;
&lt;br /&gt;
=== Files Involved ===&lt;br /&gt;
&lt;br /&gt;
list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
_calibration_report.html.erb&lt;br /&gt;
&lt;br /&gt;
response.html.erb&lt;br /&gt;
&lt;br /&gt;
=== Project Team Member===&lt;br /&gt;
&lt;br /&gt;
* Chenwei Zhou (czhou6)&lt;br /&gt;
* Tianrui Wang (twang33)&lt;br /&gt;
* Zhuolin Li(zli82)&lt;br /&gt;
* Hao Zhang (hzhang62)&lt;br /&gt;
&lt;br /&gt;
== Project Design Philosophy ==&lt;br /&gt;
Our project aims at enabling the instructor/TA to review the submissions using the same form that a student uses while peer-reviewing. For this, our implementation has been divided into 3 parts, and can be described as follows:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The first part involves the primary functionality of letting the staff perform a review on students submission.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The second part involves allowing the students to identify from their end, which review has been performed by an instructor/TA. This will help students improve their project as the opinions presented by a staff member would be valid.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Third, we plan to enable the instructor/TA to do review instead of assign grade in the review round. After the review Round, the review review session will be closed and replaced with assigning grade interface&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Design Flowchart ==&lt;br /&gt;
*When creating the assignment, the instructor should get a checkbox option asking whether allow the instructor to review all submissions as shown below.&lt;br /&gt;
[[File:E2086 flowchart1.png]]&lt;br /&gt;
&lt;br /&gt;
*Ideal Process of this function&lt;br /&gt;
[[File:E2086 flowchart2.png]]&lt;br /&gt;
&lt;br /&gt;
== Issue ==&lt;br /&gt;
=== Plan of Work ===&lt;br /&gt;
*In the assignment page of the Expertiza, If an instructor or a TA is a participant in an assignment, then the instructor should be able to review any team that has submitted the assignment.&lt;br /&gt;
*In order to see who is participating in the assignment, click on the “Add participants” icon (the one with the + sign and a picture of a person).  That will bring up a list of participants and allow you to add more participants.  &lt;br /&gt;
*Make the instructor and/or TAs participants, and then they should be allowed to do reviews.&lt;br /&gt;
[[File:E2086 assignment.png|900px]]&lt;br /&gt;
&lt;br /&gt;
*Then, to perform reviews, the instructor/TA would click on the clipboard-like “View submissions” icon, as shown below.&lt;br /&gt;
[[File:E2086 view submission.png|900px]]&lt;br /&gt;
&lt;br /&gt;
*A list of submissions would be pulled up:&lt;br /&gt;
[[File:E2086 submission.png|900px]]&lt;br /&gt;
*If the last due date for the assignment has not passed, then the “Assign grade” link should be changed to “Perform review”, and when clicked on, it should pull up a review page for the team, showing their submitted work at the top, as a review page normally does.&lt;br /&gt;
&lt;br /&gt;
*Also, it would be more clear if we could mark the instructor's review with something special on the reviews page, as shown below.&lt;br /&gt;
[[File:E2086 review.png|700px]]&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
The basic idea of this project is to change the 'Assign Grade' link to 'Perform review' if the deadline of a assignment has not passed. Thus, to test the functionality of this part, we plan to test it at the frontend &lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
1. Click 'Manage' -&amp;gt; 'Assignments' to go to assignment page.&lt;br /&gt;
2. Add a new assignment for a course that the current account has registered. Make sure the due date of the assignment is after the the time to perform the review as an instructor.&lt;br /&gt;
3. Click 'Add participants' icon in the new created assignment row, and 'Copy participants from course' to add all students registered to this course. Then add the current instructor account to this assignment through 'Enter a user login:' input space.&lt;br /&gt;
4. Impersonate as one of the students to simulate the submission of work.&lt;br /&gt;
&lt;br /&gt;
=== Perform review ===&lt;br /&gt;
&lt;br /&gt;
1. Click 'Manage' -&amp;gt; 'Assignments' to go to assignment page as instructor.&lt;br /&gt;
2. Click 'View submission' icon in the new created assignment row. Now the 'Perform review' link show be under participants name if the due date has not passed.&lt;br /&gt;
3. Click one of the 'Perform review' link to do the review for a certain submission by using the same templet of student peer review.&lt;br /&gt;
4. Impersonate the student that was previously reviewed by instructor. Check score for the assignment, and the review from the instructor should be recognizable from other student reviews.&lt;br /&gt;
&lt;br /&gt;
== Refactor &amp;amp; Code Modification ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running Tests ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  rspec &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rspec Test Cases == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reference &amp;amp; Links ==&lt;br /&gt;
=== Previous Implementation ===&lt;br /&gt;
This project was done by Team E1985 on Fall 2019 with the following work:&lt;br /&gt;
&lt;br /&gt;
Expertiza wiki: http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1985._Let_course_staff_and_students_do_reviews&lt;br /&gt;
&lt;br /&gt;
Github Pull Request: https://github.com/expertiza/expertiza/pull/1631&lt;br /&gt;
&lt;br /&gt;
Github repository: https://github.com/Matrawick/expertiza&lt;br /&gt;
&lt;br /&gt;
Youtube screencast: https://youtu.be/kLfZ22vlu30&lt;br /&gt;
&lt;br /&gt;
=== Comments From Mentor ===&lt;br /&gt;
* Code for testing whether a reviewer is a staff member is put into an unrelated class (same method already exists elsewhere in system).&lt;br /&gt;
&lt;br /&gt;
* There is a long code clone because the process of creating a mapping and a review is not quite the same as when the reviewer is a non-instructor; a lot of checks needed in that case are not needed here.  But the current code should have been refactored to put the common code into another method.&lt;br /&gt;
&lt;br /&gt;
* One test has been removed because it broke the build, &amp;amp; was evid. unrelated to their functionality.&lt;br /&gt;
&lt;br /&gt;
* The commit was too messy; if this had been merged, it would have required refactoring. &lt;br /&gt;
&lt;br /&gt;
for more information about this project, please visit [https://docs.google.com/document/d/1qphGGe8imRNufw2EhTZRqgs-I6XiQX74_I3UiwpPs5M/edit# Project Lists]&lt;/div&gt;</summary>
		<author><name>Twang33</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2020_-_E2086._Let_course_staff_as_well_as_students_do_reviews&amp;diff=136280</id>
		<title>CSC/ECE 517 Fall 2020 - E2086. Let course staff as well as students do reviews</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2020_-_E2086._Let_course_staff_as_well_as_students_do_reviews&amp;diff=136280"/>
		<updated>2020-10-27T20:03:28Z</updated>

		<summary type="html">&lt;p&gt;Twang33: /* Project Index */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project Index ==&lt;br /&gt;
* Deployment Link: &lt;br /&gt;
&lt;br /&gt;
* Github Repository: &lt;br /&gt;
    https://github.com/MayoNaizz/expertiza&lt;br /&gt;
* Github Pull Request: &lt;br /&gt;
&lt;br /&gt;
* Video Link:&lt;br /&gt;
&lt;br /&gt;
== Project Background ==&lt;br /&gt;
&lt;br /&gt;
* Expertiza Project - E2086 : Let course staff as well as students do reviews&lt;br /&gt;
&lt;br /&gt;
=== Why This Project ===&lt;br /&gt;
&lt;br /&gt;
Peer review is a great way for students to learn about how well they have developed their application. However, sometimes, the peer reviews may not be thorough and the team/person's work reviewed might not reflect the actual status of the development. By letting course staff perform reviews as well, the reviewer and the reviewee both benefit, improving the overall learning experience. Currently, there exists no method for the instructor/TA to perform reviews of assignments submitted by the students. Hence this is what this project aims at, allowing instructor/TA to perform reviews.&lt;br /&gt;
&lt;br /&gt;
=== Primary Goal of this Project===&lt;br /&gt;
&lt;br /&gt;
This project aims to allow instructors to submit reviews of student work, using the same review form that students use to do reviews&lt;br /&gt;
&lt;br /&gt;
=== Files Involved ===&lt;br /&gt;
&lt;br /&gt;
list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
_calibration_report.html.erb&lt;br /&gt;
&lt;br /&gt;
response.html.erb&lt;br /&gt;
&lt;br /&gt;
=== Project Team Member===&lt;br /&gt;
&lt;br /&gt;
* Chenwei Zhou (czhou6)&lt;br /&gt;
* Tianrui Wang (twang33)&lt;br /&gt;
* Zhuolin Li(zli82)&lt;br /&gt;
* Hao Zhang (hzhang62)&lt;br /&gt;
&lt;br /&gt;
== Project Design Philosophy ==&lt;br /&gt;
Our project aims at enabling the instructor/TA to review the submissions using the same form that a student uses while peer-reviewing. For this, our implementation has been divided into 3 parts, and can be described as follows:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The first part involves the primary functionality of letting the staff perform a review on students submission.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The second part involves allowing the students to identify from their end, which review has been performed by an instructor/TA. This will help students improve their project as the opinions presented by a staff member would be valid.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Third, we plan to enable the instructor/TA to do review instead of assign grade in the review round. After the review Round, the review review session will be closed and replaced with assigning grade interface&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Design Flowchart ==&lt;br /&gt;
*When creating the assignment, the instructor should get a checkbox option asking whether allow the instructor to review all submissions as shown below.&lt;br /&gt;
[[File:E2086 flowchart1.png]]&lt;br /&gt;
&lt;br /&gt;
*Ideal Process of this function&lt;br /&gt;
[[File:E2086 flowchart2.png]]&lt;br /&gt;
&lt;br /&gt;
== Issue ==&lt;br /&gt;
=== Plan of Work ===&lt;br /&gt;
*In the assignment page of the Expertiza, If an instructor or a TA is a participant in an assignment, then the instructor should be able to review any team that has submitted the assignment.&lt;br /&gt;
*In order to see who is participating in the assignment, click on the “Add participants” icon (the one with the + sign and a picture of a person).  That will bring up a list of participants and allow you to add more participants.  &lt;br /&gt;
*Make the instructor and/or TAs participants, and then they should be allowed to do reviews.&lt;br /&gt;
[[File:E2086 assignment.png|900px]]&lt;br /&gt;
&lt;br /&gt;
*Then, to perform reviews, the instructor/TA would click on the clipboard-like “View submissions” icon, as shown below.&lt;br /&gt;
[[File:E2086 view submission.png|900px]]&lt;br /&gt;
&lt;br /&gt;
*A list of submissions would be pulled up:&lt;br /&gt;
[[File:E2086 submission.png|900px]]&lt;br /&gt;
*If the last due date for the assignment has not passed, then the “Assign grade” link should be changed to “Perform review”, and when clicked on, it should pull up a review page for the team, showing their submitted work at the top, as a review page normally does.&lt;br /&gt;
&lt;br /&gt;
*Also, it would be more clear if we could mark the instructor's review with something special on the reviews page, as shown below.&lt;br /&gt;
[[File:E2086 review.png|700px]]&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Refactor &amp;amp; Code Modification ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running Tests ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  rspec &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rspec Test Cases == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reference &amp;amp; Links ==&lt;br /&gt;
=== Previous Implementation ===&lt;br /&gt;
This project was done by Team E1985 on Fall 2019 with the following work:&lt;br /&gt;
&lt;br /&gt;
Expertiza wiki: http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1985._Let_course_staff_and_students_do_reviews&lt;br /&gt;
&lt;br /&gt;
Github Pull Request: https://github.com/expertiza/expertiza/pull/1631&lt;br /&gt;
&lt;br /&gt;
Github repository: https://github.com/Matrawick/expertiza&lt;br /&gt;
&lt;br /&gt;
Youtube screencast: https://youtu.be/kLfZ22vlu30&lt;br /&gt;
&lt;br /&gt;
=== Comments From Mentor ===&lt;br /&gt;
* Code for testing whether a reviewer is a staff member is put into an unrelated class (same method already exists elsewhere in system).&lt;br /&gt;
&lt;br /&gt;
* There is a long code clone because the process of creating a mapping and a review is not quite the same as when the reviewer is a non-instructor; a lot of checks needed in that case are not needed here.  But the current code should have been refactored to put the common code into another method.&lt;br /&gt;
&lt;br /&gt;
* One test has been removed because it broke the build, &amp;amp; was evid. unrelated to their functionality.&lt;br /&gt;
&lt;br /&gt;
* The commit was too messy; if this had been merged, it would have required refactoring. &lt;br /&gt;
&lt;br /&gt;
for more information about this project, please visit [https://docs.google.com/document/d/1qphGGe8imRNufw2EhTZRqgs-I6XiQX74_I3UiwpPs5M/edit# Project Lists]&lt;/div&gt;</summary>
		<author><name>Twang33</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2020_-_E2070._Refactor_response_controller.rb&amp;diff=135209</id>
		<title>CSC/ECE 517 Fall 2020 - E2070. Refactor response controller.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2020_-_E2070._Refactor_response_controller.rb&amp;diff=135209"/>
		<updated>2020-10-14T17:21:41Z</updated>

		<summary type="html">&lt;p&gt;Twang33: /* METHOD: def show_calibration_results_for_student */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Project 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;
=== Project Team Member===&lt;br /&gt;
&lt;br /&gt;
* Chenwei Zhou (czhou6)&lt;br /&gt;
* Tianrui Wang (twang33)&lt;br /&gt;
* Xinran Li (xli56)&lt;br /&gt;
&lt;br /&gt;
=== Goal of this Project===&lt;br /&gt;
This project tries to modify and refactor the response_controller.rb in a more clear way&lt;br /&gt;
&lt;br /&gt;
=== Files Involved ===&lt;br /&gt;
&lt;br /&gt;
response_controller.rb&lt;br /&gt;
&lt;br /&gt;
response.rb&lt;br /&gt;
&lt;br /&gt;
== Issue ==&lt;br /&gt;
=== Methods need to be fixed ===&lt;br /&gt;
* def assign_instance_vars&lt;br /&gt;
* def scores&lt;br /&gt;
* def new&lt;br /&gt;
* def set_questionnaire&lt;br /&gt;
* def set_questionnaire_for_new_response&lt;br /&gt;
* def show_calibration_results_for_students&lt;br /&gt;
&lt;br /&gt;
=== Recommandation from mentor === &lt;br /&gt;
[https://docs.google.com/document/d/1LCl_4jGFEQSz09c9TK1fVlVmOiGJ38OEVMxAsjAcEec/edit# Project Lists]&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;
== Refactor &amp;amp; Code Modification ==&lt;br /&gt;
We did the following refactor to make this method more clear:&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def assign_instance_vars ===&lt;br /&gt;
&lt;br /&gt;
*the instance variables are actually action handles to the views from controller including &amp;quot;new&amp;quot; and &amp;quot;edit&amp;quot;, thus refactoring method name to assign_action_parameters would be better to understand what this method is trying to do.&lt;br /&gt;
*This method is a private helper method and is used in new and edit methods to set the action parameters for the new and edit actions&lt;br /&gt;
&lt;br /&gt;
[[File:E2070 assign instance.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
*After renaming, the method became more clear of what it's doing&lt;br /&gt;
&lt;br /&gt;
[[File:E2070 action parameters.png]]&lt;br /&gt;
&lt;br /&gt;
=== METHOD: def scores ===&lt;br /&gt;
&lt;br /&gt;
*This method was already defined in other classes and is useless in the current class, thus remove it would be a reasonable choice.&lt;br /&gt;
&lt;br /&gt;
[[File:E2070 Scores.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===METHOD: def set_questionnaire===&lt;br /&gt;
&lt;br /&gt;
*In the method set_content in response_controller.rb, there is one line of code that &amp;quot;new_response ? set_questionnaire_for_new_response : set_questionnaire&amp;quot;. Thus, we can tell the method set_qustionnaire will called when new_response is false, which means that the object was triggered by an existing response. In the method set_questionnaire, the line of code that “@questionnaire = @response.questionnaire_by_answer(answer)”, which is looking up the questionnaire answered by this existing response. Therefore, refactoring the method name to find_quesetionnaire would be better to understand. &lt;br /&gt;
[[File:E2070 set questionnaire.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===METHOD: def set_questionnaire_for_new_response===&lt;br /&gt;
&lt;br /&gt;
*In the method set_content in response_controller.rb, there is one line of code that &amp;quot;new_response ? set_questionnaire_for_new_response : set_questionnaire&amp;quot;. Thus, we can tell the method set_qustionnaire will called when new_response is true, which means that the object was triggered by a new response. In the set_questionnaire_for_new_response method, the &amp;quot;cast&amp;quot; statement informs us that the new questionnaire are created based on the types or Reviewers, such as Review, Metareview, Teammate Review and so on. Therefore, refactoring the set_questionnaire_for_new_response method to create_new_questionnaire would be better to understand. &lt;br /&gt;
[[File:E2070 set questionnaire for new.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
===METHOD: def show_calibration_results_for_student ===&lt;br /&gt;
* This method shows the result of expert review for reviewer after teacher or TA submit the calibration by editing the assignment.&lt;br /&gt;
* The method makes about five database accesses and the code is quite messy and thus break it into 2 methods with the business logic moved to response.rb would be a good way to make the code in controller cleaner.&lt;br /&gt;
&lt;br /&gt;
[[File:E2070 calibration controller.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
* The method get_questions_from_assignment is the part that's inside the model class and contains logic of mapping reviews with assignments in the questionnaire and return questions in the joined table&lt;br /&gt;
[[File:E2070 calibration model.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====show_calibration page ====&lt;br /&gt;
[[File:E2070 calibration student view.png|900px]]&lt;br /&gt;
&lt;br /&gt;
====Teacher's action to triggle this function ====&lt;br /&gt;
[[File:E2070 calibration edit assignment.png|900px]]&lt;br /&gt;
&lt;br /&gt;
====After calibration function is activated====&lt;br /&gt;
[[File:E2070 expert review.png|900px]]&lt;br /&gt;
&lt;br /&gt;
===METHOD: def new ===&lt;br /&gt;
*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.&lt;br /&gt;
*So we break the new method into two methods: new and get_most_recent_response and put the logic into the response controller class.&lt;br /&gt;
*The method get_most_recent_response in the model class tests whether there has been a review since the last file or link was submitted and in the controller this method was called to get the newest response.&lt;br /&gt;
[[File:E2070 new.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
* The new method after refactoring, now the code is quite clear and with only one appearance of variable &amp;quot;@response&amp;quot;&lt;br /&gt;
[[File:E2070 new method.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
====Create new response in the webpage====&lt;br /&gt;
[[File:E2070 request a new review.png|900px]]&lt;br /&gt;
&lt;br /&gt;
====After NEW action====&lt;br /&gt;
[[File:E2070 new method called to generate new response.png|900px]]&lt;/div&gt;</summary>
		<author><name>Twang33</name></author>
	</entry>
</feed>