<?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=Bghagar</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=Bghagar"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Bghagar"/>
	<updated>2026-07-18T07:10:16Z</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_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101752</id>
		<title>CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101752"/>
		<updated>2016-04-04T03:20:50Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page documents the project to implement confidence ratings for a student peer review grade based on the reputations of the reviewers&lt;br /&gt;
__TOC__&lt;br /&gt;
===Introduction to Expertiza===&lt;br /&gt;
&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is a  web application developed using the [http://rubyonrails.org/ Ruby on Rails] framework as a combined effort of students and faculty. The main advantage of using Expertiza, in an educational environment, is for the instructor to introduce peer reviewing among the students. The instructors can create and customize assignments, create a list of topics the students can sign up for, have students work on teams and then review each other's assignments at the end. Expertiza supports submission of almost any document type, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
Expertiza is supported by National Science Foundation under Grant No. 0536558. Additional funding from the [http://www.ncsu.edu/ NCSU] [http://litre.ncsu.edu/ Learning in a Technology-Rich Environment] (LITRE) program, the NCSU [http://ofd.ncsu.edu/teaching-learning/ Faculty Center for Teaching and Learning], the NCSU [http://stem.ncsu.edu/ STEM] Initiative, and the Center for Advanced Computing and Communication&lt;br /&gt;
&lt;br /&gt;
===The E1625 Project===&lt;br /&gt;
====Motivation====&lt;br /&gt;
Confidence ratings are meant to provide objective value to student assigned peer review scores. Students select from a list of tasks to be performed and then prepare their work and submit it to a peer-review system. The work is then reviewed by other students who offer comments/graded feedback to help the submitters improve their work.&lt;br /&gt;
&lt;br /&gt;
During the peer review period it is important to determine which reviews are more accurate and show higher quality. Reputation is one way to achieve this goal; it is a quantization measurement to judge which peer reviewers are more reliable.&lt;br /&gt;
&lt;br /&gt;
Peer reviewers can use expertiza to score an author. If Expertiza shows a confidence ratings for grades based upon the reviewers reputation then authors can more easily determine the legitimacy of the peer assigned score. In addition, the teaching staff can examine the quality of each peer review based on reputation values and, potentially, crowd-source a significant portion of the grading function.&lt;br /&gt;
&lt;br /&gt;
====Description of confidence rating and our system====&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail Hamer’s and Lauw’s algorithm]&lt;br /&gt;
&lt;br /&gt;
There are two algorithms intended for use in calculation of the reputation values for participants. &lt;br /&gt;
&lt;br /&gt;
There is a [https://expertiza.ncsu.edu/reputation_web_service/client web-service] (the link accessible only to the instructors) available which serves a JSON response containing the reputation value based on the seed provided in the form of the last known reputation value which we store in the ''participants'' table. An instructor can specify which algorithm to use for a particular assignment to calculate the confidence rating. &lt;br /&gt;
&lt;br /&gt;
As the [https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail paper] on reputation system by observes, “the Hamer-peer algorithm has the lowest maximum absolute bias and the Lauw-peer algorithm has the lowest overall bias.This indicates, from the instructor’s perspective, if there are further assignments of this kind, expert grading may not be necessary.”&lt;br /&gt;
:;Reputation range of Hamer’s algorithm is :&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: red;&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value &amp;lt; 0.5&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;gt; 0.5 to 1&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 1 to 1.5&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 1.5 to 2&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The main difference between the Hamer-peer and the Lauw-peer algorithm is that the Lauw-peer algorithm keeps track of the reviewer's leniency (“bias”), which can be either positive or negative. A positive leniency indicates the reviewer tends to give higher scores than average.  This project determines reputation by subtracting the absolute value of the leniency from 1. Additionally, the range for Hamer’s algorithm is (0,∞) while for Lauw’s algorithm it is [0,1]. &lt;br /&gt;
:;Reputation range of Lauw’s algorithm is&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value is &amp;lt; 0.2&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;lt; 0.2 to 0.4&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 0.4 to 0.6&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 0.6 to 0.8&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 0.8&lt;br /&gt;
&lt;br /&gt;
The instructor can choose to show results from Hamer’s algorithm or Lauw’s algorithm. The default algorithm should be Lauw’s algorithm.&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an MVC pattern, a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of informations from the information that needs to be presented to the user.&lt;br /&gt;
&lt;br /&gt;
Model - Maintains the data, logic and the relationships between objects and the database. It also handles validations, associations and transactions.&lt;br /&gt;
&lt;br /&gt;
View -  Displays data received from the controller in the User Interface. &lt;br /&gt;
&lt;br /&gt;
Controller - Accepts input from client and converts it into actionable items for the model or the view. Its responsibilities include querying models and organizing data into a structure that is displayed by the view &lt;br /&gt;
&lt;br /&gt;
====Documentation====&lt;br /&gt;
&lt;br /&gt;
All the documentation for the Expertiza system can be found in the following links: [https://github.com/expertiza/expertiza Expertiza on Github] ,   [http://wikis.lib.ncsu.edu/index.php/Expertiza Wiki documentation for Expertiza]&lt;br /&gt;
&lt;br /&gt;
===Implementation===&lt;br /&gt;
====Classes Involved====&lt;br /&gt;
&lt;br /&gt;
====Files Involved====&lt;br /&gt;
&lt;br /&gt;
====Models====&lt;br /&gt;
&lt;br /&gt;
participant &lt;br /&gt;
&lt;br /&gt;
====Views====&lt;br /&gt;
&lt;br /&gt;
grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
grades/view_my_scores.html.erb&lt;br /&gt;
&lt;br /&gt;
====Controllers====&lt;br /&gt;
&lt;br /&gt;
Reputation_web_service_controller.rb&lt;br /&gt;
&lt;br /&gt;
====Standards====&lt;br /&gt;
&lt;br /&gt;
All our code follows the [https://docs.google.com/document/d/1qQD7fcypFk77nq7Jx7ZNyCNpLyt1oXKaq5G-W7zkV3k/edit global rules] on Ruby style.&lt;br /&gt;
&lt;br /&gt;
====Tasks Performed====&lt;br /&gt;
&lt;br /&gt;
#Write a migration to add reputation field in participant table. (The default value of this field is 1, set any nil to 1)&lt;br /&gt;
#Change the send_post_request method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to obtain initial reputation values from DB instead of hard-coded.&lt;br /&gt;
#Write a new method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to extract reputation values from JSON response and insert into DB.&lt;br /&gt;
#On view_my_score (student-end) and view_scores (instructor-end) pages: use different font color on students’ names to distinguish different level of reputation values&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
&lt;br /&gt;
We will be using the existing test suite used by gem to test any new code modification. We will be writing new test cases for any new public method exposed by existing classes.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
'''1.    [https://github.com/expertiza/expertiza Expertiza on GitHub (Original version)]'''&lt;br /&gt;
&lt;br /&gt;
'''2.    [http://expertiza.ncsu.edu/ Expertiza]'''&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101751</id>
		<title>CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101751"/>
		<updated>2016-04-04T03:17:14Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page documents the project to implement confidence ratings for a student peer review grade based on the reputations of the reviewers&lt;br /&gt;
__TOC__&lt;br /&gt;
===Introduction to Expertiza===&lt;br /&gt;
&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is a  web application developed using the [http://rubyonrails.org/ Ruby on Rails] framework as a combined effort of students and faculty. The main advantage of using Expertiza, in an educational environment, is for the instructor to introduce peer reviewing among the students. The instructors can create and customize assignments, create a list of topics the students can sign up for, have students work on teams and then review each other's assignments at the end. Expertiza supports submission of almost any document type, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
Expertiza is supported by National Science Foundation under Grant No. 0536558. Additional funding from the [http://www.ncsu.edu/ NCSU] [http://litre.ncsu.edu/ Learning in a Technology-Rich Environment] (LITRE) program, the NCSU [http://ofd.ncsu.edu/teaching-learning/ Faculty Center for Teaching and Learning], the NCSU [http://stem.ncsu.edu/ STEM] Initiative, and the Center for Advanced Computing and Communication&lt;br /&gt;
&lt;br /&gt;
===The E1625 Project===&lt;br /&gt;
====Motivation====&lt;br /&gt;
Confidence ratings are meant to provide objective value to student assigned peer review scores. Students select from a list of tasks to be performed and then prepare their work and submit it to a peer-review system. The work is then reviewed by other students who offer comments/graded feedback to help the submitters improve their work.&lt;br /&gt;
&lt;br /&gt;
During the peer review period it is important to determine which reviews are more accurate and show higher quality. Reputation is one way to achieve this goal; it is a quantization measurement to judge which peer reviewers are more reliable.&lt;br /&gt;
&lt;br /&gt;
Peer reviewers can use expertiza to score an author. If Expertiza shows a confidence ratings for grades based upon the reviewers reputation then authors can more easily determine the legitimacy of the peer assigned score. In addition, the teaching staff can examine the quality of each peer review based on reputation values and, potentially, crowd-source a significant portion of the grading function.&lt;br /&gt;
&lt;br /&gt;
====Description of confidence rating and our system====&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail Hamer’s and Lauw’s algorithm]&lt;br /&gt;
&lt;br /&gt;
There are two algorithms intended for use in calculation of the reputation values for participants. &lt;br /&gt;
&lt;br /&gt;
There is a [https://expertiza.ncsu.edu/reputation_web_service/client web-service] (the link accessible only to the instructors) available which serves a JSON response containing the reputation value based on the seed provided in the form of the last known reputation value which we store in the ''participants'' table. An instructor can specify which algorithm to use for a particular assignment to calculate the confidence rating. &lt;br /&gt;
&lt;br /&gt;
As the [https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail paper] on reputation system by observes, “the Hamer-peer algorithm has the lowest maximum absolute bias and the Lauw-peer algorithm has the lowest overall bias.This indicates, from the instructor’s perspective, if there are further assignments of this kind, expert grading may not be necessary.”&lt;br /&gt;
:;Reputation range of Hamer’s algorithm is :&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: red;&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value &amp;lt; 0.5&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;gt; 0.5 to 1&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 1 to 1.5&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 1.5 to 2&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The main difference between the Hamer-peer and the Lauw-peer algorithm is that the Lauw-peer algorithm keeps track of the reviewer's leniency (“bias”), which can be either positive or negative. This project determines A positive leniency indicates the reviewer tends to give higher scores than average. Additionally the range for Hamer’s algorithm is (0,∞) while for Lauw’s algorithm it is [0,1]. &lt;br /&gt;
:;Reputation range of Lauw’s algorithm is&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value is &amp;lt; 0.2&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;lt; 0.2 to 0.4&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 0.4 to 0.6&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 0.6 to 0.8&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 0.8&lt;br /&gt;
&lt;br /&gt;
The instructor can choose to show results from Hamer’s algorithm or Lauw’s algorithm. The default algorithm should be Lauw’s algorithm.&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an MVC pattern, a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of informations from the information that needs to be presented to the user.&lt;br /&gt;
&lt;br /&gt;
Model - Maintains the data, logic and the relationships between objects and the database. It also handles validations, associations and transactions.&lt;br /&gt;
&lt;br /&gt;
View -  Displays data received from the controller in the User Interface. &lt;br /&gt;
&lt;br /&gt;
Controller - Accepts input from client and converts it into actionable items for the model or the view. Its responsibilities include querying models and organizing data into a structure that is displayed by the view &lt;br /&gt;
&lt;br /&gt;
====Documentation====&lt;br /&gt;
&lt;br /&gt;
All the documentation for the Expertiza system can be found in the following links: [https://github.com/expertiza/expertiza Expertiza on Github] ,   [http://wikis.lib.ncsu.edu/index.php/Expertiza Wiki documentation for Expertiza]&lt;br /&gt;
&lt;br /&gt;
===Implementation===&lt;br /&gt;
====Classes Involved====&lt;br /&gt;
&lt;br /&gt;
====Files Involved====&lt;br /&gt;
&lt;br /&gt;
====Models====&lt;br /&gt;
&lt;br /&gt;
participant &lt;br /&gt;
&lt;br /&gt;
====Views====&lt;br /&gt;
&lt;br /&gt;
grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
grades/view_my_scores.html.erb&lt;br /&gt;
&lt;br /&gt;
====Controllers====&lt;br /&gt;
&lt;br /&gt;
Reputation_web_service_controller.rb&lt;br /&gt;
&lt;br /&gt;
====Standards====&lt;br /&gt;
&lt;br /&gt;
All our code follows the [https://docs.google.com/document/d/1qQD7fcypFk77nq7Jx7ZNyCNpLyt1oXKaq5G-W7zkV3k/edit global rules] on Ruby style.&lt;br /&gt;
&lt;br /&gt;
====Tasks Performed====&lt;br /&gt;
&lt;br /&gt;
#Write a migration to add reputation field in participant table. (The default value of this field is 1, set any nil to 1)&lt;br /&gt;
#Change the send_post_request method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to obtain initial reputation values from DB instead of hard-coded.&lt;br /&gt;
#Write a new method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to extract reputation values from JSON response and insert into DB.&lt;br /&gt;
#On view_my_score (student-end) and view_scores (instructor-end) pages: use different font color on students’ names to distinguish different level of reputation values&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
&lt;br /&gt;
We will be using the existing test suite used by gem to test any new code modification. We will be writing new test cases for any new public method exposed by existing classes.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
'''1.    [https://github.com/expertiza/expertiza Expertiza on GitHub (Original version)]'''&lt;br /&gt;
&lt;br /&gt;
'''2.    [http://expertiza.ncsu.edu/ Expertiza]'''&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101750</id>
		<title>CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101750"/>
		<updated>2016-04-04T03:11:36Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page documents the project to implement confidence ratings for a student peer review grade based on the reputations of the reviewers&lt;br /&gt;
__TOC__&lt;br /&gt;
===Introduction to Expertiza===&lt;br /&gt;
&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is a  web application developed using the [http://rubyonrails.org/ Ruby on Rails] framework as a combined effort of students and faculty. The main advantage of using Expertiza, in an educational environment, is for the instructor to introduce peer reviewing among the students. The instructors can create and customize assignments, create a list of topics the students can sign up for, have students work on teams and then review each other's assignments at the end. Expertiza supports submission of almost any document type, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
Expertiza is supported by National Science Foundation under Grant No. 0536558. Additional funding from the [http://www.ncsu.edu/ NCSU] [http://litre.ncsu.edu/ Learning in a Technology-Rich Environment] (LITRE) program, the NCSU [http://ofd.ncsu.edu/teaching-learning/ Faculty Center for Teaching and Learning], the NCSU [http://stem.ncsu.edu/ STEM] Initiative, and the Center for Advanced Computing and Communication&lt;br /&gt;
&lt;br /&gt;
===The E1625 Project===&lt;br /&gt;
====Motivation====&lt;br /&gt;
Confidence ratings are meant to provide objective value to student assigned peer review scores. Students select from a list of tasks to be performed and then prepare their work and submit it to a peer-review system. The work is then reviewed by other students who offer comments/graded feedback to help the submitters improve their work.&lt;br /&gt;
&lt;br /&gt;
During the peer review period it is important to determine which reviews are more accurate and show higher quality. Reputation is one way to achieve this goal; it is a quantization measurement to judge which peer reviewers are more reliable.&lt;br /&gt;
&lt;br /&gt;
Peer reviewers can use expertiza to score an author. If Expertiza shows a confidence ratings for grades based upon the reviewers reputation then authors can more easily determine the legitimacy of the peer assigned score. In addition, the teaching staff can examine the quality of each peer review based on reputation values and, potentially, crowd-source a significant portion of the grading function.&lt;br /&gt;
&lt;br /&gt;
====Description of confidence rating and our system====&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail Hamer’s and Lauw’s algorithm]&lt;br /&gt;
&lt;br /&gt;
There are two algorithms intended for use in calculation of the reputation values for participants. &lt;br /&gt;
&lt;br /&gt;
There is a [https://expertiza.ncsu.edu/reputation_web_service/client web-service] (the link accessible only to the instructors) available which serves a JSON response containing the reputation value based on the seed provided in the form of the last known reputation value which we store in the ''participants'' table. An instructor can specify which algorithm to use for a particular assignment to calculate the confidence rating. &lt;br /&gt;
&lt;br /&gt;
As the [https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail paper] on reputation system by observes, “the Hamer-peer algorithm has the lowest maximum absolute bias and the Lauw-peer algorithm has the lowest overall bias.This indicates, from the instructor’s perspective, if there are further assignments of this kind, expert grading may not be necessary.”&lt;br /&gt;
:;Reputation range of Hamer’s algorithm is :&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: red;&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value &amp;lt; 0.5&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;gt; 0.5 to 1&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 1 to 1.5&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 1.5 to 2&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The main difference between the Hamer-peer and the Lauw-peer algorithm is that the Lauw-peer algorithm keeps track of the reviewer's leniency (“bias”), which can be either positive or negative. A positive leniency indicates the reviewer tends to give higher scores than average. Additionally the range for Hamer’s algorithm is (0,∞) while for Lauw’s algorithm it is [0,1]. &lt;br /&gt;
:;Reputation range of Lauw’s algorithm is&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value is &amp;lt; 0.2&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;lt; 0.2 to 0.4&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 0.4 to 0.6&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 0.6 to 0.8&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 0.8&lt;br /&gt;
&lt;br /&gt;
The instructor can choose to show results from Hamer’s algorithm or Lauw’s algorithm. The default algorithm should be Lauw’s algorithm.&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an MVC pattern, a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of informations from the information that needs to be presented to the user.&lt;br /&gt;
&lt;br /&gt;
Model - Maintains the data, logic and the relationships between objects and the database. It also handles validations, associations and transactions.&lt;br /&gt;
&lt;br /&gt;
View -  Displays data received from the controller in the User Interface. &lt;br /&gt;
&lt;br /&gt;
Controller - Accepts input from client and converts it into actionable items for the model or the view. Its responsibilities include querying models and organizing data into a structure that is displayed by the view &lt;br /&gt;
&lt;br /&gt;
====Documentation====&lt;br /&gt;
&lt;br /&gt;
All the documentation for the Expertiza system can be found in the following links: [https://github.com/expertiza/expertiza Expertiza on Github] ,   [http://wikis.lib.ncsu.edu/index.php/Expertiza Wiki documentation for Expertiza]&lt;br /&gt;
&lt;br /&gt;
===Implementation===&lt;br /&gt;
====Classes Involved====&lt;br /&gt;
&lt;br /&gt;
====Files Involved====&lt;br /&gt;
&lt;br /&gt;
====Models====&lt;br /&gt;
&lt;br /&gt;
participant &lt;br /&gt;
&lt;br /&gt;
====Views====&lt;br /&gt;
&lt;br /&gt;
grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
grades/view_my_scores.html.erb&lt;br /&gt;
&lt;br /&gt;
====Controllers====&lt;br /&gt;
&lt;br /&gt;
Reputation_web_service_controller.rb&lt;br /&gt;
&lt;br /&gt;
====Standards====&lt;br /&gt;
&lt;br /&gt;
All our code follows the [https://docs.google.com/document/d/1qQD7fcypFk77nq7Jx7ZNyCNpLyt1oXKaq5G-W7zkV3k/edit global rules] on Ruby style.&lt;br /&gt;
&lt;br /&gt;
====Tasks Performed====&lt;br /&gt;
&lt;br /&gt;
#Write a migration to add reputation field in participant table. (The default value of this field is 1, set any nil to 1)&lt;br /&gt;
#Change the send_post_request method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to obtain initial reputation values from DB instead of hard-coded.&lt;br /&gt;
#Write a new method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to extract reputation values from JSON response and insert into DB.&lt;br /&gt;
#On view_my_score (student-end) and view_scores (instructor-end) pages: use different font color on students’ names to distinguish different level of reputation values&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
&lt;br /&gt;
We will be using the existing test suite used by gem to test any new code modification. We will be writing new test cases for any new public method exposed by existing classes.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
'''1.    [https://github.com/expertiza/expertiza Expertiza on GitHub (Original version)]'''&lt;br /&gt;
&lt;br /&gt;
'''2.    [http://expertiza.ncsu.edu/ Expertiza]'''&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101749</id>
		<title>CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101749"/>
		<updated>2016-04-04T03:05:25Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page documents the project to implement confidence ratings for a student peer review grade based on the reputations of the reviewers&lt;br /&gt;
__TOC__&lt;br /&gt;
===Introduction to Expertiza===&lt;br /&gt;
&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is a  web application developed using the [http://rubyonrails.org/ Ruby on Rails] framework as a combined effort of students and faculty. The main advantage of using Expertiza, in an educational environment, is for the instructor to introduce peer reviewing among the students. The instructors can create and customize assignments, create a list of topics the students can sign up for, have students work on teams and then review each other's assignments at the end. Expertiza supports submission of almost any document type, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
Expertiza is supported by National Science Foundation under Grant No. 0536558. Additional funding from the [http://www.ncsu.edu/ NCSU] [http://litre.ncsu.edu/ Learning in a Technology-Rich Environment] (LITRE) program, the NCSU [http://ofd.ncsu.edu/teaching-learning/ Faculty Center for Teaching and Learning], the NCSU [http://stem.ncsu.edu/ STEM] Initiative, and the Center for Advanced Computing and Communication&lt;br /&gt;
&lt;br /&gt;
===The E1625 Project===&lt;br /&gt;
====Motivation====&lt;br /&gt;
Confidence ratings are meant to provide objective value to student assigned peer review scores. Students select from a list of tasks to be performed and then prepare their work and submit it to a peer-review system. The work is then reviewed by other students who offer comments/graded feedback to help the submitters improve their work.&lt;br /&gt;
&lt;br /&gt;
During the peer review period it is important to determine which reviews are more accurate and show higher quality. Reputation is one way to achieve this goal; it is a quantization measurement to judge which peer reviewers are more reliable.&lt;br /&gt;
&lt;br /&gt;
Peer reviewers can use expertiza to score an author. If Expertiza shows a confidence ratings for grades based upon the reviewers reputation then authors can more easily determine the legitimacy of the peer assigned score. In addition, the teaching staff can examine the quality of each peer review based on reputation values and, potentially, crowd-source a significant portion of the grading function.&lt;br /&gt;
&lt;br /&gt;
====Description of confidence rating and our system====&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail Hamer’s and Lauw’s algorithm]&lt;br /&gt;
&lt;br /&gt;
There are two algorithms intended for use in calculation of the reputation values for participants. &lt;br /&gt;
&lt;br /&gt;
There is a [https://expertiza.ncsu.edu/reputation_web_service/client web-service] (the link accessible only to the instructors) available which serves a JSON response containing the reputation value based on the seed provided in the form of the last known reputation value which we store in the ''participants'' table. An instructor can specify which algorithm to use for a particular assignment to calculate the confidence rating. &lt;br /&gt;
&lt;br /&gt;
As the [https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail paper] on reputation system by observes, “the Hamer-peer algorithm has the lowest maximum absolute bias and the Lauw-peer algorithm has the lowest overall bias.This indicates, from the instructor’s perspective, if there are further assignments of this kind, expert grading may not be necessary.”&lt;br /&gt;
&lt;br /&gt;
The main difference between the Hamer-peer and the Lauw-peer algorithm is that the Lauw-peer algorithm keeps track of the reviewer's leniency (“bias”), which can be either positive or negative. A positive leniency indicates the reviewer tends to give higher scores than average. Additionally the range for Hamer’s algorithm is (0,∞) while for Lauw’s algorithm it is [0,1]. &lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an MVC pattern, a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of informations from the information that needs to be presented to the user.&lt;br /&gt;
&lt;br /&gt;
Model - Maintains the data, logic and the relationships between objects and the database. It also handles validations, associations and transactions.&lt;br /&gt;
&lt;br /&gt;
View -  Displays data received from the controller in the User Interface. &lt;br /&gt;
&lt;br /&gt;
Controller - Accepts input from client and converts it into actionable items for the model or the view. Its responsibilities include querying models and organizing data into a structure that is displayed by the view &lt;br /&gt;
&lt;br /&gt;
====Documentation====&lt;br /&gt;
&lt;br /&gt;
All the documentation for the Expertiza system can be found in the following links: [https://github.com/expertiza/expertiza Expertiza on Github] ,   [http://wikis.lib.ncsu.edu/index.php/Expertiza Wiki documentation for Expertiza]&lt;br /&gt;
&lt;br /&gt;
===Implementation===&lt;br /&gt;
====Classes Involved====&lt;br /&gt;
&lt;br /&gt;
====Files Involved====&lt;br /&gt;
&lt;br /&gt;
====Models====&lt;br /&gt;
&lt;br /&gt;
participant &lt;br /&gt;
&lt;br /&gt;
====Views====&lt;br /&gt;
&lt;br /&gt;
grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
grades/view_my_scores.html.erb&lt;br /&gt;
&lt;br /&gt;
====Controllers====&lt;br /&gt;
&lt;br /&gt;
Reputation_web_service_controller.rb&lt;br /&gt;
&lt;br /&gt;
====Standards====&lt;br /&gt;
&lt;br /&gt;
All our code follows the [https://docs.google.com/document/d/1qQD7fcypFk77nq7Jx7ZNyCNpLyt1oXKaq5G-W7zkV3k/edit global rules] on Ruby style.&lt;br /&gt;
&lt;br /&gt;
====Tasks Performed====&lt;br /&gt;
&lt;br /&gt;
#Write a migration to add reputation field in participant table. (The default value of this field is 1, set any nil to 1)&lt;br /&gt;
#Change the send_post_request method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to obtain initial reputation values from DB instead of hard-coded.&lt;br /&gt;
#Write a new method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to extract reputation values from JSON response and insert into DB.&lt;br /&gt;
#On view_my_score (student-end) and view_scores (instructor-end) pages: use different font color on students’ names to distinguish different level of reputation values&lt;br /&gt;
&lt;br /&gt;
;Reputation range of Hamer’s algorithm is :&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: red;&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value &amp;lt; 0.5&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;gt; 0.5 to 1&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 1 to 1.5&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 1.5 to 2&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 2&lt;br /&gt;
;Reputation range of Lauw’s algorithm is&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value is &amp;lt; 0.2&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;lt; 0.2 to 0.4&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 0.4 to 0.6&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 0.6 to 0.8&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 0.8&lt;br /&gt;
*Instructor can choose to show results from Hamer’s algorithm or Lauw’s algorithm. The default algorithm should be Lauw’s algorithm.&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
&lt;br /&gt;
We will be using the existing test suite used by gem to test any new code modification. We will be writing new test cases for any new public method exposed by existing classes.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
'''1.    [https://github.com/expertiza/expertiza Expertiza on GitHub (Original version)]'''&lt;br /&gt;
&lt;br /&gt;
'''2.    [http://expertiza.ncsu.edu/ Expertiza]'''&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101748</id>
		<title>CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101748"/>
		<updated>2016-04-04T02:34:54Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page documents the project to implement confidence ratings for a student peer review grade based on the reputations of the reviewers&lt;br /&gt;
__TOC__&lt;br /&gt;
===Introduction to Expertiza===&lt;br /&gt;
&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is a  web application developed using the [http://rubyonrails.org/ Ruby on Rails] framework as a combined effort of students and faculty. The main advantage of using Expertiza, in an educational environment, is for the instructor to introduce peer reviewing among the students. The instructors can create and customize assignments, create a list of topics the students can sign up for, have students work on teams and then review each other's assignments at the end. Expertiza supports submission of almost any document type, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
Expertiza is supported by National Science Foundation under Grant No. 0536558. Additional funding from the [http://www.ncsu.edu/ NCSU] [http://litre.ncsu.edu/ Learning in a Technology-Rich Environment] (LITRE) program, the NCSU [http://ofd.ncsu.edu/teaching-learning/ Faculty Center for Teaching and Learning], the NCSU [http://stem.ncsu.edu/ STEM] Initiative, and the Center for Advanced Computing and Communication&lt;br /&gt;
&lt;br /&gt;
===The E1625 Project===&lt;br /&gt;
====Motivation====&lt;br /&gt;
Confidence ratings are meant to provide objective value to student assigned peer review scores. Students select from a list of tasks to be performed and then prepare their work and submit it to a peer-review system. The work is then reviewed by other students who offer comments/graded feedback to help the submitters improve their work.&lt;br /&gt;
&lt;br /&gt;
During the peer review period it is important to determine which reviews are more accurate and show higher quality. Reputation is one way to achieve this goal; it is a quantization measurement to judge which peer reviewers are more reliable.&lt;br /&gt;
&lt;br /&gt;
Peer reviewers can use expertiza to score an author. If Expertiza shows a confidence ratings for grades based upon the reviewers reputation then authors can more easily determine the legitimacy of the peer assigned score. In addition, the teaching staff can examine the quality of each peer review based on reputation values and, potentially, crowd-source a significant portion of the grading function.&lt;br /&gt;
&lt;br /&gt;
====Description of confidence rating and our system====&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail Hamer’s and Lauw’s algorithm]&lt;br /&gt;
&lt;br /&gt;
There are two algorithms intended for use in calculation of the reputation values for participants. &lt;br /&gt;
&lt;br /&gt;
There is a [https://expertiza.ncsu.edu/reputation_web_service/client web-service] (the link accessible only to the instructors) available which serves a JSON response containing the reputation value based on the seed provided in the form of the last known reputation value which we store in the ''participants'' table. An instructor can specify which algorithm to use for a particular assignment to calculate the confidence rating. &lt;br /&gt;
&lt;br /&gt;
As the [https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail paper] on reputation system by observes, “the Hamer-peer algorithm has the lowest maximum absolute bias and the Lauw-peer algorithm has the lowest overall bias.This indicates, from the instructor’s perspective, if there are further assignments of this kind, expert grading may not be necessary.”&lt;br /&gt;
&lt;br /&gt;
The main difference between the Hamer-peer and the Lauw-peer algorithm is that the Lauw-peer algorithm keeps track of the reviewer's leniency (“bias”), which can be either positive or negative. A positive leniency indicates the reviewer tends to give higher scores than average. Additionally the range for Hamer’s algorithm is (0,∞) while for Lauw’s algorithm it is [0,1]. &lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an MVC pattern, a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of informations from the information that needs to be presented to the user.&lt;br /&gt;
&lt;br /&gt;
Model - Maintains the data, logic and the relationships between objects and the database. It also handles validations, associations and transactions.&lt;br /&gt;
&lt;br /&gt;
View -  Displays data received from the controller in the User Interface. &lt;br /&gt;
&lt;br /&gt;
Controller - Accepts input from client and converts it into actionable items for the model or the view. Its responsibilities include querying models and organizing data into a structure that is displayed by the view &lt;br /&gt;
&lt;br /&gt;
====Documentation====&lt;br /&gt;
&lt;br /&gt;
All the documentation for the Expertiza system can be found in the following links: [https://github.com/expertiza/expertiza Expertiza on Github] ,   [http://wikis.lib.ncsu.edu/index.php/Expertiza Wiki documentation for Expertiza]&lt;br /&gt;
&lt;br /&gt;
===Implementation===&lt;br /&gt;
====Classes Involved====&lt;br /&gt;
&lt;br /&gt;
====Files Involved====&lt;br /&gt;
&lt;br /&gt;
====Models====&lt;br /&gt;
&lt;br /&gt;
participant &lt;br /&gt;
&lt;br /&gt;
====Views====&lt;br /&gt;
&lt;br /&gt;
grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
grades/view_my_scores.html.erb&lt;br /&gt;
&lt;br /&gt;
====Controllers====&lt;br /&gt;
&lt;br /&gt;
Reputation_web_service_controller.rb&lt;br /&gt;
&lt;br /&gt;
====Standards====&lt;br /&gt;
&lt;br /&gt;
All our code follows the [https://docs.google.com/document/d/1qQD7fcypFk77nq7Jx7ZNyCNpLyt1oXKaq5G-W7zkV3k/edit global rules] on Ruby style.&lt;br /&gt;
&lt;br /&gt;
====Tasks Performed====&lt;br /&gt;
&lt;br /&gt;
●    Write a migration to add reputation field in participant table. (The default value of this field is 1, set any nil to 1)&lt;br /&gt;
&lt;br /&gt;
●    Change the send_post_request method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to obtain initial reputation values from DB instead of hard-coded.&lt;br /&gt;
&lt;br /&gt;
●    Write a new method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to extract reputation values from JSON response and insert into DB.&lt;br /&gt;
&lt;br /&gt;
●    On view_my_score (student-end) and view_scores (instructor-end) pages: use different font color on students’ names to distinguish different level of reputation values &lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Hamer’s algorithm is :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value &amp;lt; 0.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;gt; 0.5 to 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 1 to 1.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 1.5 to 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 2&lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Lauw’s algorithm is &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value is &amp;lt; 0.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;lt; 0.2 to 0.4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 0.4 to 0.6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 0.6 to 0.8&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 0.8.&lt;br /&gt;
&lt;br /&gt;
●    Instructor can choose to show results from Hamer’s algorithm or Lauw’s algorithm. The default algorithm should be Lauw’s algorithm.&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
&lt;br /&gt;
We will be using the existing test suite used by gem to test any new code modification. We will be writing new test cases for any new public method exposed by existing classes.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
'''1.    [https://github.com/expertiza/expertiza Expertiza on GitHub (Original version)]'''&lt;br /&gt;
&lt;br /&gt;
'''2.    [http://expertiza.ncsu.edu/ Expertiza]'''&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101747</id>
		<title>CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101747"/>
		<updated>2016-04-04T02:33:37Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page documents the project to implement confidence ratings for a student peer review grade based on the reputations of the reviewers&lt;br /&gt;
__TOC__&lt;br /&gt;
===Introduction to Expertiza===&lt;br /&gt;
&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is a  web application developed using the [http://rubyonrails.org/ Ruby on Rails] framework as a combined effort of students and faculty. The main advantage of using Expertiza, in an educational environment, is for the instructor to introduce peer reviewing among the students. The instructors can create and customize assignments, create a list of topics the students can sign up for, have students work on teams and then review each other's assignments at the end. Expertiza supports submission of almost any document type, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
Expertiza is supported by National Science Foundation under Grant No. 0536558. Additional funding from the [http://www.ncsu.edu/ NCSU] [http://litre.ncsu.edu/ Learning in a Technology-Rich Environment] (LITRE) program, the NCSU [http://ofd.ncsu.edu/teaching-learning/ Faculty Center for Teaching and Learning], the NCSU [http://stem.ncsu.edu/ STEM] Initiative, and the Center for Advanced Computing and Communication&lt;br /&gt;
&lt;br /&gt;
===The E1625 Project===&lt;br /&gt;
====Motivation====&lt;br /&gt;
Confidence ratings are meant to provide objective value to student assigned peer review scores.&lt;br /&gt;
&lt;br /&gt;
Students select from a list of tasks to be performed, then they prepare their work and submit it to a peer-review system. The work is then reviewed by other students, who offer comments/feedback to help the submitters improve their work.&lt;br /&gt;
&lt;br /&gt;
During the peer review period it is important to determine which reviews are more accurate and show higher quality. Reputation is one way to achieve this goal; it is a quantization measurement to judge which peer reviewers are more reliable.&lt;br /&gt;
&lt;br /&gt;
Peer reviewers can use expertiza to score an author. If Expertiza shows a confidence ratings for grades based upon the reviewers reputation then authors can more easily determine the legitimacy of the peer assigned score. In addition, the teaching staff can examine the quality of each peer review based on reputation values and, potentially, crowd-source a significant portion of the grading function.&lt;br /&gt;
&lt;br /&gt;
====Description of confidence rating and our system====&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail Hamer’s and Lauw’s algorithm]&lt;br /&gt;
&lt;br /&gt;
There are two algorithms intended for use in calculation of the reputation values for participants. &lt;br /&gt;
&lt;br /&gt;
There is a [https://expertiza.ncsu.edu/reputation_web_service/client web-service] (the link accessible only to the instructors) available which serves a JSON response containing the reputation value based on the seed provided in the form of the last known reputation value which we store in the ''participants'' table. An instructor can specify which algorithm to use for a particular assignment to calculate the confidence rating. &lt;br /&gt;
&lt;br /&gt;
As the [https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail paper] on reputation system by observes, “the Hamer-peer algorithm has the lowest maximum absolute bias and the Lauw-peer algorithm has the lowest overall bias.This indicates, from the instructor’s perspective, if there are further assignments of this kind, expert grading may not be necessary.”&lt;br /&gt;
&lt;br /&gt;
The main difference between the Hamer-peer and the Lauw-peer algorithm is that the Lauw-peer algorithm keeps track of the reviewer's leniency (“bias”), which can be either positive or negative. A positive leniency indicates the reviewer tends to give higher scores than average. Additionally the range for Hamer’s algorithm is (0,∞) while for Lauw’s algorithm it is [0,1]. &lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an MVC pattern, a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of informations from the information that needs to be presented to the user.&lt;br /&gt;
&lt;br /&gt;
Model - Maintains the data, logic and the relationships between objects and the database. It also handles validations, associations and transactions.&lt;br /&gt;
&lt;br /&gt;
View -  Displays data received from the controller in the User Interface. &lt;br /&gt;
&lt;br /&gt;
Controller - Accepts input from client and converts it into actionable items for the model or the view. Its responsibilities include querying models and organizing data into a structure that is displayed by the view &lt;br /&gt;
&lt;br /&gt;
====Documentation====&lt;br /&gt;
&lt;br /&gt;
All the documentation for the Expertiza system can be found in the following links: [https://github.com/expertiza/expertiza Expertiza on Github] ,   [http://wikis.lib.ncsu.edu/index.php/Expertiza Wiki documentation for Expertiza]&lt;br /&gt;
&lt;br /&gt;
===Implementation===&lt;br /&gt;
====Classes Involved====&lt;br /&gt;
&lt;br /&gt;
====Files Involved====&lt;br /&gt;
&lt;br /&gt;
====Models====&lt;br /&gt;
&lt;br /&gt;
participant &lt;br /&gt;
&lt;br /&gt;
====Views====&lt;br /&gt;
&lt;br /&gt;
grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
grades/view_my_scores.html.erb&lt;br /&gt;
&lt;br /&gt;
====Controllers====&lt;br /&gt;
&lt;br /&gt;
Reputation_web_service_controller.rb&lt;br /&gt;
&lt;br /&gt;
====Standards====&lt;br /&gt;
&lt;br /&gt;
All our code follows the [https://docs.google.com/document/d/1qQD7fcypFk77nq7Jx7ZNyCNpLyt1oXKaq5G-W7zkV3k/edit global rules] on Ruby style.&lt;br /&gt;
&lt;br /&gt;
====Tasks Performed====&lt;br /&gt;
&lt;br /&gt;
●    Write a migration to add reputation field in participant table. (The default value of this field is 1, set any nil to 1)&lt;br /&gt;
&lt;br /&gt;
●    Change the send_post_request method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to obtain initial reputation values from DB instead of hard-coded.&lt;br /&gt;
&lt;br /&gt;
●    Write a new method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to extract reputation values from JSON response and insert into DB.&lt;br /&gt;
&lt;br /&gt;
●    On view_my_score (student-end) and view_scores (instructor-end) pages: use different font color on students’ names to distinguish different level of reputation values &lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Hamer’s algorithm is :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value &amp;lt; 0.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;gt; 0.5 to 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 1 to 1.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 1.5 to 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 2&lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Lauw’s algorithm is &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value is &amp;lt; 0.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;lt; 0.2 to 0.4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 0.4 to 0.6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 0.6 to 0.8&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 0.8.&lt;br /&gt;
&lt;br /&gt;
●    Instructor can choose to show results from Hamer’s algorithm or Lauw’s algorithm. The default algorithm should be Lauw’s algorithm.&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
&lt;br /&gt;
We will be using the existing test suite used by gem to test any new code modification. We will be writing new test cases for any new public method exposed by existing classes.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
'''1.    [https://github.com/expertiza/expertiza Expertiza on GitHub (Original version)]'''&lt;br /&gt;
&lt;br /&gt;
'''2.    [http://expertiza.ncsu.edu/ Expertiza]'''&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101746</id>
		<title>CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101746"/>
		<updated>2016-04-04T02:32:31Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page documents the project to implement confidence ratings for a student peer review grade based on the reputations of the reviewers&lt;br /&gt;
__TOC__&lt;br /&gt;
===Introduction to Expertiza===&lt;br /&gt;
&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is a  web application developed using the [http://rubyonrails.org/ Ruby on Rails] framework as a combined effort of students and faculty. The main advantage of using Expertiza, in an educational environment, is for the instructor to introduce peer reviewing among the students. The instructors can create and customize assignments, create a list of topics the students can sign up for, have students work on teams and then review each other's assignments at the end. Expertiza supports submission of almost any document type, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
Expertiza is supported by National Science Foundation under Grant No. 0536558. Additional funding from the [http://www.ncsu.edu/ NCSU] [http://litre.ncsu.edu/ Learning in a Technology-Rich Environment] (LITRE) program, the NCSU [http://ofd.ncsu.edu/teaching-learning/ Faculty Center for Teaching and Learning], the NCSU [http://stem.ncsu.edu/ STEM] Initiative, and the Center for Advanced Computing and Communication&lt;br /&gt;
&lt;br /&gt;
===The E1625 Project===&lt;br /&gt;
====Motivation====&lt;br /&gt;
&lt;br /&gt;
Students select from a list of tasks to be performed, then they prepare their work and submit it to a peer-review system. The work is then reviewed by other students, who offer comments/feedback to help the submitters improve their work.&lt;br /&gt;
&lt;br /&gt;
During the peer review period it is important to determine which reviews are more accurate and show higher quality. Reputation is one way to achieve this goal; it is a quantization measurement to judge which peer reviewers are more reliable.&lt;br /&gt;
&lt;br /&gt;
Peer reviewers can use expertiza to score an author. If Expertiza shows a confidence ratings for grades based upon the reviewers reputation then authors can more easily determine the legitimacy of the peer assigned score. In addition, the teaching staff can examine the quality of each peer review based on reputation values and, potentially, crowd-source a significant portion of the grading function.&lt;br /&gt;
&lt;br /&gt;
====Description of confidence rating and our system====&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail Hamer’s and Lauw’s algorithm]&lt;br /&gt;
&lt;br /&gt;
There are two algorithms intended for use in calculation of the reputation values for participants. &lt;br /&gt;
&lt;br /&gt;
There is a [https://expertiza.ncsu.edu/reputation_web_service/client web-service] (the link accessible only to the instructors) available which serves a JSON response containing the reputation value based on the seed provided in the form of the last known reputation value which we store in the ''participants'' table. An instructor can specify which algorithm to use for a particular assignment to calculate the confidence rating. &lt;br /&gt;
&lt;br /&gt;
As the [https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail paper] on reputation system by observes, “the Hamer-peer algorithm has the lowest maximum absolute bias and the Lauw-peer algorithm has the lowest overall bias.This indicates, from the instructor’s perspective, if there are further assignments of this kind, expert grading may not be necessary.”&lt;br /&gt;
&lt;br /&gt;
The main difference between the Hamer-peer and the Lauw-peer algorithm is that the Lauw-peer algorithm keeps track of the reviewer's leniency (“bias”), which can be either positive or negative. A positive leniency indicates the reviewer tends to give higher scores than average. Additionally the range for Hamer’s algorithm is (0,∞) while for Lauw’s algorithm it is [0,1]. &lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an MVC pattern, a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of informations from the information that needs to be presented to the user.&lt;br /&gt;
&lt;br /&gt;
Model - Maintains the data, logic and the relationships between objects and the database. It also handles validations, associations and transactions.&lt;br /&gt;
&lt;br /&gt;
View -  Displays data received from the controller in the User Interface. &lt;br /&gt;
&lt;br /&gt;
Controller - Accepts input from client and converts it into actionable items for the model or the view. Its responsibilities include querying models and organizing data into a structure that is displayed by the view &lt;br /&gt;
&lt;br /&gt;
====Documentation====&lt;br /&gt;
&lt;br /&gt;
All the documentation for the Expertiza system can be found in the following links: [https://github.com/expertiza/expertiza Expertiza on Github] ,   [http://wikis.lib.ncsu.edu/index.php/Expertiza Wiki documentation for Expertiza]&lt;br /&gt;
&lt;br /&gt;
===Implementation===&lt;br /&gt;
====Classes Involved====&lt;br /&gt;
&lt;br /&gt;
====Files Involved====&lt;br /&gt;
&lt;br /&gt;
====Models====&lt;br /&gt;
&lt;br /&gt;
participant &lt;br /&gt;
&lt;br /&gt;
====Views====&lt;br /&gt;
&lt;br /&gt;
grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
grades/view_my_scores.html.erb&lt;br /&gt;
&lt;br /&gt;
====Controllers====&lt;br /&gt;
&lt;br /&gt;
Reputation_web_service_controller.rb&lt;br /&gt;
&lt;br /&gt;
====Standards====&lt;br /&gt;
&lt;br /&gt;
All our code follows the [https://docs.google.com/document/d/1qQD7fcypFk77nq7Jx7ZNyCNpLyt1oXKaq5G-W7zkV3k/edit global rules] on Ruby style.&lt;br /&gt;
&lt;br /&gt;
====Tasks Performed====&lt;br /&gt;
&lt;br /&gt;
●    Write a migration to add reputation field in participant table. (The default value of this field is 1, set any nil to 1)&lt;br /&gt;
&lt;br /&gt;
●    Change the send_post_request method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to obtain initial reputation values from DB instead of hard-coded.&lt;br /&gt;
&lt;br /&gt;
●    Write a new method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to extract reputation values from JSON response and insert into DB.&lt;br /&gt;
&lt;br /&gt;
●    On view_my_score (student-end) and view_scores (instructor-end) pages: use different font color on students’ names to distinguish different level of reputation values &lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Hamer’s algorithm is :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value &amp;lt; 0.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;gt; 0.5 to 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 1 to 1.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 1.5 to 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 2&lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Lauw’s algorithm is &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value is &amp;lt; 0.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;lt; 0.2 to 0.4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 0.4 to 0.6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 0.6 to 0.8&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 0.8.&lt;br /&gt;
&lt;br /&gt;
●    Instructor can choose to show results from Hamer’s algorithm or Lauw’s algorithm. The default algorithm should be Lauw’s algorithm.&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
&lt;br /&gt;
We will be using the existing test suite used by gem to test any new code modification. We will be writing new test cases for any new public method exposed by existing classes.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
'''1.    [https://github.com/expertiza/expertiza Expertiza on GitHub (Original version)]'''&lt;br /&gt;
&lt;br /&gt;
'''2.    [http://expertiza.ncsu.edu/ Expertiza]'''&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101745</id>
		<title>CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101745"/>
		<updated>2016-04-04T02:29:40Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Show confidence ratings for grade, based on reputations of reviewers==&lt;br /&gt;
&lt;br /&gt;
===Introduction to Expertiza===&lt;br /&gt;
&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is a  web application developed using the [http://rubyonrails.org/ Ruby on Rails] framework as a combined effort of students and faculty. The main advantage of using Expertiza, in an educational environment, is for the instructor to introduce peer reviewing among the students. The instructors can create and customize assignments, create a list of topics the students can sign up for, have students work on teams and then review each other's assignments at the end. Expertiza supports submission of almost any document type, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
Expertiza is supported by National Science Foundation under Grant No. 0536558. Additional funding from the [http://www.ncsu.edu/ NCSU] [http://litre.ncsu.edu/ Learning in a Technology-Rich Environment] (LITRE) program, the NCSU [http://ofd.ncsu.edu/teaching-learning/ Faculty Center for Teaching and Learning], the NCSU [http://stem.ncsu.edu/ STEM] Initiative, and the Center for Advanced Computing and Communication&lt;br /&gt;
&lt;br /&gt;
===The E1625 Project===&lt;br /&gt;
====Motivation====&lt;br /&gt;
&lt;br /&gt;
Students select from a list of tasks to be performed, then they prepare their work and submit it to a peer-review system. The work is then reviewed by other students, who offer comments/feedback to help the submitters improve their work.&lt;br /&gt;
&lt;br /&gt;
During the peer review period it is important to determine which reviews are more accurate and show higher quality. Reputation is one way to achieve this goal; it is a quantization measurement to judge which peer reviewers are more reliable.&lt;br /&gt;
&lt;br /&gt;
Peer reviewers can use expertiza to score an author. If Expertiza shows a confidence ratings for grades based upon the reviewers reputation then authors can more easily determine the legitimacy of the peer assigned score. In addition, the teaching staff can examine the quality of each peer review based on reputation values and, potentially, crowd-source a significant portion of the grading function.&lt;br /&gt;
&lt;br /&gt;
====Description of confidence rating and our system====&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail Hamer’s and Lauw’s algorithm]&lt;br /&gt;
&lt;br /&gt;
There are two algorithms intended for use in calculation of the reputation values for participants. &lt;br /&gt;
&lt;br /&gt;
There is a [https://expertiza.ncsu.edu/reputation_web_service/client web-service] (the link accessible only to the instructors) available which serves a JSON response containing the reputation value based on the seed provided in the form of the last known reputation value which we store in the ''participants'' table. An instructor can specify which algorithm to use for a particular assignment to calculate the confidence rating. &lt;br /&gt;
&lt;br /&gt;
As the [https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail paper] on reputation system by observes, “the Hamer-peer algorithm has the lowest maximum absolute bias and the Lauw-peer algorithm has the lowest overall bias.This indicates, from the instructor’s perspective, if there are further assignments of this kind, expert grading may not be necessary.”&lt;br /&gt;
&lt;br /&gt;
The main difference between the Hamer-peer and the Lauw-peer algorithm is that the Lauw-peer algorithm keeps track of the reviewer's leniency (“bias”), which can be either positive or negative. A positive leniency indicates the reviewer tends to give higher scores than average. Additionally the range for Hamer’s algorithm is (0,∞) while for Lauw’s algorithm it is [0,1]. &lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an MVC pattern, a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of informations from the information that needs to be presented to the user.&lt;br /&gt;
&lt;br /&gt;
Model - Maintains the data, logic and the relationships between objects and the database. It also handles validations, associations and transactions.&lt;br /&gt;
&lt;br /&gt;
View -  Displays data received from the controller in the User Interface. &lt;br /&gt;
&lt;br /&gt;
Controller - Accepts input from client and converts it into actionable items for the model or the view. Its responsibilities include querying models and organizing data into a structure that is displayed by the view &lt;br /&gt;
&lt;br /&gt;
====Documentation====&lt;br /&gt;
&lt;br /&gt;
All the documentation for the Expertiza system can be found in the following links: [https://github.com/expertiza/expertiza Expertiza on Github] ,   [http://wikis.lib.ncsu.edu/index.php/Expertiza Wiki documentation for Expertiza]&lt;br /&gt;
&lt;br /&gt;
===Implementation===&lt;br /&gt;
====Classes Involved====&lt;br /&gt;
&lt;br /&gt;
====Files Involved====&lt;br /&gt;
&lt;br /&gt;
====Models====&lt;br /&gt;
&lt;br /&gt;
participant &lt;br /&gt;
&lt;br /&gt;
====Views====&lt;br /&gt;
&lt;br /&gt;
grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
grades/view_my_scores.html.erb&lt;br /&gt;
&lt;br /&gt;
====Controllers====&lt;br /&gt;
&lt;br /&gt;
Reputation_web_service_controller.rb&lt;br /&gt;
&lt;br /&gt;
====Standards====&lt;br /&gt;
&lt;br /&gt;
All our code follows the [https://docs.google.com/document/d/1qQD7fcypFk77nq7Jx7ZNyCNpLyt1oXKaq5G-W7zkV3k/edit global rules] on Ruby style.&lt;br /&gt;
&lt;br /&gt;
====Tasks Performed====&lt;br /&gt;
&lt;br /&gt;
●    Write a migration to add reputation field in participant table. (The default value of this field is 1, set any nil to 1)&lt;br /&gt;
&lt;br /&gt;
●    Change the send_post_request method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to obtain initial reputation values from DB instead of hard-coded.&lt;br /&gt;
&lt;br /&gt;
●    Write a new method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to extract reputation values from JSON response and insert into DB.&lt;br /&gt;
&lt;br /&gt;
●    On view_my_score (student-end) and view_scores (instructor-end) pages: use different font color on students’ names to distinguish different level of reputation values &lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Hamer’s algorithm is :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value &amp;lt; 0.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;gt; 0.5 to 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 1 to 1.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 1.5 to 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 2&lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Lauw’s algorithm is &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value is &amp;lt; 0.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;lt; 0.2 to 0.4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 0.4 to 0.6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 0.6 to 0.8&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 0.8.&lt;br /&gt;
&lt;br /&gt;
●    Instructor can choose to show results from Hamer’s algorithm or Lauw’s algorithm. The default algorithm should be Lauw’s algorithm.&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
&lt;br /&gt;
We will be using the existing test suite used by gem to test any new code modification. We will be writing new test cases for any new public method exposed by existing classes.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
'''1.    [https://github.com/expertiza/expertiza Expertiza on GitHub (Original version)]'''&lt;br /&gt;
&lt;br /&gt;
'''2.    [http://expertiza.ncsu.edu/ Expertiza]'''&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101744</id>
		<title>CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101744"/>
		<updated>2016-04-04T02:27:21Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Show confidence ratings for grade, based on reputations of reviewers==&lt;br /&gt;
&lt;br /&gt;
===Introduction to Expertiza===&lt;br /&gt;
&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is a  web application developed using the [http://rubyonrails.org/ Ruby on Rails] framework as a combined effort of students and faculty. The main advantage of using Expertiza, in an educational environment, is for the instructor to introduce peer reviewing among the students. The instructors can create and customize assignments, create a list of topics the students can sign up for, have students work on teams and then review each other's assignments at the end. Expertiza supports submission of almost any document type, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
Expertiza is supported by National Science Foundation under Grant No. 0536558. Additional funding from the [http://www.ncsu.edu/ NCSU] [http://litre.ncsu.edu/ Learning in a Technology-Rich Environment] (LITRE) program, the NCSU [http://ofd.ncsu.edu/teaching-learning/ Faculty Center for Teaching and Learning], the NCSU [http://stem.ncsu.edu/ STEM] Initiative, and the Center for Advanced Computing and Communication&lt;br /&gt;
&lt;br /&gt;
===Motivation=== &lt;br /&gt;
&lt;br /&gt;
Students select from a list of tasks to be performed, then they prepare their work and submit it to a peer-review system. The work is then reviewed by other students, who offer comments/feedback to help the submitters improve their work.&lt;br /&gt;
&lt;br /&gt;
During the peer review period it is important to determine which reviews are more accurate and show higher quality. Reputation is one way to achieve this goal; it is a quantization measurement to judge which peer reviewers are more reliable.&lt;br /&gt;
&lt;br /&gt;
Peer reviewers can use expertiza to score an author. If Expertiza shows a confidence ratings for grades based upon the reviewers reputation then authors can more easily determine the legitimacy of the peer assigned score. In addition, the teaching staff can examine the quality of each peer review based on reputation values and, potentially, crowd-source a significant portion of the grading function.&lt;br /&gt;
&lt;br /&gt;
===Description of confidence rating and our system===&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail Hamer’s and Lauw’s algorithm]&lt;br /&gt;
&lt;br /&gt;
There are two algorithms intended for use in calculation of the reputation values for participants. &lt;br /&gt;
&lt;br /&gt;
There is a [https://expertiza.ncsu.edu/reputation_web_service/client web-service] (the link accessible only to the instructors) available which serves a JSON response containing the reputation value based on the seed provided in the form of the last known reputation value which we store in the ''participants'' table. An instructor can specify which algorithm to use for a particular assignment to calculate the confidence rating. &lt;br /&gt;
&lt;br /&gt;
As the [https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail paper] on reputation system by observes, “the Hamer-peer algorithm has the lowest maximum absolute bias and the Lauw-peer algorithm has the lowest overall bias.This indicates, from the instructor’s perspective, if there are further assignments of this kind, expert grading may not be necessary.”&lt;br /&gt;
&lt;br /&gt;
The main difference between the Hamer-peer and the Lauw-peer algorithm is that the Lauw-peer algorithm keeps track of the reviewer's leniency (“bias”), which can be either positive or negative. A positive leniency indicates the reviewer tends to give higher scores than average. Additionally the range for Hamer’s algorithm is (0,∞) while for Lauw’s algorithm it is [0,1]. &lt;br /&gt;
&lt;br /&gt;
===Design Pattern - Model-view-controller(MVC)===&lt;br /&gt;
&lt;br /&gt;
In an MVC pattern, a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of informations from the information that needs to be presented to the user.&lt;br /&gt;
&lt;br /&gt;
Model - Maintains the data, logic and the relationships between objects and the database. It also handles validations, associations and transactions.&lt;br /&gt;
&lt;br /&gt;
View -  Displays data received from the controller in the User Interface. &lt;br /&gt;
&lt;br /&gt;
Controller - Accepts input from client and converts it into actionable items for the model or the view. Its responsibilities include querying models and organizing data into a structure that is displayed by the view &lt;br /&gt;
&lt;br /&gt;
===Documentation===&lt;br /&gt;
&lt;br /&gt;
All the documentation for the Expertiza system can be found in the following links: [https://github.com/expertiza/expertiza Expertiza on Github] ,   [http://wikis.lib.ncsu.edu/index.php/Expertiza Wiki documentation for Expertiza]&lt;br /&gt;
&lt;br /&gt;
===Classes Involved===&lt;br /&gt;
&lt;br /&gt;
===Files Involved===&lt;br /&gt;
&lt;br /&gt;
===Models===&lt;br /&gt;
&lt;br /&gt;
participant &lt;br /&gt;
&lt;br /&gt;
===Views===&lt;br /&gt;
&lt;br /&gt;
grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
grades/view_my_scores.html.erb&lt;br /&gt;
&lt;br /&gt;
===Controllers===&lt;br /&gt;
&lt;br /&gt;
Reputation_web_service_controller.rb&lt;br /&gt;
&lt;br /&gt;
===Standards===&lt;br /&gt;
&lt;br /&gt;
All our code follows the [https://docs.google.com/document/d/1qQD7fcypFk77nq7Jx7ZNyCNpLyt1oXKaq5G-W7zkV3k/edit global rules] on Ruby style.&lt;br /&gt;
&lt;br /&gt;
===Tasks Performed===&lt;br /&gt;
&lt;br /&gt;
●    Write a migration to add reputation field in participant table. (The default value of this field is 1, set any nil to 1)&lt;br /&gt;
&lt;br /&gt;
●    Change the send_post_request method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to obtain initial reputation values from DB instead of hard-coded.&lt;br /&gt;
&lt;br /&gt;
●    Write a new method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to extract reputation values from JSON response and insert into DB.&lt;br /&gt;
&lt;br /&gt;
●    On view_my_score (student-end) and view_scores (instructor-end) pages: use different font color on students’ names to distinguish different level of reputation values &lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Hamer’s algorithm is :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value &amp;lt; 0.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;gt; 0.5 to 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 1 to 1.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 1.5 to 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 2&lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Lauw’s algorithm is &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value is &amp;lt; 0.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;lt; 0.2 to 0.4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 0.4 to 0.6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 0.6 to 0.8&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 0.8.&lt;br /&gt;
&lt;br /&gt;
●    Instructor can choose to show results from Hamer’s algorithm or Lauw’s algorithm. The default algorithm should be Lauw’s algorithm.&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
&lt;br /&gt;
We will be using the existing test suite used by gem to test any new code modification. We will be writing new test cases for any new public method exposed by existing classes.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
&lt;br /&gt;
'''1.    [https://github.com/expertiza/expertiza Expertiza on GitHub (Original version)]'''&lt;br /&gt;
&lt;br /&gt;
'''2.    [http://expertiza.ncsu.edu/ Expertiza]'''&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016&amp;diff=101743</id>
		<title>CSC/ECE 517 Spring 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016&amp;diff=101743"/>
		<updated>2016-04-04T02:25:06Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: Added E1625 team&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Writing Assignment 1==&lt;br /&gt;
*[[CSC/ECE 517 Spring 2016/Active Job]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Calibration Assignment Submissions==&lt;br /&gt;
*[[Calibration Assignment Submission (OmniAuth)]]&lt;br /&gt;
*[[Calibration Assignment Submission (Patch_verb)]]&lt;br /&gt;
&lt;br /&gt;
==Writing Assignment 2==&lt;br /&gt;
*[[CSC/ECE 517 Spring 2016/Mozilla Implement HTML5 form validation]]&lt;br /&gt;
&lt;br /&gt;
*[[CSC/ECE 517 Spring 2016/Functional Tests for Questionnaire Controller]]&lt;br /&gt;
&lt;br /&gt;
*[[CSC/ECE 517 Spring 2016 / Expertiza Self-Review Feature]]&lt;br /&gt;
&lt;br /&gt;
*[[CSC/ECE 517 Spring 2016/Refactor different question types from quiz feature]]&lt;br /&gt;
&lt;br /&gt;
*[[CSC/ECE 517 Spring 2016/Implement private browsing]]&lt;br /&gt;
&lt;br /&gt;
*[[CSC/ECE 517 Spring 2016/Write automated tests for WebDriver]]&lt;br /&gt;
&lt;br /&gt;
*[[CSC/ECE 517 Spring 2016/Refactor sign_up_sheet_controller.rb and sign_up_topic.rb]]&lt;br /&gt;
&lt;br /&gt;
*[[CSC/ECE 517 Spring 2016/Implement Common Parts of the CSSOM API]]&lt;br /&gt;
&lt;br /&gt;
*[[CSC/ECE 517 Spring 2016/Functional tests for assignment creation function]]&lt;br /&gt;
&lt;br /&gt;
*[[CSC/ECE 517 Spring 2016/E1604. Functional tests for Calibration function]]&lt;br /&gt;
&lt;br /&gt;
*[[CSC/ECE 517 Spring 2016/Refactor and write unit tests for question type.rb]]&lt;br /&gt;
&lt;br /&gt;
*[[CSC/ECE 517 Spring 2016/Refactor response controller]]&lt;br /&gt;
&lt;br /&gt;
*[[CSC/ECE_517_Spring_2016_OSS_M1606]]&lt;br /&gt;
&lt;br /&gt;
*[[CSC/ECE_517_Spring_2016/OSS_E1601]]&lt;br /&gt;
&lt;br /&gt;
==Final Project Design Document==&lt;br /&gt;
*[[CSC/ECE 517 Spring 2016 M1601 Implement HTML5 form validation]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2016 E1624 Compose functional tests for Suggest topics of student functionality ]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2016 E1631 Team-based reviewing]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2016 E1628 Visualization]]&lt;br /&gt;
*[[CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers]]&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=/CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101742</id>
		<title>/CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=/CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101742"/>
		<updated>2016-04-04T02:22:53Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: moved /CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers to CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers: Remove initial backslash&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers]]&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101741</id>
		<title>CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101741"/>
		<updated>2016-04-04T02:22:53Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: moved /CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers to CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers: Remove initial backslash&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Show confidence ratings for grade, based on reputations of reviewers==&lt;br /&gt;
&lt;br /&gt;
===Introduction to Expertiza===&lt;br /&gt;
&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is a  web application developed using the [http://rubyonrails.org/ Ruby on Rails] framework as a combined effort of students and faculty. The main advantage of using Expertiza, in an educational environment, is for the instructor to introduce peer reviewing among the students. The instructors can create and customize assignments, create a list of topics the students can sign up for, have students work on teams and then review each other's assignments at the end. Expertiza supports submission of almost any document type, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
Expertiza is supported by National Science Foundation under Grant No. 0536558. Additional funding from the [http://www.ncsu.edu/ NCSU] [http://litre.ncsu.edu/ Learning in a Technology-Rich Environment] (LITRE) program, the NCSU [http://ofd.ncsu.edu/teaching-learning/ Faculty Center for Teaching and Learning], the NCSU [http://stem.ncsu.edu/ STEM] Initiative, and the Center for Advanced Computing and Communication&lt;br /&gt;
&lt;br /&gt;
===Motivation=== &lt;br /&gt;
&lt;br /&gt;
Students select from a list of tasks to be performed, then they prepare their work and submit it to a peer-review system. The work is then reviewed by other students, who offer comments/feedback to help the submitters improve their work.&lt;br /&gt;
&lt;br /&gt;
During the peer review period it is important to determine which reviews are more accurate and show higher quality. Reputation is one way to achieve this goal; it is a quantization measurement to judge which peer reviewers are more reliable.&lt;br /&gt;
&lt;br /&gt;
Peer reviewers can use expertiza to score an author. If Expertiza shows a confidence ratings for grades based upon the reviewers reputation then authors can more easily determine the legitimacy of the peer assigned score. In addition, the teaching staff can examine the quality of each peer review based on reputation values and, potentially, crowd-source a significant portion of the grading function.&lt;br /&gt;
&lt;br /&gt;
===Description of confidence rating and our system===&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail Hamer’s and Lauw’s algorithm]&lt;br /&gt;
&lt;br /&gt;
There are two algorithms intended for use in calculation of the reputation values for participants. &lt;br /&gt;
&lt;br /&gt;
There is a [https://expertiza.ncsu.edu/reputation_web_service/client web-service] (the link accessible only to the instructors) available which serves a JSON response containing the reputation value based on the seed provided in the form of the last known reputation value which we store in the ''participants'' table. An instructor can specify which algorithm to use for a particular assignment to calculate the confidence rating. &lt;br /&gt;
&lt;br /&gt;
As the [https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail paper] on reputation system by observes, “the Hamer-peer algorithm has the lowest maximum absolute bias and the Lauw-peer algorithm has the lowest overall bias.This indicates, from the instructor’s perspective, if there are further assignments of this kind, expert grading may not be necessary.”&lt;br /&gt;
&lt;br /&gt;
The main difference between the Hamer-peer and the Lauw-peer algorithm is that the Lauw-peer algorithm keeps track of the reviewer's leniency (“bias”), which can be either positive or negative. A positive leniency indicates the reviewer tends to give higher scores than average. Additionally the range for Hamer’s algorithm is (0,∞) while for Lauw’s algorithm it is [0,1]. &lt;br /&gt;
&lt;br /&gt;
===Section: Design Pattern - Model-view-controller(MVC)===&lt;br /&gt;
&lt;br /&gt;
In an MVC pattern, a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of informations from the information that needs to be presented to the user.&lt;br /&gt;
&lt;br /&gt;
Model - Maintains the data, logic and the relationships between objects and the database. It also handles validations, associations and transactions.&lt;br /&gt;
&lt;br /&gt;
View -  Displays data received from the controller in the User Interface. &lt;br /&gt;
&lt;br /&gt;
Controller - Accepts input from client and converts it into actionable items for the model or the view. Its responsibilities include querying models and organizing data into a structure that is displayed by the view &lt;br /&gt;
&lt;br /&gt;
===Section: Documentation===&lt;br /&gt;
&lt;br /&gt;
All the documentation for the Expertiza system can be found in the following links: [https://github.com/expertiza/expertiza Expertiza on Github] ,   [http://wikis.lib.ncsu.edu/index.php/Expertiza Wiki documentation for Expertiza]&lt;br /&gt;
&lt;br /&gt;
===Section: Classes Involved===&lt;br /&gt;
&lt;br /&gt;
===Section: Files Involved===&lt;br /&gt;
&lt;br /&gt;
===Models:===&lt;br /&gt;
&lt;br /&gt;
participant &lt;br /&gt;
&lt;br /&gt;
===Views:===&lt;br /&gt;
&lt;br /&gt;
grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
grades/view_my_scores.html.erb&lt;br /&gt;
&lt;br /&gt;
===Controllers:===&lt;br /&gt;
&lt;br /&gt;
Reputation_web_service_controller.rb&lt;br /&gt;
&lt;br /&gt;
===Standards:===&lt;br /&gt;
&lt;br /&gt;
All our code follows the [https://docs.google.com/document/d/1qQD7fcypFk77nq7Jx7ZNyCNpLyt1oXKaq5G-W7zkV3k/edit global rules] on Ruby style.&lt;br /&gt;
&lt;br /&gt;
===Section: Tasks Performed:===&lt;br /&gt;
&lt;br /&gt;
●    Write a migration to add reputation field in participant table. (The default value of this field is 1, set any nil to 1)&lt;br /&gt;
&lt;br /&gt;
●    Change the send_post_request method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to obtain initial reputation values from DB instead of hard-coded.&lt;br /&gt;
&lt;br /&gt;
●    Write a new method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to extract reputation values from JSON response and insert into DB.&lt;br /&gt;
&lt;br /&gt;
●    On view_my_score (student-end) and view_scores (instructor-end) pages: use different font color on students’ names to distinguish different level of reputation values &lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Hamer’s algorithm is :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value &amp;lt; 0.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;gt; 0.5 to 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 1 to 1.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 1.5 to 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 2&lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Lauw’s algorithm is &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value is &amp;lt; 0.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;lt; 0.2 to 0.4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 0.4 to 0.6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 0.6 to 0.8&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 0.8.&lt;br /&gt;
&lt;br /&gt;
●    Instructor can choose to show results from Hamer’s algorithm or Lauw’s algorithm. The default algorithm should be Lauw’s algorithm.&lt;br /&gt;
&lt;br /&gt;
===Section: Testing===&lt;br /&gt;
&lt;br /&gt;
We will be using the existing test suite used by gem to test any new code modification. We will be writing new test cases for any new public method exposed by existing classes.&lt;br /&gt;
&lt;br /&gt;
===Section: References===&lt;br /&gt;
&lt;br /&gt;
'''1.    [https://github.com/expertiza/expertiza Expertiza on GitHub (Original version)]'''&lt;br /&gt;
&lt;br /&gt;
'''2.    [http://expertiza.ncsu.edu/ Expertiza]'''&lt;br /&gt;
&lt;br /&gt;
'''Previous Design documents''' http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Spring_2015&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=User:Bghagar&amp;diff=101740</id>
		<title>User:Bghagar</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=User:Bghagar&amp;diff=101740"/>
		<updated>2016-04-04T02:22:17Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: moved User:Bghagar to /CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers: Migrate to main page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[/CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers]]&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101739</id>
		<title>CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101739"/>
		<updated>2016-04-04T02:22:17Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: moved User:Bghagar to /CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers: Migrate to main page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Show confidence ratings for grade, based on reputations of reviewers==&lt;br /&gt;
&lt;br /&gt;
===Introduction to Expertiza===&lt;br /&gt;
&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is a  web application developed using the [http://rubyonrails.org/ Ruby on Rails] framework as a combined effort of students and faculty. The main advantage of using Expertiza, in an educational environment, is for the instructor to introduce peer reviewing among the students. The instructors can create and customize assignments, create a list of topics the students can sign up for, have students work on teams and then review each other's assignments at the end. Expertiza supports submission of almost any document type, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
Expertiza is supported by National Science Foundation under Grant No. 0536558. Additional funding from the [http://www.ncsu.edu/ NCSU] [http://litre.ncsu.edu/ Learning in a Technology-Rich Environment] (LITRE) program, the NCSU [http://ofd.ncsu.edu/teaching-learning/ Faculty Center for Teaching and Learning], the NCSU [http://stem.ncsu.edu/ STEM] Initiative, and the Center for Advanced Computing and Communication&lt;br /&gt;
&lt;br /&gt;
===Motivation=== &lt;br /&gt;
&lt;br /&gt;
Students select from a list of tasks to be performed, then they prepare their work and submit it to a peer-review system. The work is then reviewed by other students, who offer comments/feedback to help the submitters improve their work.&lt;br /&gt;
&lt;br /&gt;
During the peer review period it is important to determine which reviews are more accurate and show higher quality. Reputation is one way to achieve this goal; it is a quantization measurement to judge which peer reviewers are more reliable.&lt;br /&gt;
&lt;br /&gt;
Peer reviewers can use expertiza to score an author. If Expertiza shows a confidence ratings for grades based upon the reviewers reputation then authors can more easily determine the legitimacy of the peer assigned score. In addition, the teaching staff can examine the quality of each peer review based on reputation values and, potentially, crowd-source a significant portion of the grading function.&lt;br /&gt;
&lt;br /&gt;
===Description of confidence rating and our system===&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail Hamer’s and Lauw’s algorithm]&lt;br /&gt;
&lt;br /&gt;
There are two algorithms intended for use in calculation of the reputation values for participants. &lt;br /&gt;
&lt;br /&gt;
There is a [https://expertiza.ncsu.edu/reputation_web_service/client web-service] (the link accessible only to the instructors) available which serves a JSON response containing the reputation value based on the seed provided in the form of the last known reputation value which we store in the ''participants'' table. An instructor can specify which algorithm to use for a particular assignment to calculate the confidence rating. &lt;br /&gt;
&lt;br /&gt;
As the [https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail paper] on reputation system by observes, “the Hamer-peer algorithm has the lowest maximum absolute bias and the Lauw-peer algorithm has the lowest overall bias.This indicates, from the instructor’s perspective, if there are further assignments of this kind, expert grading may not be necessary.”&lt;br /&gt;
&lt;br /&gt;
The main difference between the Hamer-peer and the Lauw-peer algorithm is that the Lauw-peer algorithm keeps track of the reviewer's leniency (“bias”), which can be either positive or negative. A positive leniency indicates the reviewer tends to give higher scores than average. Additionally the range for Hamer’s algorithm is (0,∞) while for Lauw’s algorithm it is [0,1]. &lt;br /&gt;
&lt;br /&gt;
===Section: Design Pattern - Model-view-controller(MVC)===&lt;br /&gt;
&lt;br /&gt;
In an MVC pattern, a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of informations from the information that needs to be presented to the user.&lt;br /&gt;
&lt;br /&gt;
Model - Maintains the data, logic and the relationships between objects and the database. It also handles validations, associations and transactions.&lt;br /&gt;
&lt;br /&gt;
View -  Displays data received from the controller in the User Interface. &lt;br /&gt;
&lt;br /&gt;
Controller - Accepts input from client and converts it into actionable items for the model or the view. Its responsibilities include querying models and organizing data into a structure that is displayed by the view &lt;br /&gt;
&lt;br /&gt;
===Section: Documentation===&lt;br /&gt;
&lt;br /&gt;
All the documentation for the Expertiza system can be found in the following links: [https://github.com/expertiza/expertiza Expertiza on Github] ,   [http://wikis.lib.ncsu.edu/index.php/Expertiza Wiki documentation for Expertiza]&lt;br /&gt;
&lt;br /&gt;
===Section: Classes Involved===&lt;br /&gt;
&lt;br /&gt;
===Section: Files Involved===&lt;br /&gt;
&lt;br /&gt;
===Models:===&lt;br /&gt;
&lt;br /&gt;
participant &lt;br /&gt;
&lt;br /&gt;
===Views:===&lt;br /&gt;
&lt;br /&gt;
grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
grades/view_my_scores.html.erb&lt;br /&gt;
&lt;br /&gt;
===Controllers:===&lt;br /&gt;
&lt;br /&gt;
Reputation_web_service_controller.rb&lt;br /&gt;
&lt;br /&gt;
===Standards:===&lt;br /&gt;
&lt;br /&gt;
All our code follows the [https://docs.google.com/document/d/1qQD7fcypFk77nq7Jx7ZNyCNpLyt1oXKaq5G-W7zkV3k/edit global rules] on Ruby style.&lt;br /&gt;
&lt;br /&gt;
===Section: Tasks Performed:===&lt;br /&gt;
&lt;br /&gt;
●    Write a migration to add reputation field in participant table. (The default value of this field is 1, set any nil to 1)&lt;br /&gt;
&lt;br /&gt;
●    Change the send_post_request method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to obtain initial reputation values from DB instead of hard-coded.&lt;br /&gt;
&lt;br /&gt;
●    Write a new method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to extract reputation values from JSON response and insert into DB.&lt;br /&gt;
&lt;br /&gt;
●    On view_my_score (student-end) and view_scores (instructor-end) pages: use different font color on students’ names to distinguish different level of reputation values &lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Hamer’s algorithm is :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value &amp;lt; 0.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;gt; 0.5 to 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 1 to 1.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 1.5 to 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 2&lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Lauw’s algorithm is &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value is &amp;lt; 0.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;lt; 0.2 to 0.4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 0.4 to 0.6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 0.6 to 0.8&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 0.8.&lt;br /&gt;
&lt;br /&gt;
●    Instructor can choose to show results from Hamer’s algorithm or Lauw’s algorithm. The default algorithm should be Lauw’s algorithm.&lt;br /&gt;
&lt;br /&gt;
===Section: Testing===&lt;br /&gt;
&lt;br /&gt;
We will be using the existing test suite used by gem to test any new code modification. We will be writing new test cases for any new public method exposed by existing classes.&lt;br /&gt;
&lt;br /&gt;
===Section: References===&lt;br /&gt;
&lt;br /&gt;
'''1.    [https://github.com/expertiza/expertiza Expertiza on GitHub (Original version)]'''&lt;br /&gt;
&lt;br /&gt;
'''2.    [http://expertiza.ncsu.edu/ Expertiza]'''&lt;br /&gt;
&lt;br /&gt;
'''Previous Design documents''' http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Spring_2015&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101698</id>
		<title>CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101698"/>
		<updated>2016-04-03T09:11:36Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Show confidence ratings for grade, based on reputations of reviewers==&lt;br /&gt;
&lt;br /&gt;
===Introduction to Expertiza===&lt;br /&gt;
&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is a  web application developed using the [http://rubyonrails.org/ Ruby on Rails] framework as a combined effort of students and faculty. The main advantage of using Expertiza, in an educational environment, is for the instructor to introduce peer reviewing among the students. The instructors can create and customize assignments, create a list of topics the students can sign up for, have students work on teams and then review each other's assignments at the end. Expertiza supports submission of almost any document type, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
Expertiza is supported by National Science Foundation under Grant No. 0536558. Additional funding from the [http://www.ncsu.edu/ NCSU] [http://litre.ncsu.edu/ Learning in a Technology-Rich Environment] (LITRE) program, the NCSU [http://ofd.ncsu.edu/teaching-learning/ Faculty Center for Teaching and Learning], the NCSU [http://stem.ncsu.edu/ STEM] Initiative, and the Center for Advanced Computing and Communication&lt;br /&gt;
&lt;br /&gt;
===Motivation=== &lt;br /&gt;
&lt;br /&gt;
Students select from a list of tasks to be performed, then they prepare their work and submit it to a peer-review system. The work is then reviewed by other students, who offer comments/feedback to help the submitters improve their work.&lt;br /&gt;
&lt;br /&gt;
During the peer review period it is important to determine which reviews are more accurate and show higher quality. Reputation is one way to achieve this goal; it is a quantization measurement to judge which peer reviewers are more reliable.&lt;br /&gt;
&lt;br /&gt;
Peer reviewers can use expertiza to score an author. If Expertiza shows a confidence ratings for grades based upon the reviewers reputation then authors can more easily determine the legitimacy of the peer assigned score. In addition, the teaching staff can examine the quality of each peer review based on reputation values and, potentially, crowd-source a significant portion of the grading function.&lt;br /&gt;
&lt;br /&gt;
===Description of confidence rating and our system===&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail Hamer’s and Lauw’s algorithm]&lt;br /&gt;
&lt;br /&gt;
There are two algorithms intended for use in calculation of the reputation values for participants. &lt;br /&gt;
&lt;br /&gt;
There is a [https://expertiza.ncsu.edu/reputation_web_service/client web-service] (the link accessible only to the instructors) available which serves a JSON response containing the reputation value based on the seed provided in the form of the last known reputation value which we store in the ''participants'' table. An instructor can specify which algorithm to use for a particular assignment to calculate the confidence rating. &lt;br /&gt;
&lt;br /&gt;
As the [https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail paper] on reputation system by observes, “the Hamer-peer algorithm has the lowest maximum absolute bias and the Lauw-peer algorithm has the lowest overall bias.This indicates, from the instructor’s perspective, if there are further assignments of this kind, expert grading may not be necessary.”&lt;br /&gt;
&lt;br /&gt;
The main difference between the Hamer-peer and the Lauw-peer algorithm is that the Lauw-peer algorithm keeps track of the reviewer's leniency (“bias”), which can be either positive or negative. A positive leniency indicates the reviewer tends to give higher scores than average. Additionally the range for Hamer’s algorithm is (0,∞) while for Lauw’s algorithm it is [0,1]. &lt;br /&gt;
&lt;br /&gt;
===Section: Design Pattern - Model-view-controller(MVC)===&lt;br /&gt;
&lt;br /&gt;
In an MVC pattern, a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of informations from the information that needs to be presented to the user.&lt;br /&gt;
&lt;br /&gt;
Model - Maintains the data, logic and the relationships between objects and the database. It also handles validations, associations and transactions.&lt;br /&gt;
&lt;br /&gt;
View -  Displays data received from the controller in the User Interface. &lt;br /&gt;
&lt;br /&gt;
Controller - Accepts input from client and converts it into actionable items for the model or the view. Its responsibilities include querying models and organizing data into a structure that is displayed by the view &lt;br /&gt;
&lt;br /&gt;
===Section: Documentation===&lt;br /&gt;
&lt;br /&gt;
All the documentation for the Expertiza system can be found in the following links: [https://github.com/expertiza/expertiza Expertiza on Github] ,   [http://wikis.lib.ncsu.edu/index.php/Expertiza Wiki documentation for Expertiza]&lt;br /&gt;
&lt;br /&gt;
===Section: Classes Involved===&lt;br /&gt;
&lt;br /&gt;
===Section: Files Involved===&lt;br /&gt;
&lt;br /&gt;
===Models:===&lt;br /&gt;
&lt;br /&gt;
participant &lt;br /&gt;
&lt;br /&gt;
===Views:===&lt;br /&gt;
&lt;br /&gt;
grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
grades/view_my_scores.html.erb&lt;br /&gt;
&lt;br /&gt;
===Controllers:===&lt;br /&gt;
&lt;br /&gt;
Reputation_web_service_controller.rb&lt;br /&gt;
&lt;br /&gt;
===Standards:===&lt;br /&gt;
&lt;br /&gt;
All our code follows the [https://docs.google.com/document/d/1qQD7fcypFk77nq7Jx7ZNyCNpLyt1oXKaq5G-W7zkV3k/edit global rules] on Ruby style.&lt;br /&gt;
&lt;br /&gt;
===Section: Tasks Performed:===&lt;br /&gt;
&lt;br /&gt;
●    Write a migration to add reputation field in participant table. (The default value of this field is 1, set any nil to 1)&lt;br /&gt;
&lt;br /&gt;
●    Change the send_post_request method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to obtain initial reputation values from DB instead of hard-coded.&lt;br /&gt;
&lt;br /&gt;
●    Write a new method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to extract reputation values from JSON response and insert into DB.&lt;br /&gt;
&lt;br /&gt;
●    On view_my_score (student-end) and view_scores (instructor-end) pages: use different font color on students’ names to distinguish different level of reputation values &lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Hamer’s algorithm is :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value &amp;lt; 0.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;gt; 0.5 to 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 1 to 1.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 1.5 to 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 2&lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Lauw’s algorithm is &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value is &amp;lt; 0.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;lt; 0.2 to 0.4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 0.4 to 0.6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 0.6 to 0.8&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 0.8.&lt;br /&gt;
&lt;br /&gt;
●    Instructor can choose to show results from Hamer’s algorithm or Lauw’s algorithm. The default algorithm should be Lauw’s algorithm.&lt;br /&gt;
&lt;br /&gt;
===Section: Testing===&lt;br /&gt;
&lt;br /&gt;
We will be using the existing test suite used by gem to test any new code modification. We will be writing new test cases for any new public method exposed by existing classes.&lt;br /&gt;
&lt;br /&gt;
===Section: References===&lt;br /&gt;
&lt;br /&gt;
'''1.    [https://github.com/expertiza/expertiza Expertiza on GitHub (Original version)]'''&lt;br /&gt;
&lt;br /&gt;
'''2.    [http://expertiza.ncsu.edu/ Expertiza]'''&lt;br /&gt;
&lt;br /&gt;
'''Previous Design documents''' http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Spring_2015&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101697</id>
		<title>CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101697"/>
		<updated>2016-04-03T09:08:31Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Show confidence ratings for grade, based on reputations of reviewers''' &lt;br /&gt;
&lt;br /&gt;
'''Introduction to Expertiza'''&lt;br /&gt;
&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is a  web application developed using the [http://rubyonrails.org/ Ruby on Rails] framework as a combined effort of students and faculty. The main advantage of using Expertiza, in an educational environment, is for the instructor to introduce peer reviewing among the students. The instructors can create and customize assignments, create a list of topics the students can sign up for, have students work on teams and then review each other's assignments at the end. Expertiza supports submission of almost any document type, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
Expertiza is supported by National Science Foundation under Grant No. 0536558. Additional funding from the [http://www.ncsu.edu/ NCSU] [http://litre.ncsu.edu/ Learning in a Technology-Rich Environment] (LITRE) program, the NCSU [http://ofd.ncsu.edu/teaching-learning/ Faculty Center for Teaching and Learning], the NCSU [http://stem.ncsu.edu/ STEM] Initiative, and the Center for Advanced Computing and Communication&lt;br /&gt;
&lt;br /&gt;
'''Motivation''' &lt;br /&gt;
&lt;br /&gt;
Students select from a list of tasks to be performed, then they prepare their work and submit it to a peer-review system. The work is then reviewed by other students, who offer comments/feedback to help the submitters improve their work.&lt;br /&gt;
&lt;br /&gt;
During the peer review period it is important to determine which reviews are more accurate and show higher quality. Reputation is one way to achieve this goal; it is a quantization measurement to judge which peer reviewers are more reliable.&lt;br /&gt;
&lt;br /&gt;
Peer reviewers can use expertiza to score an author. If Expertiza shows a confidence ratings for grades based upon the reviewers reputation then authors can more easily determine the legitimacy of the peer assigned score. In addition, the teaching staff can examine the quality of each peer review based on reputation values and, potentially, crowd-source a significant portion of the grading function.&lt;br /&gt;
&lt;br /&gt;
'''Description of confidence rating and our system'''&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail Hamer’s and Lauw’s algorithm]&lt;br /&gt;
&lt;br /&gt;
There are two algorithms intended for use in calculation of the reputation values for participants. &lt;br /&gt;
&lt;br /&gt;
There is a [https://expertiza.ncsu.edu/reputation_web_service/client web-service] (the link accessible only to the instructors) available which serves a JSON response containing the reputation value based on the seed provided in the form of the last known reputation value which we store in the ''participants'' table. An instructor can specify which algorithm to use for a particular assignment to calculate the confidence rating. &lt;br /&gt;
&lt;br /&gt;
As the [https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail paper] on reputation system by observes, “the Hamer-peer algorithm has the lowest maximum absolute bias and the Lauw-peer algorithm has the lowest overall bias.This indicates, from the instructor’s perspective, if there are further assignments of this kind, expert grading may not be necessary.”&lt;br /&gt;
&lt;br /&gt;
The main difference between the Hamer-peer and the Lauw-peer algorithm is that the Lauw-peer algorithm keeps track of the reviewer's leniency (“bias”), which can be either positive or negative. A positive leniency indicates the reviewer tends to give higher scores than average. Additionally the range for Hamer’s algorithm is (0,∞) while for Lauw’s algorithm it is [0,1]. &lt;br /&gt;
&lt;br /&gt;
'''Section: Design Pattern - Model-view-controller(MVC)'''&lt;br /&gt;
&lt;br /&gt;
In an MVC pattern, a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of informations from the information that needs to be presented to the user.&lt;br /&gt;
&lt;br /&gt;
Model - Maintains the data, logic and the relationships between objects and the database. It also handles validations, associations and transactions.&lt;br /&gt;
&lt;br /&gt;
View -  Displays data received from the controller in the User Interface. &lt;br /&gt;
&lt;br /&gt;
Controller - Accepts input from client and converts it into actionable items for the model or the view. Its responsibilities include querying models and organizing data into a structure that is displayed by the view &lt;br /&gt;
&lt;br /&gt;
'''Section: Documentation'''&lt;br /&gt;
&lt;br /&gt;
All the documentation for the Expertiza system can be found in the following links: [https://github.com/expertiza/expertiza Expertiza on Github] ,   [http://wikis.lib.ncsu.edu/index.php/Expertiza Wiki documentation for Expertiza]&lt;br /&gt;
&lt;br /&gt;
'''Section: Classes Involved'''&lt;br /&gt;
&lt;br /&gt;
'''Section: Files Involved'''&lt;br /&gt;
&lt;br /&gt;
'''Models:'''&lt;br /&gt;
&lt;br /&gt;
participant &lt;br /&gt;
&lt;br /&gt;
'''Views:'''&lt;br /&gt;
&lt;br /&gt;
grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
grades/view_my_scores.html.erb&lt;br /&gt;
&lt;br /&gt;
'''Controllers:'''&lt;br /&gt;
&lt;br /&gt;
Reputation_web_service_controller.rb&lt;br /&gt;
&lt;br /&gt;
'''Standards:'''&lt;br /&gt;
&lt;br /&gt;
All our code follows the [https://docs.google.com/document/d/1qQD7fcypFk77nq7Jx7ZNyCNpLyt1oXKaq5G-W7zkV3k/edit global rules] on Ruby style.&lt;br /&gt;
&lt;br /&gt;
'''Section: Tasks Performed:'''&lt;br /&gt;
&lt;br /&gt;
●    Write a migration to add reputation field in participant table. (The default value of this field is 1, set any nil to 1)&lt;br /&gt;
&lt;br /&gt;
●    Change the send_post_request method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to obtain initial reputation values from DB instead of hard-coded.&lt;br /&gt;
&lt;br /&gt;
●    Write a new method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to extract reputation values from JSON response and insert into DB.&lt;br /&gt;
&lt;br /&gt;
●    On view_my_score (student-end) and view_scores (instructor-end) pages: use different font color on students’ names to distinguish different level of reputation values &lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Hamer’s algorithm is :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value &amp;lt; 0.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;gt; 0.5 to 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 1 to 1.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 1.5 to 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 2&lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Lauw’s algorithm is &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt;                   value is &amp;lt; 0.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;lt; 0.2 to 0.4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt;             value is &amp;gt; 0.4 to 0.6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: HoneyDew&amp;quot;&amp;gt;light green&amp;lt;/span&amp;gt;       value is &amp;gt; 0.6 to 0.8&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: Chartreuse&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;               value is &amp;gt; 0.8.&lt;br /&gt;
&lt;br /&gt;
●    Instructor can choose to show results from Hamer’s algorithm or Lauw’s algorithm. The default algorithm should be Lauw’s algorithm.&lt;br /&gt;
&lt;br /&gt;
'''Section: Testing'''&lt;br /&gt;
&lt;br /&gt;
We will be using the existing test suite used by gem to test any new code modification. We will be writing new test cases for any new public method exposed by existing classes.&lt;br /&gt;
&lt;br /&gt;
'''Section: References'''&lt;br /&gt;
&lt;br /&gt;
'''1.    [https://github.com/expertiza/expertiza Expertiza on GitHub (Original version)]'''&lt;br /&gt;
&lt;br /&gt;
'''2.    [http://expertiza.ncsu.edu/ Expertiza]'''&lt;br /&gt;
&lt;br /&gt;
'''Previous Design documents''' http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Spring_2015&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101696</id>
		<title>CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101696"/>
		<updated>2016-04-03T08:57:57Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Show confidence ratings for grade, based on reputations of reviewers''' &lt;br /&gt;
&lt;br /&gt;
'''Introduction to Expertiza'''&lt;br /&gt;
&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is a  web application developed using the [http://rubyonrails.org/ Ruby on Rails] framework as a combined effort of students and faculty. The main advantage of using Expertiza, in an educational environment, is for the instructor to introduce peer reviewing among the students. The instructors can create and customize assignments, create a list of topics the students can sign up for, have students work on teams and then review each other's assignments at the end. Expertiza supports submission of almost any document type, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
Expertiza is supported by National Science Foundation under Grant No. 0536558. Additional funding from the [http://www.ncsu.edu/ NCSU] [http://litre.ncsu.edu/ Learning in a Technology-Rich Environment] (LITRE) program, the NCSU [http://ofd.ncsu.edu/teaching-learning/ Faculty Center for Teaching and Learning], the NCSU [http://stem.ncsu.edu/ STEM] Initiative, and the Center for Advanced Computing and Communication&lt;br /&gt;
&lt;br /&gt;
'''Motivation''' &lt;br /&gt;
&lt;br /&gt;
Students select from a list of tasks to be performed, then they prepare their work and submit it to a peer-review system. The work is then reviewed by other students, who offer comments/feedback to help the submitters improve their work.&lt;br /&gt;
&lt;br /&gt;
During the peer review period it is important to determine which reviews are more accurate and show higher quality. Reputation is one way to achieve this goal; it is a quantization measurement to judge which peer reviewers are more reliable.&lt;br /&gt;
&lt;br /&gt;
Peer reviewers can use expertiza to score an author. If Expertiza shows a confidence ratings for grades based upon the reviewers reputation then authors can more easily determine the legitimacy of the peer assigned score. In addition, the teaching staff can examine the quality of each peer review based on reputation values and, potentially, crowd-source a significant portion of the grading function.&lt;br /&gt;
&lt;br /&gt;
'''Description of confidence rating and our system'''&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail Hamer’s and Lauw’s algorithm]&lt;br /&gt;
&lt;br /&gt;
There are two algorithms intended for use in calculation of the reputation values for participants. &lt;br /&gt;
&lt;br /&gt;
There is a [https://expertiza.ncsu.edu/reputation_web_service/client web-service] (the link accessible only to the instructors) available which serves a JSON response containing the reputation value based on the seed provided in the form of the last known reputation value which we store in the ''participants'' table. An instructor can specify which algorithm to use for a particular assignment to calculate the confidence rating. &lt;br /&gt;
&lt;br /&gt;
As the [https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail paper] on reputation system by observes, “the Hamer-peer algorithm has the lowest maximum absolute bias and the Lauw-peer algorithm has the lowest overall bias.This indicates, from the instructor’s perspective, if there are further assignments of this kind, expert grading may not be necessary.”&lt;br /&gt;
&lt;br /&gt;
The main difference between the Hamer-peer and the Lauw-peer algorithm is that the Lauw-peer algorithm keeps track of the reviewer's leniency (“bias”), which can be either positive or negative. A positive leniency indicates the reviewer tends to give higher scores than average. Additionally the range for Hamer’s algorithm is (0,∞) while for Lauw’s algorithm it is [0,1]. &lt;br /&gt;
&lt;br /&gt;
'''Section: Design Pattern - Model-view-controller(MVC)'''&lt;br /&gt;
&lt;br /&gt;
In an MVC pattern, a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of informations from the information that needs to be presented to the user.&lt;br /&gt;
&lt;br /&gt;
Model - Maintains the data, logic and the relationships between objects and the database. It also handles validations, associations and transactions.&lt;br /&gt;
&lt;br /&gt;
View -  Displays data received from the controller in the User Interface. &lt;br /&gt;
&lt;br /&gt;
Controller - Accepts input from client and converts it into actionable items for the model or the view. Its responsibilities include querying models and organizing data into a structure that is displayed by the view &lt;br /&gt;
&lt;br /&gt;
'''Section: Documentation'''&lt;br /&gt;
&lt;br /&gt;
All the documentation for the Expertiza system can be found in the following links: [https://github.com/expertiza/expertiza Expertiza on Github] ,   [http://wikis.lib.ncsu.edu/index.php/Expertiza Wiki documentation for Expertiza]&lt;br /&gt;
&lt;br /&gt;
'''Section: Classes Involved'''&lt;br /&gt;
&lt;br /&gt;
'''Section: Files Involved'''&lt;br /&gt;
&lt;br /&gt;
'''Models:'''&lt;br /&gt;
&lt;br /&gt;
participant &lt;br /&gt;
&lt;br /&gt;
'''Views:'''&lt;br /&gt;
&lt;br /&gt;
grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
grades/view_my_scores.html.erb&lt;br /&gt;
&lt;br /&gt;
'''Controllers:'''&lt;br /&gt;
&lt;br /&gt;
Reputation_web_service_controller.rb&lt;br /&gt;
&lt;br /&gt;
'''Standards:'''&lt;br /&gt;
&lt;br /&gt;
All our code follows the [https://docs.google.com/document/d/1qQD7fcypFk77nq7Jx7ZNyCNpLyt1oXKaq5G-W7zkV3k/edit global rules] on Ruby style.&lt;br /&gt;
&lt;br /&gt;
'''Section: Tasks Performed:'''&lt;br /&gt;
&lt;br /&gt;
●    Write a migration to add reputation field in participant table. (The default value of this field is 1, set any nil to 1)&lt;br /&gt;
&lt;br /&gt;
●    Change the send_post_request method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to obtain initial reputation values from DB instead of hard-coded.&lt;br /&gt;
&lt;br /&gt;
●    Write a new method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to extract reputation values from JSON response and insert into DB.&lt;br /&gt;
&lt;br /&gt;
●    On view_my_score (student-end) and view_scores (instructor-end) pages: use different font color on students’ names to distinguish different level of reputation values &lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Hamer’s algorithm is :&lt;br /&gt;
&lt;br /&gt;
red                   value &amp;lt; 0.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:yellow&amp;quot;&amp;gt;yellow&amp;lt;/span&amp;gt;              value is &amp;gt; 0.5 to 1&lt;br /&gt;
&lt;br /&gt;
orange             value is &amp;gt; 1 to 1.5&lt;br /&gt;
&lt;br /&gt;
light green       value is &amp;gt; 1.5 to 2&lt;br /&gt;
&lt;br /&gt;
green               value is &amp;gt; 2&lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Lauw’s algorithm is &lt;br /&gt;
&lt;br /&gt;
red                   value is &amp;lt; 0.2&lt;br /&gt;
&lt;br /&gt;
yellow              value is &amp;lt; 0.2 to 0.4&lt;br /&gt;
&lt;br /&gt;
orange             value is &amp;gt; 0.4 to 0.6&lt;br /&gt;
&lt;br /&gt;
light green       value is &amp;gt; 0.6 to 0.8&lt;br /&gt;
&lt;br /&gt;
green               value is &amp;gt; 0.8.&lt;br /&gt;
&lt;br /&gt;
●    Instructor can choose to show results from Hamer’s algorithm or Lauw’s algorithm. The default algorithm should be Lauw’s algorithm.&lt;br /&gt;
&lt;br /&gt;
'''Section: Testing'''&lt;br /&gt;
&lt;br /&gt;
We will be using the existing test suite used by gem to test any new code modification. We will be writing new test cases for any new public method exposed by existing classes.&lt;br /&gt;
&lt;br /&gt;
'''Section: References'''&lt;br /&gt;
&lt;br /&gt;
'''1.    [https://github.com/expertiza/expertiza Expertiza on GitHub (Original version)]'''&lt;br /&gt;
&lt;br /&gt;
'''2.    [http://expertiza.ncsu.edu/ Expertiza]'''&lt;br /&gt;
&lt;br /&gt;
'''Previous Design documents''' http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Spring_2015&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101695</id>
		<title>CSC/ECE 517 Spring 2016 E1625 Show confidence ratings for grade based on reputations of reviewers</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016_E1625_Show_confidence_ratings_for_grade_based_on_reputations_of_reviewers&amp;diff=101695"/>
		<updated>2016-04-03T08:44:11Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: Created page with &amp;quot;'''Show confidence ratings for grade, based on reputations of reviewers'''   '''Introduction to Expertiza'''  [http://expertiza.ncsu.edu/ Expertiza] is a  web application develo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Show confidence ratings for grade, based on reputations of reviewers''' &lt;br /&gt;
&lt;br /&gt;
'''Introduction to Expertiza'''&lt;br /&gt;
&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is a  web application developed using the [http://rubyonrails.org/ Ruby on Rails] framework as a combined effort of students and faculty. The main advantage of using Expertiza, in an educational environment, is for the instructor to introduce peer reviewing among the students. The instructors can create and customize assignments, create a list of topics the students can sign up for, have students work on teams and then review each other's assignments at the end. Expertiza supports submission of almost any document type, including the URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
Expertiza is supported by National Science Foundation under Grant No. 0536558. Additional funding from the [http://www.ncsu.edu/ NCSU] [http://litre.ncsu.edu/ Learning in a Technology-Rich Environment] (LITRE) program, the NCSU [http://ofd.ncsu.edu/teaching-learning/ Faculty Center for Teaching and Learning], the NCSU [http://stem.ncsu.edu/ STEM] Initiative, and the Center for Advanced Computing and Communication&lt;br /&gt;
&lt;br /&gt;
'''Motivation''' &lt;br /&gt;
&lt;br /&gt;
Students select from a list of tasks to be performed, then they prepare their work and submit it to a peer-review system. The work is then reviewed by other students, who offer comments/feedback to help the submitters improve their work.&lt;br /&gt;
&lt;br /&gt;
During the peer review period it is important to determine which reviews are more accurate and show higher quality. Reputation is one way to achieve this goal; it is a quantization measurement to judge which peer reviewers are more reliable.&lt;br /&gt;
&lt;br /&gt;
Peer reviewers can use expertiza to score an author. If Expertiza shows a confidence ratings for grades based upon the reviewers reputation then authors can more easily determine the legitimacy of the peer assigned score. In addition, the teaching staff can examine the quality of each peer review based on reputation values and, potentially, crowd-source a significant portion of the grading function.&lt;br /&gt;
&lt;br /&gt;
'''Description of confidence rating and our system'''&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail Hamer’s and Lauw’s algorithm]&lt;br /&gt;
&lt;br /&gt;
There are two algorithms intended for use in calculation of the reputation values for participants. &lt;br /&gt;
&lt;br /&gt;
There is a [https://expertiza.ncsu.edu/reputation_web_service/client web-service] (the link accessible only to the instructors) available which serves a JSON response containing the reputation value based on the seed provided in the form of the last known reputation value which we store in the ''participants'' table. An instructor can specify which algorithm to use for a particular assignment to calculate the confidence rating. &lt;br /&gt;
&lt;br /&gt;
As the [https://docs.google.com/viewer?url=https%3A%2F%2Fwww.researchgate.net%2Fprofile%2FYang_Song36%2Fpublication%2F289528736_Pluggable_Reputation_Systems_for_Peer_Review_a_Web-Service_Approach%2Flinks%2F568ec8d008ae78cc05160aed.pdf%3FinViewer%3D0%26pdfJsDownload%3D0%26origin%3Dpublication_detail paper] on reputation system by observes, “the Hamer-peer algorithm has the lowest maximum absolute bias and the Lauw-peer algorithm has the lowest overall bias.This indicates, from the instructor’s perspective, if there are further assignments of this kind, expert grading may not be necessary.”&lt;br /&gt;
&lt;br /&gt;
The main difference between the Hamer-peer and the Lauw-peer algorithm is that the Lauw-peer algorithm keeps track of the reviewer's leniency (“bias”), which can be either positive or negative. A positive leniency indicates the reviewer tends to give higher scores than average. Additionally the range for Hamer’s algorithm is (0,∞) while for Lauw’s algorithm it is [0,1]. &lt;br /&gt;
&lt;br /&gt;
'''Section: Design Pattern - Model-view-controller(MVC)'''&lt;br /&gt;
&lt;br /&gt;
In an MVC pattern, a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of informations from the information that needs to be presented to the user.&lt;br /&gt;
&lt;br /&gt;
Model - Maintains the data, logic and the relationships between objects and the database. It also handles validations, associations and transactions.&lt;br /&gt;
&lt;br /&gt;
View -  Displays data received from the controller in the User Interface. &lt;br /&gt;
&lt;br /&gt;
Controller - Accepts input from client and converts it into actionable items for the model or the view. Its responsibilities include querying models and organizing data into a structure that is displayed by the view &lt;br /&gt;
&lt;br /&gt;
'''Section: Documentation'''&lt;br /&gt;
&lt;br /&gt;
All the documentation for the Expertiza system can be found in the following links: [https://github.com/expertiza/expertiza Expertiza on Github] ,   [http://wikis.lib.ncsu.edu/index.php/Expertiza Wiki documentation for Expertiza]&lt;br /&gt;
&lt;br /&gt;
'''Section: Classes Involved'''&lt;br /&gt;
&lt;br /&gt;
'''Section: Files Involved'''&lt;br /&gt;
&lt;br /&gt;
'''Models:'''&lt;br /&gt;
&lt;br /&gt;
participant &lt;br /&gt;
&lt;br /&gt;
'''Views:'''&lt;br /&gt;
&lt;br /&gt;
grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
grades/view_my_scores.html.erb&lt;br /&gt;
&lt;br /&gt;
'''Controllers:'''&lt;br /&gt;
&lt;br /&gt;
Reputation_web_service_controller.rb&lt;br /&gt;
&lt;br /&gt;
'''Standards:'''&lt;br /&gt;
&lt;br /&gt;
All our code follows the [https://docs.google.com/document/d/1qQD7fcypFk77nq7Jx7ZNyCNpLyt1oXKaq5G-W7zkV3k/edit global rules] on Ruby style.&lt;br /&gt;
&lt;br /&gt;
'''Section: Tasks Performed:'''&lt;br /&gt;
&lt;br /&gt;
●    Write a migration to add reputation field in participant table. (The default value of this field is 1, set any nil to 1)&lt;br /&gt;
&lt;br /&gt;
●    Change the send_post_request method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to obtain initial reputation values from DB instead of hard-coded.&lt;br /&gt;
&lt;br /&gt;
●    Write a new method in [https://github.com/expertiza/expertiza/blob/master/app/controllers/reputation_web_service_controller.rb reputation_web_service_controller] to extract reputation values from JSON response and insert into DB.&lt;br /&gt;
&lt;br /&gt;
●    On view_my_score (student-end) and view_scores (instructor-end) pages: use different font color on students’ names to distinguish different level of reputation values &lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Hamer’s algorithm is :&lt;br /&gt;
&lt;br /&gt;
red                   value &amp;lt; 0.5&lt;br /&gt;
&lt;br /&gt;
yellow              value is &amp;gt; 0.5 to 1&lt;br /&gt;
&lt;br /&gt;
orange             value is &amp;gt; 1 to 1.5&lt;br /&gt;
&lt;br /&gt;
light green       value is &amp;gt; 1.5 to 2&lt;br /&gt;
&lt;br /&gt;
green               value is &amp;gt; 2&lt;br /&gt;
&lt;br /&gt;
○    Reputation range of Lauw’s algorithm is &lt;br /&gt;
&lt;br /&gt;
red                   value is &amp;lt; 0.2&lt;br /&gt;
&lt;br /&gt;
yellow              value is &amp;lt; 0.2 to 0.4&lt;br /&gt;
&lt;br /&gt;
orange             value is &amp;gt; 0.4 to 0.6&lt;br /&gt;
&lt;br /&gt;
light green       value is &amp;gt; 0.6 to 0.8&lt;br /&gt;
&lt;br /&gt;
green               value is &amp;gt; 0.8.&lt;br /&gt;
&lt;br /&gt;
●    Instructor can choose to show results from Hamer’s algorithm or Lauw’s algorithm. The default algorithm should be Lauw’s algorithm.&lt;br /&gt;
&lt;br /&gt;
'''Section: Testing'''&lt;br /&gt;
&lt;br /&gt;
We will be using the existing test suite used by gem to test any new code modification. We will be writing new test cases for any new public method exposed by existing classes.&lt;br /&gt;
&lt;br /&gt;
'''Section: References'''&lt;br /&gt;
&lt;br /&gt;
'''1.    [https://github.com/expertiza/expertiza Expertiza on GitHub (Original version)]'''&lt;br /&gt;
&lt;br /&gt;
'''2.    [http://expertiza.ncsu.edu/ Expertiza]'''&lt;br /&gt;
&lt;br /&gt;
'''Previous Design documents''' http://wiki.expertiza.ncsu.edu/index.php/CSC/ECE_517_Spring_2015&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Functional_tests_for_assignment_creation_function&amp;diff=101372</id>
		<title>CSC/ECE 517 Spring 2016/Functional tests for assignment creation function</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Functional_tests_for_assignment_creation_function&amp;diff=101372"/>
		<updated>2016-03-26T06:30:20Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Functional tests for assignment creation function=&lt;br /&gt;
This page outlines the use tests for assignment creation using the Expertiza system&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Structural Overview===&lt;br /&gt;
Assignment creation in Expertiza provides a large number of options for users. Features come at the cost of complexity; this project is focused on creating testing methods to ensure that user interaction with the assignment interface remains stable and reliable.&lt;br /&gt;
&lt;br /&gt;
Assignment creation is available from the Manage -&amp;gt; Assignments drop down on the expertiza site. Once an assignment is created it has 5 tabs for form entry. The remainder of this document will cover testing for each tab in more detail, the tabs are:&lt;br /&gt;
* General&lt;br /&gt;
* Topics&lt;br /&gt;
* Rubrics&lt;br /&gt;
* Review Strategy&lt;br /&gt;
&lt;br /&gt;
Check the panxing01/expertiza repository for the current development files. Currently all tests are run in two files:&lt;br /&gt;
* https://github.com/panxing01/expertiza/blob/master/spec/features/assignment_create_spec.rb&lt;br /&gt;
* https://github.com/panxing01/expertiza/blob/master/spec/features/assignment_interface_spec.rb&lt;br /&gt;
&lt;br /&gt;
===Setup===&lt;br /&gt;
To setup functionality testing of assignment creation feature we did the following steps:&lt;br /&gt;
*Created RSpec file in /spec/features/ folder of [https://github.com/expertiza/expertiza Expertiza]&lt;br /&gt;
* Wrote functional tests using Capybara&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
In this section, the functional test includes assignment name, course, submission directory, description URL, &amp;quot;Has team?&amp;quot;, &amp;quot;Has quiz?&amp;quot; and &amp;quot;Calibrated peer-review for training&amp;quot;.&lt;br /&gt;
*assignment name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment name&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Assignment name&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.where(name: &amp;quot;assignment for test&amp;quot;)).to exist&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*course&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can select course&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      select('5', :from =&amp;gt; 'assignment_form_assignment_course_id')&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*submission directory&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment Submission directory&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 2'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Submission directory&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Submission directory:&amp;quot;, with: 'Submission directory for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).directory_path).to eq 'Submission directory for test'&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*description URL&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment Description URL&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 3'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Description URL&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Description URL:&amp;quot;, with: 'Description URL for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).spec_location).to eq 'Description URL for test'&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Has team?&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can Has teams and set team number&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 5'&lt;br /&gt;
      find('#team_assignment').set(true)&lt;br /&gt;
      expect(page).to have_content &amp;quot;Maximum number of members per team&amp;quot;&lt;br /&gt;
      expect(page).to have_content &amp;quot;Show teammate reviews&amp;quot;&lt;br /&gt;
      fill_in 'assignment_form_assignment_max_team_size', with: 4&lt;br /&gt;
      find('#assignment_form_assignment_show_teammate_reviews').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).show_teammate_reviews).to eq true&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Has quiz?&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can save the number of quiz questions&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: '11'&lt;br /&gt;
      select('5', :from =&amp;gt; 'assignment_form_assignment_course_id')&lt;br /&gt;
      find('#assignment_form_assignment_require_quiz').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      visit '/assignments/2/edit'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Number of Quiz questions&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Calibrated peer-review for training&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set Calibrated peer-view for training&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 4'&lt;br /&gt;
      find('#assignment_form_assignment_is_calibrated').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).is_calibrated).to eq true&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Topics===&lt;br /&gt;
In this section, functionality of &amp;quot;Edit topics&amp;quot; is thoroughly tested. Below are some of the code snippets of this testing module:&lt;br /&gt;
*Edit topics content&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;is able to see edit topics content correctly&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit 'assignments/1/edit#tab-2'&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Allow topic suggestions from students?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Enable bidding for topics?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Enable authors to review others working on same topic?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Allow reviewer to choose which topic to review?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Allow participants to create bookmarks? &amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Hide all teams&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;New topic&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Import Topics&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Back&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Save&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Show/hide teams&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  it &amp;quot;is able to show/hide teams&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit 'assignments/1/edit#tab-2'&lt;br /&gt;
&lt;br /&gt;
      click_link('Hide all teams')&lt;br /&gt;
&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Show all teams&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
      click_link(&amp;quot;Show all teams&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Hide all teams&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Rubrics===&lt;br /&gt;
Rubrics are arranged into 3 rows of data named &amp;quot;Review&amp;quot;, &amp;quot;Author Feedback&amp;quot;, and &amp;quot;Teammate Review&amp;quot;. Each row is handled under separate descriptions in order to allow quick and comprehensive testing for the seperate functions.&lt;br /&gt;
Each row updates using a subclass of the Questionnaire class for dropdown values. Classes used are the ReviewQuestionnaire, AuthorFeedbackQuestionnaire, and the TeammateReviewQuestionnaire respectively.&lt;br /&gt;
&lt;br /&gt;
Testing required creation of the three questionnaire subclasses in order to populate the dropdowns. Basic code layout for testing each value change:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  describe &amp;quot;Edit [subclass] rubric&amp;quot; do&lt;br /&gt;
    it &amp;quot;should update [component]&amp;quot;, js: true do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/1/edit'&lt;br /&gt;
      find_link('Rubrics').click&lt;br /&gt;
      within(&amp;quot;[table row identifier]&amp;quot;) do&lt;br /&gt;
        select &amp;quot;[subclass instance name value]&amp;quot;, :from =&amp;gt; '[form identifier]'&lt;br /&gt;
      end&lt;br /&gt;
      click_button 'Save'&lt;br /&gt;
      expect([questionnaireinstance]).to have_attributes([attrib updated] =&amp;gt; [new value])&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Review Strategy===&lt;br /&gt;
In this module we have tested the functionality of the &amp;quot;Teammate Review&amp;quot; module. Some of the tests are given below:&lt;br /&gt;
*Teammate Review&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;should update questionnaire&amp;quot;, js: true do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/1/edit'&lt;br /&gt;
      find_link('Rubrics').click&lt;br /&gt;
      within(&amp;quot;tr#questionnaire_table_TeammateReviewQuestionnaire&amp;quot;) do&lt;br /&gt;
        select &amp;quot;TeammateReviewQuestionnaire2&amp;quot;, :from =&amp;gt; 'assignment_form[assignment_questionnaire][][questionnaire_id]'&lt;br /&gt;
      end&lt;br /&gt;
      click_button 'Save'&lt;br /&gt;
      expect(get_questionnaire(&amp;quot;TeammateReviewQuestionnaire2&amp;quot;)).to exist&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Notification limit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;should update notification limit&amp;quot;, js: true do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/1/edit'&lt;br /&gt;
      find_link('Rubrics').click&lt;br /&gt;
      within(&amp;quot;tr#questionnaire_table_TeammateReviewQuestionnaire&amp;quot;) do&lt;br /&gt;
        select &amp;quot;TeammateReviewQuestionnaire2&amp;quot;, :from =&amp;gt; 'assignment_form[assignment_questionnaire][][questionnaire_id]'&lt;br /&gt;
        fill_in 'assignment_form[assignment_questionnaire][][notification_limit]', :with =&amp;gt; '50'&lt;br /&gt;
      end&lt;br /&gt;
      click_button 'Save'&lt;br /&gt;
      expect(get_questionnaire(&amp;quot;TeammateReviewQuestionnaire2&amp;quot;).first).to have_attributes(:notification_limit =&amp;gt; 50)&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Class Hierarchy===&lt;br /&gt;
The Assignment class has many questionnaires throught the AssignmentQuestionnairs class. The Questionnaire class inherits from ActiveRecord::Base and has 8 fields plus primary key and date entries. The fields are:&lt;br /&gt;
* name: The name of the questionnaire row&lt;br /&gt;
* instructor_id: The instuctor key linked to the row&lt;br /&gt;
* private: True if private questionnaire&lt;br /&gt;
* min_question_score&lt;br /&gt;
* max_question_score&lt;br /&gt;
* type: field showing subclass&lt;br /&gt;
* display_type&lt;br /&gt;
* instruction_loc: stores URL for questionnaire instruction&lt;br /&gt;
&lt;br /&gt;
The Questionnaire class has 11 sub-classes. They are:&lt;br /&gt;
* Rubric&lt;br /&gt;
* CourseEvaluationQuestionnaire&lt;br /&gt;
* SurveyQuestionnaire&lt;br /&gt;
* BookmarkRatingQuestionnaire&lt;br /&gt;
* AuthorFeedbackQuestionnaire&lt;br /&gt;
* QuizQuestionnaire&lt;br /&gt;
* GlobalSurveyQuestionnaire&lt;br /&gt;
* Metasurvey&lt;br /&gt;
* ReviewQuestionnaire&lt;br /&gt;
* MetareviewQuestionnaire&lt;br /&gt;
* TeammateReviewQuestionnaire&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Functional_tests_for_assignment_creation_function&amp;diff=101371</id>
		<title>CSC/ECE 517 Spring 2016/Functional tests for assignment creation function</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Functional_tests_for_assignment_creation_function&amp;diff=101371"/>
		<updated>2016-03-26T06:29:33Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Functional tests for assignment creation function=&lt;br /&gt;
This page outlines the use tests for assignment creation using the Expertiza system&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Structural Overview===&lt;br /&gt;
Assignment creation in Expertiza provides a large number of options for users. Features come at the cost of complexity; this project is focused on creating testing methods to ensure that user interaction with the assignment interface remains stable and reliable.&lt;br /&gt;
&lt;br /&gt;
Assignment creation is available from the Manage -&amp;gt; Assignments drop down on the expertiza site. Once an assignment is created it has 5 tabs for form entry. The remainder of this document will cover testing for each tab in more detail, the tabs are:&lt;br /&gt;
* General&lt;br /&gt;
* Topics&lt;br /&gt;
* Rubrics&lt;br /&gt;
* Review Strategy&lt;br /&gt;
&lt;br /&gt;
Check the panxing01/expertiza repository for the current development files. Currently all tests are run in two files:&lt;br /&gt;
* https://github.com/panxing01/expertiza/blob/master/spec/features/assignment_create_spec.rb&lt;br /&gt;
* https://github.com/panxing01/expertiza/blob/master/spec/features/assignment_interface_spec.rb&lt;br /&gt;
&lt;br /&gt;
===Setup===&lt;br /&gt;
To setup functionality testing of assignment creation feature we did the following steps:&lt;br /&gt;
*Created RSpec file in /spec/features/ folder of [https://github.com/expertiza/expertiza Expertiza]&lt;br /&gt;
* Wrote functional tests using Capybara&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
In this section, the functional test includes assignment name, course, submission directory, description URL, &amp;quot;Has team?&amp;quot;, &amp;quot;Has quiz?&amp;quot; and &amp;quot;Calibrated peer-review for training&amp;quot;.&lt;br /&gt;
*assignment name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment name&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Assignment name&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.where(name: &amp;quot;assignment for test&amp;quot;)).to exist&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*course&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can select course&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      select('5', :from =&amp;gt; 'assignment_form_assignment_course_id')&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*submission directory&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment Submission directory&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 2'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Submission directory&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Submission directory:&amp;quot;, with: 'Submission directory for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).directory_path).to eq 'Submission directory for test'&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*description URL&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment Description URL&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 3'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Description URL&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Description URL:&amp;quot;, with: 'Description URL for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).spec_location).to eq 'Description URL for test'&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Has team?&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can Has teams and set team number&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 5'&lt;br /&gt;
      find('#team_assignment').set(true)&lt;br /&gt;
      expect(page).to have_content &amp;quot;Maximum number of members per team&amp;quot;&lt;br /&gt;
      expect(page).to have_content &amp;quot;Show teammate reviews&amp;quot;&lt;br /&gt;
      fill_in 'assignment_form_assignment_max_team_size', with: 4&lt;br /&gt;
      find('#assignment_form_assignment_show_teammate_reviews').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).show_teammate_reviews).to eq true&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Has quiz?&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can save the number of quiz questions&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: '11'&lt;br /&gt;
      select('5', :from =&amp;gt; 'assignment_form_assignment_course_id')&lt;br /&gt;
      find('#assignment_form_assignment_require_quiz').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      visit '/assignments/2/edit'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Number of Quiz questions&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Calibrated peer-review for training&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set Calibrated peer-view for training&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 4'&lt;br /&gt;
      find('#assignment_form_assignment_is_calibrated').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).is_calibrated).to eq true&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Topics===&lt;br /&gt;
In this section, functionality of &amp;quot;Edit topics&amp;quot; is thoroughly tested. Below are some of the code snippets of this testing module:&lt;br /&gt;
*Edit topics content&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;is able to see edit topics content correctly&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit 'assignments/1/edit#tab-2'&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Allow topic suggestions from students?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Enable bidding for topics?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Enable authors to review others working on same topic?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Allow reviewer to choose which topic to review?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Allow participants to create bookmarks? &amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Hide all teams&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;New topic&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Import Topics&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Back&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Save&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Show/hide teams&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  it &amp;quot;is able to show/hide teams&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit 'assignments/1/edit#tab-2'&lt;br /&gt;
&lt;br /&gt;
      click_link('Hide all teams')&lt;br /&gt;
&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Show all teams&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
      click_link(&amp;quot;Show all teams&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Hide all teams&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Rubrics===&lt;br /&gt;
Rubrics are arranged into 3 rows of data named &amp;quot;Review&amp;quot;, &amp;quot;Author Feedback&amp;quot;, and &amp;quot;Teammate Review&amp;quot;. Each row is handled under separate descriptions in order to allow quick and comprehensive testing for the seperate functions.&lt;br /&gt;
Each row updates using a subclass of the Questionnaire class for dropdown values. Classes used are the ReviewQuestionnaire, AuthorFeedbackQuestionnaire, and the TeammateReviewQuestionnaire respectively. The Active Record hierarchy is:&lt;br /&gt;
&lt;br /&gt;
Testing required creation of the three questionnaire subclasses in order to populate the dropdowns. Basic code layout for testing each value change:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  describe &amp;quot;Edit [subclass] rubric&amp;quot; do&lt;br /&gt;
    it &amp;quot;should update [component]&amp;quot;, js: true do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/1/edit'&lt;br /&gt;
      find_link('Rubrics').click&lt;br /&gt;
      within(&amp;quot;[table row identifier]&amp;quot;) do&lt;br /&gt;
        select &amp;quot;[subclass instance name value]&amp;quot;, :from =&amp;gt; '[form identifier]'&lt;br /&gt;
      end&lt;br /&gt;
      click_button 'Save'&lt;br /&gt;
      expect([questionnaireinstance]).to have_attributes([attrib updated] =&amp;gt; [new value])&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Review Strategy===&lt;br /&gt;
In this module we have tested the functionality of the &amp;quot;Teammate Review&amp;quot; module. Some of the tests are given below:&lt;br /&gt;
*Teammate Review&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;should update questionnaire&amp;quot;, js: true do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/1/edit'&lt;br /&gt;
      find_link('Rubrics').click&lt;br /&gt;
      within(&amp;quot;tr#questionnaire_table_TeammateReviewQuestionnaire&amp;quot;) do&lt;br /&gt;
        select &amp;quot;TeammateReviewQuestionnaire2&amp;quot;, :from =&amp;gt; 'assignment_form[assignment_questionnaire][][questionnaire_id]'&lt;br /&gt;
      end&lt;br /&gt;
      click_button 'Save'&lt;br /&gt;
      expect(get_questionnaire(&amp;quot;TeammateReviewQuestionnaire2&amp;quot;)).to exist&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Notification limit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;should update notification limit&amp;quot;, js: true do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/1/edit'&lt;br /&gt;
      find_link('Rubrics').click&lt;br /&gt;
      within(&amp;quot;tr#questionnaire_table_TeammateReviewQuestionnaire&amp;quot;) do&lt;br /&gt;
        select &amp;quot;TeammateReviewQuestionnaire2&amp;quot;, :from =&amp;gt; 'assignment_form[assignment_questionnaire][][questionnaire_id]'&lt;br /&gt;
        fill_in 'assignment_form[assignment_questionnaire][][notification_limit]', :with =&amp;gt; '50'&lt;br /&gt;
      end&lt;br /&gt;
      click_button 'Save'&lt;br /&gt;
      expect(get_questionnaire(&amp;quot;TeammateReviewQuestionnaire2&amp;quot;).first).to have_attributes(:notification_limit =&amp;gt; 50)&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Class Hierarchy===&lt;br /&gt;
The Assignment class has many questionnaires throught the AssignmentQuestionnairs class. The Questionnaire class inherits from ActiveRecord::Base and has 8 fields plus primary key and date entries. The fields are:&lt;br /&gt;
* name: The name of the questionnaire row&lt;br /&gt;
* instructor_id: The instuctor key linked to the row&lt;br /&gt;
* private: True if private questionnaire&lt;br /&gt;
* min_question_score&lt;br /&gt;
* max_question_score&lt;br /&gt;
* type: field showing subclass&lt;br /&gt;
* display_type&lt;br /&gt;
* instruction_loc: stores URL for questionnaire instruction&lt;br /&gt;
&lt;br /&gt;
The Questionnaire class has 11 sub-classes. They are:&lt;br /&gt;
* Rubric&lt;br /&gt;
* CourseEvaluationQuestionnaire&lt;br /&gt;
* SurveyQuestionnaire&lt;br /&gt;
* BookmarkRatingQuestionnaire&lt;br /&gt;
* AuthorFeedbackQuestionnaire&lt;br /&gt;
* QuizQuestionnaire&lt;br /&gt;
* GlobalSurveyQuestionnaire&lt;br /&gt;
* Metasurvey&lt;br /&gt;
* ReviewQuestionnaire&lt;br /&gt;
* MetareviewQuestionnaire&lt;br /&gt;
* TeammateReviewQuestionnaire&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Functional_tests_for_assignment_creation_function&amp;diff=101370</id>
		<title>CSC/ECE 517 Spring 2016/Functional tests for assignment creation function</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Functional_tests_for_assignment_creation_function&amp;diff=101370"/>
		<updated>2016-03-26T06:10:44Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Functional tests for assignment creation function=&lt;br /&gt;
This page outlines the use tests for assignment creation using the Expertiza system&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Structural Overview===&lt;br /&gt;
Assignment creation in Expertiza provides a large number of options for users. Features come at the cost of complexity; this project is focused on creating testing methods to ensure that user interaction with the assignment interface remains stable and reliable.&lt;br /&gt;
&lt;br /&gt;
Assignment creation is available from the Manage -&amp;gt; Assignments drop down on the expertiza site. Once an assignment is created it has 5 tabs for form entry. The remainder of this document will cover testing for each tab in more detail, the tabs are:&lt;br /&gt;
* General&lt;br /&gt;
* Topics&lt;br /&gt;
* Rubrics&lt;br /&gt;
* Review Strategy&lt;br /&gt;
&lt;br /&gt;
Check the panxing01/expertiza repository for the current development files. Currently all tests are run in two files:&lt;br /&gt;
* https://github.com/panxing01/expertiza/blob/master/spec/features/assignment_create_spec.rb&lt;br /&gt;
* https://github.com/panxing01/expertiza/blob/master/spec/features/assignment_interface_spec.rb&lt;br /&gt;
&lt;br /&gt;
===Setup===&lt;br /&gt;
To setup functionality testing of assignment creation feature we did the following steps:&lt;br /&gt;
*Created RSpec file in /spec/features/ folder of [https://github.com/expertiza/expertiza Expertiza]&lt;br /&gt;
* Wrote functional tests using Capybara&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
In this section, the functional test includes assignment name, course, submission directory, description URL, &amp;quot;Has team?&amp;quot;, &amp;quot;Has quiz?&amp;quot; and &amp;quot;Calibrated peer-review for training&amp;quot;.&lt;br /&gt;
*assignment name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment name&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Assignment name&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.where(name: &amp;quot;assignment for test&amp;quot;)).to exist&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*course&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can select course&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      select('5', :from =&amp;gt; 'assignment_form_assignment_course_id')&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*submission directory&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment Submission directory&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 2'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Submission directory&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Submission directory:&amp;quot;, with: 'Submission directory for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).directory_path).to eq 'Submission directory for test'&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*description URL&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment Description URL&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 3'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Description URL&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Description URL:&amp;quot;, with: 'Description URL for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).spec_location).to eq 'Description URL for test'&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Has team?&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can Has teams and set team number&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 5'&lt;br /&gt;
      find('#team_assignment').set(true)&lt;br /&gt;
      expect(page).to have_content &amp;quot;Maximum number of members per team&amp;quot;&lt;br /&gt;
      expect(page).to have_content &amp;quot;Show teammate reviews&amp;quot;&lt;br /&gt;
      fill_in 'assignment_form_assignment_max_team_size', with: 4&lt;br /&gt;
      find('#assignment_form_assignment_show_teammate_reviews').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).show_teammate_reviews).to eq true&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Has quiz?&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can save the number of quiz questions&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: '11'&lt;br /&gt;
      select('5', :from =&amp;gt; 'assignment_form_assignment_course_id')&lt;br /&gt;
      find('#assignment_form_assignment_require_quiz').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      visit '/assignments/2/edit'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Number of Quiz questions&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Calibrated peer-review for training&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set Calibrated peer-view for training&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 4'&lt;br /&gt;
      find('#assignment_form_assignment_is_calibrated').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).is_calibrated).to eq true&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Topics===&lt;br /&gt;
In this section, functionality of &amp;quot;Edit topics&amp;quot; is thoroughly tested. Below are some of the code snippets of this testing module:&lt;br /&gt;
*Edit topics content&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;is able to see edit topics content correctly&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit 'assignments/1/edit#tab-2'&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Allow topic suggestions from students?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Enable bidding for topics?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Enable authors to review others working on same topic?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Allow reviewer to choose which topic to review?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Allow participants to create bookmarks? &amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Hide all teams&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;New topic&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Import Topics&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Back&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Save&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Show/hide teams&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  it &amp;quot;is able to show/hide teams&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit 'assignments/1/edit#tab-2'&lt;br /&gt;
&lt;br /&gt;
      click_link('Hide all teams')&lt;br /&gt;
&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Show all teams&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
      click_link(&amp;quot;Show all teams&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Hide all teams&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Rubrics===&lt;br /&gt;
Rubrics are arranged into 3 rows of data named &amp;quot;Review&amp;quot;, &amp;quot;Author Feedback&amp;quot;, and &amp;quot;Teammate Review&amp;quot;. Each row is handled under separate descriptions in order to allow quick and comprehensive testing for the seperate functions.&lt;br /&gt;
Each row updates a subclass of the Questionnaire class. The Active Record hierarchy is:&lt;br /&gt;
* Questionnaire&lt;br /&gt;
** ReviewQuestionnaire&lt;br /&gt;
** AuthorFeedbackQuestionnaire&lt;br /&gt;
** TeammateReviewQuestionaire&lt;br /&gt;
&lt;br /&gt;
The Questionnaire class is connected to the Assignment class via the AssignmentQuestionnaire class. &lt;br /&gt;
&lt;br /&gt;
===Review Strategy===&lt;br /&gt;
In this module we have tested the functionality of the &amp;quot;Teammate Review&amp;quot; module. Some of the tests are given below:&lt;br /&gt;
*Teammate Review&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;should update questionnaire&amp;quot;, js: true do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/1/edit'&lt;br /&gt;
      find_link('Rubrics').click&lt;br /&gt;
      within(&amp;quot;tr#questionnaire_table_TeammateReviewQuestionnaire&amp;quot;) do&lt;br /&gt;
        select &amp;quot;TeammateReviewQuestionnaire2&amp;quot;, :from =&amp;gt; 'assignment_form[assignment_questionnaire][][questionnaire_id]'&lt;br /&gt;
      end&lt;br /&gt;
      click_button 'Save'&lt;br /&gt;
      expect(get_questionnaire(&amp;quot;TeammateReviewQuestionnaire2&amp;quot;)).to exist&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Notification limit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;should update notification limit&amp;quot;, js: true do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/1/edit'&lt;br /&gt;
      find_link('Rubrics').click&lt;br /&gt;
      within(&amp;quot;tr#questionnaire_table_TeammateReviewQuestionnaire&amp;quot;) do&lt;br /&gt;
        select &amp;quot;TeammateReviewQuestionnaire2&amp;quot;, :from =&amp;gt; 'assignment_form[assignment_questionnaire][][questionnaire_id]'&lt;br /&gt;
        fill_in 'assignment_form[assignment_questionnaire][][notification_limit]', :with =&amp;gt; '50'&lt;br /&gt;
      end&lt;br /&gt;
      click_button 'Save'&lt;br /&gt;
      expect(get_questionnaire(&amp;quot;TeammateReviewQuestionnaire2&amp;quot;).first).to have_attributes(:notification_limit =&amp;gt; 50)&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Class Hierarchy===&lt;br /&gt;
The Questionnaire class inherits from ActiveRecord::Base and has 8 fields plus primary key and date entries. The fields are:&lt;br /&gt;
* name: The name of the questionnaire row&lt;br /&gt;
* instructor_id: The instuctor key linked to the row&lt;br /&gt;
* private: True if private questionnaire&lt;br /&gt;
* min_question_score&lt;br /&gt;
* max_question_score&lt;br /&gt;
* type: field showing subclass&lt;br /&gt;
* display_type&lt;br /&gt;
* instruction_loc: stores URL for questionnaire instruction&lt;br /&gt;
&lt;br /&gt;
The Questionnaire class has 11 sub-classes. They are:&lt;br /&gt;
* Rubric&lt;br /&gt;
* CourseEvaluationQuestionnaire&lt;br /&gt;
* SurveyQuestionnaire&lt;br /&gt;
* BookmarkRatingQuestionnaire&lt;br /&gt;
* AuthorFeedbackQuestionnaire&lt;br /&gt;
* QuizQuestionnaire&lt;br /&gt;
* GlobalSurveyQuestionnaire&lt;br /&gt;
* Metasurvey&lt;br /&gt;
* ReviewQuestionnaire&lt;br /&gt;
* MetareviewQuestionnaire&lt;br /&gt;
* TeammateReviewQuestionnaire&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Functional_tests_for_assignment_creation_function&amp;diff=101369</id>
		<title>CSC/ECE 517 Spring 2016/Functional tests for assignment creation function</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Functional_tests_for_assignment_creation_function&amp;diff=101369"/>
		<updated>2016-03-26T06:09:44Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Functional tests for assignment creation function=&lt;br /&gt;
This page outlines the use tests for assignment creation using the Expertiza system&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Structural Overview===&lt;br /&gt;
Assignment creation in Expertiza provides a large number of options for users. Features come at the cost of complexity; this project is focused on creating testing methods to ensure that user interaction with the assignment interface remains stable and reliable.&lt;br /&gt;
&lt;br /&gt;
Assignment creation is available from the Manage -&amp;gt; Assignments drop down on the expertiza site. Once an assignment is created it has 5 tabs for form entry. The remainder of this document will cover testing for each tab in more detail, the tabs are:&lt;br /&gt;
* General&lt;br /&gt;
* Topics&lt;br /&gt;
* Rubrics&lt;br /&gt;
* Review Strategy&lt;br /&gt;
&lt;br /&gt;
Check the panxing01/expertiza repository for the current development files. Currently all tests are run in two files:&lt;br /&gt;
* https://github.com/panxing01/expertiza/blob/master/spec/features/assignment_create_spec.rb&lt;br /&gt;
* https://github.com/panxing01/expertiza/blob/master/spec/features/assignment_interface_spec.rb&lt;br /&gt;
&lt;br /&gt;
===Setup===&lt;br /&gt;
To setup functionality testing of assignment creation feature we did the following steps:&lt;br /&gt;
*Created RSpec file in /spec/features/ folder of [https://github.com/expertiza/expertiza Expertiza]&lt;br /&gt;
* Wrote functional tests using Capybara&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
In this section, the functional test includes assignment name, course, submission directory, description URL, &amp;quot;Has team?&amp;quot;, &amp;quot;Has quiz?&amp;quot; and &amp;quot;Calibrated peer-review for training&amp;quot;.&lt;br /&gt;
*assignment name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment name&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Assignment name&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.where(name: &amp;quot;assignment for test&amp;quot;)).to exist&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*course&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can select course&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      select('5', :from =&amp;gt; 'assignment_form_assignment_course_id')&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*submission directory&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment Submission directory&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 2'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Submission directory&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Submission directory:&amp;quot;, with: 'Submission directory for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).directory_path).to eq 'Submission directory for test'&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*description URL&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment Description URL&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 3'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Description URL&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Description URL:&amp;quot;, with: 'Description URL for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).spec_location).to eq 'Description URL for test'&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Has team?&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can Has teams and set team number&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 5'&lt;br /&gt;
      find('#team_assignment').set(true)&lt;br /&gt;
      expect(page).to have_content &amp;quot;Maximum number of members per team&amp;quot;&lt;br /&gt;
      expect(page).to have_content &amp;quot;Show teammate reviews&amp;quot;&lt;br /&gt;
      fill_in 'assignment_form_assignment_max_team_size', with: 4&lt;br /&gt;
      find('#assignment_form_assignment_show_teammate_reviews').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).show_teammate_reviews).to eq true&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Has quiz?&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can save the number of quiz questions&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: '11'&lt;br /&gt;
      select('5', :from =&amp;gt; 'assignment_form_assignment_course_id')&lt;br /&gt;
      find('#assignment_form_assignment_require_quiz').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      visit '/assignments/2/edit'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Number of Quiz questions&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Calibrated peer-review for training&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set Calibrated peer-view for training&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 4'&lt;br /&gt;
      find('#assignment_form_assignment_is_calibrated').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).is_calibrated).to eq true&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Topics===&lt;br /&gt;
In this section, functionality of &amp;quot;Edit topics&amp;quot; is thoroughly tested. Below are some of the code snippets of this testing module:&lt;br /&gt;
*Edit topics content&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;is able to see edit topics content correctly&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit 'assignments/1/edit#tab-2'&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Allow topic suggestions from students?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Enable bidding for topics?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Enable authors to review others working on same topic?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Allow reviewer to choose which topic to review?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Allow participants to create bookmarks? &amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Hide all teams&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;New topic&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Import Topics&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Back&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Save&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Show/hide teams&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  it &amp;quot;is able to show/hide teams&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit 'assignments/1/edit#tab-2'&lt;br /&gt;
&lt;br /&gt;
      click_link('Hide all teams')&lt;br /&gt;
&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Show all teams&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
      click_link(&amp;quot;Show all teams&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Hide all teams&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Rubrics===&lt;br /&gt;
====Class Hierarchy====&lt;br /&gt;
The Questionnaire class inherits from ActiveRecord::Base and has 8 fields plus primary key and date entries. The fields are:&lt;br /&gt;
* name: The name of the questionnaire row&lt;br /&gt;
* instructor_id: The instuctor key linked to the row&lt;br /&gt;
* private: True if private questionnaire&lt;br /&gt;
* min_question_score&lt;br /&gt;
* max_question_score&lt;br /&gt;
* type: field showing subclass&lt;br /&gt;
* display_type&lt;br /&gt;
* instruction_loc: stores URL for questionnaire instruction&lt;br /&gt;
&lt;br /&gt;
The Questionnaire class has 11 sub-classes. They are:&lt;br /&gt;
* Rubric&lt;br /&gt;
* CourseEvaluationQuestionnaire&lt;br /&gt;
* SurveyQuestionnaire&lt;br /&gt;
* BookmarkRatingQuestionnaire&lt;br /&gt;
* AuthorFeedbackQuestionnaire&lt;br /&gt;
* QuizQuestionnaire&lt;br /&gt;
* GlobalSurveyQuestionnaire&lt;br /&gt;
* Metasurvey&lt;br /&gt;
* ReviewQuestionnaire&lt;br /&gt;
* MetareviewQuestionnaire&lt;br /&gt;
* TeammateReviewQuestionnaire&lt;br /&gt;
&lt;br /&gt;
Rubrics are arranged into 3 rows of data named &amp;quot;Review&amp;quot;, &amp;quot;Author Feedback&amp;quot;, and &amp;quot;Teammate Review&amp;quot;. Each row is handled under separate descriptions in order to allow quick and comprehensive testing for the seperate functions.&lt;br /&gt;
Each row updates a subclass of the Questionnaire class. The Active Record hierarchy is:&lt;br /&gt;
* Questionnaire&lt;br /&gt;
** ReviewQuestionnaire&lt;br /&gt;
** AuthorFeedbackQuestionnaire&lt;br /&gt;
** TeammateReviewQuestionaire&lt;br /&gt;
&lt;br /&gt;
The Questionnaire class is connected to the Assignment class via the AssignmentQuestionnaire class. &lt;br /&gt;
&lt;br /&gt;
===Review Strategy===&lt;br /&gt;
In this module we have tested the functionality of the &amp;quot;Teammate Review&amp;quot; module. Some of the tests are given below:&lt;br /&gt;
*Teammate Review&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;should update questionnaire&amp;quot;, js: true do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/1/edit'&lt;br /&gt;
      find_link('Rubrics').click&lt;br /&gt;
      within(&amp;quot;tr#questionnaire_table_TeammateReviewQuestionnaire&amp;quot;) do&lt;br /&gt;
        select &amp;quot;TeammateReviewQuestionnaire2&amp;quot;, :from =&amp;gt; 'assignment_form[assignment_questionnaire][][questionnaire_id]'&lt;br /&gt;
      end&lt;br /&gt;
      click_button 'Save'&lt;br /&gt;
      expect(get_questionnaire(&amp;quot;TeammateReviewQuestionnaire2&amp;quot;)).to exist&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Notification limit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;should update notification limit&amp;quot;, js: true do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/1/edit'&lt;br /&gt;
      find_link('Rubrics').click&lt;br /&gt;
      within(&amp;quot;tr#questionnaire_table_TeammateReviewQuestionnaire&amp;quot;) do&lt;br /&gt;
        select &amp;quot;TeammateReviewQuestionnaire2&amp;quot;, :from =&amp;gt; 'assignment_form[assignment_questionnaire][][questionnaire_id]'&lt;br /&gt;
        fill_in 'assignment_form[assignment_questionnaire][][notification_limit]', :with =&amp;gt; '50'&lt;br /&gt;
      end&lt;br /&gt;
      click_button 'Save'&lt;br /&gt;
      expect(get_questionnaire(&amp;quot;TeammateReviewQuestionnaire2&amp;quot;).first).to have_attributes(:notification_limit =&amp;gt; 50)&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Functional_tests_for_assignment_creation_function&amp;diff=101368</id>
		<title>CSC/ECE 517 Spring 2016/Functional tests for assignment creation function</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Functional_tests_for_assignment_creation_function&amp;diff=101368"/>
		<updated>2016-03-25T16:32:49Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Functional tests for assignment creation function=&lt;br /&gt;
This page outlines the use tests for assignment creation using the Expertiza system&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Structural Overview===&lt;br /&gt;
Assignment creation in Expertiza provides a large number of options for users. Features come at the cost of complexity; this project is focused on creating testing methods to ensure that user interaction with the assignment interface remains stable and reliable.&lt;br /&gt;
&lt;br /&gt;
Assignment creation is available from the Manage -&amp;gt; Assignments drop down on the expertiza site. Once an assignment is created it has 5 tabs for form entry. The remainder of this document will cover testing for each tab in more detail, the tabs are:&lt;br /&gt;
* General&lt;br /&gt;
* Topics&lt;br /&gt;
* Rubrics&lt;br /&gt;
* Review Strategy&lt;br /&gt;
&lt;br /&gt;
Check the panxing01/expertiza repository for the current development files. Currently all tests are run in two files:&lt;br /&gt;
* https://github.com/panxing01/expertiza/blob/master/spec/features/assignment_create_spec.rb&lt;br /&gt;
* https://github.com/panxing01/expertiza/blob/master/spec/features/assignment_interface_spec.rb&lt;br /&gt;
&lt;br /&gt;
===Setup===&lt;br /&gt;
To setup functionality testing of assignment creation feature we did the following steps:&lt;br /&gt;
*Created RSpec file in /spec/features/ folder of [https://github.com/expertiza/expertiza Expertiza]&lt;br /&gt;
* Wrote functional tests using Capybara&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
In this section, the functional test includes assignment name, course, submission directory, description URL, &amp;quot;Has team?&amp;quot;, &amp;quot;Has quiz?&amp;quot; and &amp;quot;Calibrated peer-review for training&amp;quot;.&lt;br /&gt;
*assignment name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment name&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Assignment name&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.where(name: &amp;quot;assignment for test&amp;quot;)).to exist&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*course&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can select course&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      select('5', :from =&amp;gt; 'assignment_form_assignment_course_id')&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*submission directory&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment Submission directory&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 2'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Submission directory&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Submission directory:&amp;quot;, with: 'Submission directory for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).directory_path).to eq 'Submission directory for test'&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*description URL&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment Description URL&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 3'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Description URL&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Description URL:&amp;quot;, with: 'Description URL for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).spec_location).to eq 'Description URL for test'&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Has team?&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can Has teams and set team number&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 5'&lt;br /&gt;
      find('#team_assignment').set(true)&lt;br /&gt;
      expect(page).to have_content &amp;quot;Maximum number of members per team&amp;quot;&lt;br /&gt;
      expect(page).to have_content &amp;quot;Show teammate reviews&amp;quot;&lt;br /&gt;
      fill_in 'assignment_form_assignment_max_team_size', with: 4&lt;br /&gt;
      find('#assignment_form_assignment_show_teammate_reviews').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).show_teammate_reviews).to eq true&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Has quiz?&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can save the number of quiz questions&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: '11'&lt;br /&gt;
      select('5', :from =&amp;gt; 'assignment_form_assignment_course_id')&lt;br /&gt;
      find('#assignment_form_assignment_require_quiz').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      visit '/assignments/2/edit'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Number of Quiz questions&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Calibrated peer-review for training&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set Calibrated peer-view for training&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 4'&lt;br /&gt;
      find('#assignment_form_assignment_is_calibrated').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).is_calibrated).to eq true&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Topics===&lt;br /&gt;
In this section, functionality of &amp;quot;Edit topics&amp;quot; is thoroughly tested. Below are some of the code snippets of this testing module:&lt;br /&gt;
*Edit topics content&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;is able to see edit topics content correctly&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit 'assignments/1/edit#tab-2'&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Allow topic suggestions from students?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Enable bidding for topics?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Enable authors to review others working on same topic?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Allow reviewer to choose which topic to review?&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Allow participants to create bookmarks? &amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Hide all teams&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;New topic&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Import Topics&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Back&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Save&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Show/hide teams&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  it &amp;quot;is able to show/hide teams&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit 'assignments/1/edit#tab-2'&lt;br /&gt;
&lt;br /&gt;
      click_link('Hide all teams')&lt;br /&gt;
&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Show all teams&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
      click_link(&amp;quot;Show all teams&amp;quot;)&lt;br /&gt;
      expect(page).to have_content(&amp;quot;Hide all teams&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Rubrics===&lt;br /&gt;
Rubrics are arranged into 3 rows of data named &amp;quot;Review&amp;quot;, &amp;quot;Author Feedback&amp;quot;, and &amp;quot;Teammate Review&amp;quot;. Each row is handled under separate descriptions in order to allow quick and comprehensive testing for the seperate functions.&lt;br /&gt;
Each row updates a subclass of the Questionnaire class. The Active Record hierarchy is:&lt;br /&gt;
* Questionnaire&lt;br /&gt;
** ReviewQuestionnaire&lt;br /&gt;
** AuthorFeedbackQuestionnaire&lt;br /&gt;
** TeammateReviewQuestionaire&lt;br /&gt;
&lt;br /&gt;
The Questionnaire class is connected to the Assignment class via the AssignmentQuestionnaire class. &lt;br /&gt;
&lt;br /&gt;
===Review Strategy===&lt;br /&gt;
In this module we have tested the functionality of the &amp;quot;Teammate Review&amp;quot; module. Some of the tests are given below:&lt;br /&gt;
*Teammate Review&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;should update questionnaire&amp;quot;, js: true do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/1/edit'&lt;br /&gt;
      find_link('Rubrics').click&lt;br /&gt;
      within(&amp;quot;tr#questionnaire_table_TeammateReviewQuestionnaire&amp;quot;) do&lt;br /&gt;
        select &amp;quot;TeammateReviewQuestionnaire2&amp;quot;, :from =&amp;gt; 'assignment_form[assignment_questionnaire][][questionnaire_id]'&lt;br /&gt;
      end&lt;br /&gt;
      click_button 'Save'&lt;br /&gt;
      expect(get_questionnaire(&amp;quot;TeammateReviewQuestionnaire2&amp;quot;)).to exist&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Notification limit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;should update notification limit&amp;quot;, js: true do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/1/edit'&lt;br /&gt;
      find_link('Rubrics').click&lt;br /&gt;
      within(&amp;quot;tr#questionnaire_table_TeammateReviewQuestionnaire&amp;quot;) do&lt;br /&gt;
        select &amp;quot;TeammateReviewQuestionnaire2&amp;quot;, :from =&amp;gt; 'assignment_form[assignment_questionnaire][][questionnaire_id]'&lt;br /&gt;
        fill_in 'assignment_form[assignment_questionnaire][][notification_limit]', :with =&amp;gt; '50'&lt;br /&gt;
      end&lt;br /&gt;
      click_button 'Save'&lt;br /&gt;
      expect(get_questionnaire(&amp;quot;TeammateReviewQuestionnaire2&amp;quot;).first).to have_attributes(:notification_limit =&amp;gt; 50)&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=User:Xpan&amp;diff=101339</id>
		<title>User:Xpan</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=User:Xpan&amp;diff=101339"/>
		<updated>2016-03-24T07:37:32Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: small updates, needs a lot more work&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Functional tests for assignment creation function=&lt;br /&gt;
This page outlines the use tests for assignment creation using the Expertiza system&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Structural Overview===&lt;br /&gt;
Assignment creation in Expertiza provides a large number of options for users. Features come at the cost of complexity; this project is focused on creating testing methods to ensure that user interaction with the assignment interface remains stable and reliable.&lt;br /&gt;
&lt;br /&gt;
Assignment creation is available from the Manage -&amp;gt; Assignments drop down on the expertiza site. Once an assignment is created it has 5 tabs for form entry. The remainder of this document will cover testing for each tab in more detail, the tabs are:&lt;br /&gt;
* General&lt;br /&gt;
* Topics&lt;br /&gt;
* Rubrics&lt;br /&gt;
* Review Strategy&lt;br /&gt;
* Due Dates &lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
In this section, the functional test includes assignment name, course, submission directory, description URL, &amp;quot;Has team?&amp;quot;, &amp;quot;Has quiz?&amp;quot; and &amp;quot;Calibrated peer-review for training&amp;quot;.&lt;br /&gt;
*assignment name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment name&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Assignment name&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.where(name: &amp;quot;assignment for test&amp;quot;)).to exist&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*course&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can select course&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      select('5', :from =&amp;gt; 'assignment_form_assignment_course_id')&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*submission directory&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment Submission directory&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 2'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Submission directory&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Submission directory:&amp;quot;, with: 'Submission directory for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).directory_path).to eq 'Submission directory for test'&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*description URL&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment Description URL&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 3'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Description URL&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Description URL:&amp;quot;, with: 'Description URL for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).spec_location).to eq 'Description URL for test'&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Has team?&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can Has teams and set team number&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 5'&lt;br /&gt;
      find('#team_assignment').set(true)&lt;br /&gt;
      expect(page).to have_content &amp;quot;Maximum number of members per team&amp;quot;&lt;br /&gt;
      expect(page).to have_content &amp;quot;Show teammate reviews&amp;quot;&lt;br /&gt;
      fill_in 'assignment_form_assignment_max_team_size', with: 4&lt;br /&gt;
      find('#assignment_form_assignment_show_teammate_reviews').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).show_teammate_reviews).to eq true&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Has quiz?&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can save the number of quiz questions&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: '11'&lt;br /&gt;
      select('5', :from =&amp;gt; 'assignment_form_assignment_course_id')&lt;br /&gt;
      find('#assignment_form_assignment_require_quiz').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      visit '/assignments/2/edit'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Number of Quiz questions&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Calibrated peer-review for training&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set Calibrated peer-view for training&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 4'&lt;br /&gt;
      find('#assignment_form_assignment_is_calibrated').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).is_calibrated).to eq true&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Topics===&lt;br /&gt;
&lt;br /&gt;
===Rubrics===&lt;br /&gt;
Rubrics are arranged into 3 rows of data named &amp;quot;Review&amp;quot;, &amp;quot;Author Feedback&amp;quot;, and &amp;quot;Teammate Review&amp;quot;. Each row is handled under separate descriptions in order to allow quick and comprehensive testing for the seperate functions.&lt;br /&gt;
Each row updates a subclass of the Questionnaire class. The Active Record hierarchy is:&lt;br /&gt;
* Questionnaire&lt;br /&gt;
** ReviewQuestionnaire&lt;br /&gt;
** AuthorFeedbackQuestionnaire&lt;br /&gt;
** TeammateReviewQuestionaire&lt;br /&gt;
&lt;br /&gt;
The Questionnaire class is connected to the Assignment class via the AssignmentQuestionnaire class. &lt;br /&gt;
&lt;br /&gt;
===Due dates===&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=User:Xpan&amp;diff=101338</id>
		<title>User:Xpan</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=User:Xpan&amp;diff=101338"/>
		<updated>2016-03-24T07:23:10Z</updated>

		<summary type="html">&lt;p&gt;Bghagar: Formatting, added intro&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Functional tests for assignment creation function=&lt;br /&gt;
This page outlines the use tests for assignment creation using the Expertiza system&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Structural Overview===&lt;br /&gt;
Assignment creation in Expertiza provides a large number of options for users. Features come at the cost of complexity; this project is focused on creating testing methods to ensure that user interaction with the assignment interface remains stable and reliable.&lt;br /&gt;
&lt;br /&gt;
Assignment creation is available from the Manage -&amp;gt; Assignments drop down on the expertiza site. Once an assignment is created it has 5 tabs for form entry. The remainder of this document will cover testing for each tab in more detail, the tabs are:&lt;br /&gt;
* General&lt;br /&gt;
* Topics&lt;br /&gt;
* Rubrics&lt;br /&gt;
* Review Strategy&lt;br /&gt;
* Due Dates &lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
In this section, the functional test includes assignment name, course, submission directory, description URL, &amp;quot;Has team?&amp;quot;, &amp;quot;Has quiz?&amp;quot; and &amp;quot;Calibrated peer-review for training&amp;quot;.&lt;br /&gt;
*assignment name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment name&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Assignment name&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.where(name: &amp;quot;assignment for test&amp;quot;)).to exist&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*course&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can select course&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      select('5', :from =&amp;gt; 'assignment_form_assignment_course_id')&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*submission directory&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment Submission directory&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 2'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Submission directory&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Submission directory:&amp;quot;, with: 'Submission directory for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).directory_path).to eq 'Submission directory for test'&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*description URL&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set assginment Description URL&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 3'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Description URL&amp;quot;&lt;br /&gt;
      fill_in &amp;quot;Description URL:&amp;quot;, with: 'Description URL for test'&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).spec_location).to eq 'Description URL for test'&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Has team?&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can Has teams and set team number&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 5'&lt;br /&gt;
      find('#team_assignment').set(true)&lt;br /&gt;
      expect(page).to have_content &amp;quot;Maximum number of members per team&amp;quot;&lt;br /&gt;
      expect(page).to have_content &amp;quot;Show teammate reviews&amp;quot;&lt;br /&gt;
      fill_in 'assignment_form_assignment_max_team_size', with: 4&lt;br /&gt;
      find('#assignment_form_assignment_show_teammate_reviews').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).show_teammate_reviews).to eq true&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Has quiz?&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can save the number of quiz questions&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: '11'&lt;br /&gt;
      select('5', :from =&amp;gt; 'assignment_form_assignment_course_id')&lt;br /&gt;
      find('#assignment_form_assignment_require_quiz').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      visit '/assignments/2/edit'&lt;br /&gt;
      expect(page).to have_content &amp;quot;Number of Quiz questions&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&amp;quot;Calibrated peer-review for training&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    it &amp;quot;can set Calibrated peer-view for training&amp;quot; do&lt;br /&gt;
      login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
      visit '/assignments/new?private=0'&lt;br /&gt;
      fill_in &amp;quot;Assignment name:&amp;quot;, with: 'assignment for test 4'&lt;br /&gt;
      find('#assignment_form_assignment_is_calibrated').set(true)&lt;br /&gt;
      click_button &amp;quot;Create&amp;quot;&lt;br /&gt;
      expect(Assignment.find(2).is_calibrated).to eq true&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===&amp;quot;Topics&amp;quot; tab function===&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Rubrics&amp;quot; tab function===&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Due dates&amp;quot; tab function===&lt;/div&gt;</summary>
		<author><name>Bghagar</name></author>
	</entry>
</feed>