<?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=Kpjani</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=Kpjani"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Kpjani"/>
	<updated>2026-09-30T19:52:10Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Diagram_E1625.png&amp;diff=102316</id>
		<title>File:Diagram E1625.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Diagram_E1625.png&amp;diff=102316"/>
		<updated>2016-04-26T02:41:12Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kpjani</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=102315</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=102315"/>
		<updated>2016-04-26T02:35:36Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Description of confidence rating and our system */&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;
&lt;br /&gt;
&lt;br /&gt;
====Description of confidence rating and our system====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Diagram_E1625.png]]&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;
A Sample of the webpage displaying reputations with Lauw's algorithm is given below.&lt;br /&gt;
&lt;br /&gt;
[[File:sample.png]]&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
grades/_review_table.html.erb&lt;br /&gt;
&lt;br /&gt;
assignment_form.rb, edit/_general.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;
====RSpec Files====&lt;br /&gt;
&lt;br /&gt;
reputation_web_service_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_creation_spec.rb&lt;br /&gt;
&lt;br /&gt;
grades_spec.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;
===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.Our priority is to add functional tests associated with reputation for instructor, assignment and student controller. For example, One test workflow would be&lt;br /&gt;
&lt;br /&gt;
Testcase 1&lt;br /&gt;
&lt;br /&gt;
1) Instructor selects type of reputation algorithm&lt;br /&gt;
&lt;br /&gt;
2) Chooses the assignment and the round for which the reputation needs to calculated&lt;br /&gt;
&lt;br /&gt;
3) Receives the json response&lt;br /&gt;
&lt;br /&gt;
4) Check if the response is in the right format and the that the reputation for each student is stored in the database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Testcase 2&lt;br /&gt;
&lt;br /&gt;
1) Student logs in to Expertiza.&lt;br /&gt;
&lt;br /&gt;
2) Selects a particular assignment.&lt;br /&gt;
&lt;br /&gt;
3) Clicks on 'View My Scores'.&lt;br /&gt;
&lt;br /&gt;
4) Student should be able to see his/her reputation value along with the scores.&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>Kpjani</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=102314</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=102314"/>
		<updated>2016-04-26T02:35:20Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Description of confidence rating and our system */&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;
&lt;br /&gt;
&lt;br /&gt;
====Description of confidence rating and our system====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Diagram.png]]&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;
A Sample of the webpage displaying reputations with Lauw's algorithm is given below.&lt;br /&gt;
&lt;br /&gt;
[[File:sample.png]]&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
grades/_review_table.html.erb&lt;br /&gt;
&lt;br /&gt;
assignment_form.rb, edit/_general.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;
====RSpec Files====&lt;br /&gt;
&lt;br /&gt;
reputation_web_service_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_creation_spec.rb&lt;br /&gt;
&lt;br /&gt;
grades_spec.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;
===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.Our priority is to add functional tests associated with reputation for instructor, assignment and student controller. For example, One test workflow would be&lt;br /&gt;
&lt;br /&gt;
Testcase 1&lt;br /&gt;
&lt;br /&gt;
1) Instructor selects type of reputation algorithm&lt;br /&gt;
&lt;br /&gt;
2) Chooses the assignment and the round for which the reputation needs to calculated&lt;br /&gt;
&lt;br /&gt;
3) Receives the json response&lt;br /&gt;
&lt;br /&gt;
4) Check if the response is in the right format and the that the reputation for each student is stored in the database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Testcase 2&lt;br /&gt;
&lt;br /&gt;
1) Student logs in to Expertiza.&lt;br /&gt;
&lt;br /&gt;
2) Selects a particular assignment.&lt;br /&gt;
&lt;br /&gt;
3) Clicks on 'View My Scores'.&lt;br /&gt;
&lt;br /&gt;
4) Student should be able to see his/her reputation value along with the scores.&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>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:1.png&amp;diff=102313</id>
		<title>File:1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:1.png&amp;diff=102313"/>
		<updated>2016-04-26T02:34:05Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: uploaded a new version of &amp;amp;quot;File:1.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Distributed Version Control System&lt;/div&gt;</summary>
		<author><name>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Dia.png&amp;diff=102312</id>
		<title>File:Dia.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Dia.png&amp;diff=102312"/>
		<updated>2016-04-26T02:33:23Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kpjani</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=102311</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=102311"/>
		<updated>2016-04-26T02:32:40Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* The E1625 Project */&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;
&lt;br /&gt;
&lt;br /&gt;
====Description of confidence rating and our system====&lt;br /&gt;
&lt;br /&gt;
[[File:Dia.jpg]]&lt;br /&gt;
&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;
A Sample of the webpage displaying reputations with Lauw's algorithm is given below.&lt;br /&gt;
&lt;br /&gt;
[[File:sample.png]]&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
grades/_review_table.html.erb&lt;br /&gt;
&lt;br /&gt;
assignment_form.rb, edit/_general.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;
====RSpec Files====&lt;br /&gt;
&lt;br /&gt;
reputation_web_service_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_creation_spec.rb&lt;br /&gt;
&lt;br /&gt;
grades_spec.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;
===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.Our priority is to add functional tests associated with reputation for instructor, assignment and student controller. For example, One test workflow would be&lt;br /&gt;
&lt;br /&gt;
Testcase 1&lt;br /&gt;
&lt;br /&gt;
1) Instructor selects type of reputation algorithm&lt;br /&gt;
&lt;br /&gt;
2) Chooses the assignment and the round for which the reputation needs to calculated&lt;br /&gt;
&lt;br /&gt;
3) Receives the json response&lt;br /&gt;
&lt;br /&gt;
4) Check if the response is in the right format and the that the reputation for each student is stored in the database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Testcase 2&lt;br /&gt;
&lt;br /&gt;
1) Student logs in to Expertiza.&lt;br /&gt;
&lt;br /&gt;
2) Selects a particular assignment.&lt;br /&gt;
&lt;br /&gt;
3) Clicks on 'View My Scores'.&lt;br /&gt;
&lt;br /&gt;
4) Student should be able to see his/her reputation value along with the scores.&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>Kpjani</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=102310</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=102310"/>
		<updated>2016-04-26T02:31:50Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Description of confidence rating and our system */&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;
[[File:1.jpg]]&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;
A Sample of the webpage displaying reputations with Lauw's algorithm is given below.&lt;br /&gt;
&lt;br /&gt;
[[File:sample.png]]&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
grades/_review_table.html.erb&lt;br /&gt;
&lt;br /&gt;
assignment_form.rb, edit/_general.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;
====RSpec Files====&lt;br /&gt;
&lt;br /&gt;
reputation_web_service_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_creation_spec.rb&lt;br /&gt;
&lt;br /&gt;
grades_spec.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;
===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.Our priority is to add functional tests associated with reputation for instructor, assignment and student controller. For example, One test workflow would be&lt;br /&gt;
&lt;br /&gt;
Testcase 1&lt;br /&gt;
&lt;br /&gt;
1) Instructor selects type of reputation algorithm&lt;br /&gt;
&lt;br /&gt;
2) Chooses the assignment and the round for which the reputation needs to calculated&lt;br /&gt;
&lt;br /&gt;
3) Receives the json response&lt;br /&gt;
&lt;br /&gt;
4) Check if the response is in the right format and the that the reputation for each student is stored in the database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Testcase 2&lt;br /&gt;
&lt;br /&gt;
1) Student logs in to Expertiza.&lt;br /&gt;
&lt;br /&gt;
2) Selects a particular assignment.&lt;br /&gt;
&lt;br /&gt;
3) Clicks on 'View My Scores'.&lt;br /&gt;
&lt;br /&gt;
4) Student should be able to see his/her reputation value along with the scores.&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>Kpjani</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=102306</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=102306"/>
		<updated>2016-04-26T02:17:38Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Implementation */&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;
A Sample of the webpage displaying reputations with Lauw's algorithm is given below.&lt;br /&gt;
&lt;br /&gt;
[[File:sample.png]]&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
grades/_review_table.html.erb&lt;br /&gt;
&lt;br /&gt;
assignment_form.rb, edit/_general.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;
====RSpec Files====&lt;br /&gt;
&lt;br /&gt;
reputation_web_service_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_creation_spec.rb&lt;br /&gt;
&lt;br /&gt;
grades_spec.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;
===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.Our priority is to add functional tests associated with reputation for instructor, assignment and student controller. For example, One test workflow would be&lt;br /&gt;
&lt;br /&gt;
Testcase 1&lt;br /&gt;
&lt;br /&gt;
1) Instructor selects type of reputation algorithm&lt;br /&gt;
&lt;br /&gt;
2) Chooses the assignment and the round for which the reputation needs to calculated&lt;br /&gt;
&lt;br /&gt;
3) Receives the json response&lt;br /&gt;
&lt;br /&gt;
4) Check if the response is in the right format and the that the reputation for each student is stored in the database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Testcase 2&lt;br /&gt;
&lt;br /&gt;
1) Student logs in to Expertiza.&lt;br /&gt;
&lt;br /&gt;
2) Selects a particular assignment.&lt;br /&gt;
&lt;br /&gt;
3) Clicks on 'View My Scores'.&lt;br /&gt;
&lt;br /&gt;
4) Student should be able to see his/her reputation value along with the scores.&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>Kpjani</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=102305</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=102305"/>
		<updated>2016-04-26T02:16:05Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Views */&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;
A Sample of the webpage displaying reputations with Lauw's algorithm is given below.&lt;br /&gt;
&lt;br /&gt;
[[File:sample.png]]&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
grades/_review_table.html.erb&lt;br /&gt;
&lt;br /&gt;
assignment_form.rb, edit/_general.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;
===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.Our priority is to add functional tests associated with reputation for instructor, assignment and student controller. For example, One test workflow would be&lt;br /&gt;
&lt;br /&gt;
Testcase 1&lt;br /&gt;
&lt;br /&gt;
1) Instructor selects type of reputation algorithm&lt;br /&gt;
&lt;br /&gt;
2) Chooses the assignment and the round for which the reputation needs to calculated&lt;br /&gt;
&lt;br /&gt;
3) Receives the json response&lt;br /&gt;
&lt;br /&gt;
4) Check if the response is in the right format and the that the reputation for each student is stored in the database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Testcase 2&lt;br /&gt;
&lt;br /&gt;
1) Student logs in to Expertiza.&lt;br /&gt;
&lt;br /&gt;
2) Selects a particular assignment.&lt;br /&gt;
&lt;br /&gt;
3) Clicks on 'View My Scores'.&lt;br /&gt;
&lt;br /&gt;
4) Student should be able to see his/her reputation value along with the scores.&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>Kpjani</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=102304</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=102304"/>
		<updated>2016-04-26T02:14:13Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Testing */&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;
A Sample of the webpage displaying reputations with Lauw's algorithm is given below.&lt;br /&gt;
&lt;br /&gt;
[[File:sample.png]]&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
===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.Our priority is to add functional tests associated with reputation for instructor, assignment and student controller. For example, One test workflow would be&lt;br /&gt;
&lt;br /&gt;
Testcase 1&lt;br /&gt;
&lt;br /&gt;
1) Instructor selects type of reputation algorithm&lt;br /&gt;
&lt;br /&gt;
2) Chooses the assignment and the round for which the reputation needs to calculated&lt;br /&gt;
&lt;br /&gt;
3) Receives the json response&lt;br /&gt;
&lt;br /&gt;
4) Check if the response is in the right format and the that the reputation for each student is stored in the database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Testcase 2&lt;br /&gt;
&lt;br /&gt;
1) Student logs in to Expertiza.&lt;br /&gt;
&lt;br /&gt;
2) Selects a particular assignment.&lt;br /&gt;
&lt;br /&gt;
3) Clicks on 'View My Scores'.&lt;br /&gt;
&lt;br /&gt;
4) Student should be able to see his/her reputation value along with the scores.&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>Kpjani</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=102303</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=102303"/>
		<updated>2016-04-26T02:13:56Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Testing */&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;
A Sample of the webpage displaying reputations with Lauw's algorithm is given below.&lt;br /&gt;
&lt;br /&gt;
[[File:sample.png]]&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
===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.Our priority is to add functional tests associated with reputation for instructor, assignment and student controller. For example, One test workflow would be&lt;br /&gt;
&lt;br /&gt;
Testcase 1&lt;br /&gt;
&lt;br /&gt;
1) Instructor selects type of reputation algorithm&lt;br /&gt;
&lt;br /&gt;
2) Chooses the assignment and the round for which the reputation needs to calculated&lt;br /&gt;
&lt;br /&gt;
3) Receives the json response&lt;br /&gt;
&lt;br /&gt;
4) Check if the response is in the right format and the that the reputation for each student is stored in the database.&lt;br /&gt;
&lt;br /&gt;
Testcase 2&lt;br /&gt;
&lt;br /&gt;
1) Student logs in to Expertiza.&lt;br /&gt;
&lt;br /&gt;
2) Selects a particular assignment.&lt;br /&gt;
&lt;br /&gt;
3) Clicks on 'View My Scores'.&lt;br /&gt;
&lt;br /&gt;
4) Student should be able to see his/her reputation value along with the scores.&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>Kpjani</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=102302</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=102302"/>
		<updated>2016-04-26T02:13:36Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Testing */&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;
A Sample of the webpage displaying reputations with Lauw's algorithm is given below.&lt;br /&gt;
&lt;br /&gt;
[[File:sample.png]]&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
===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.Our priority is to add functional tests associated with reputation for instructor, assignment and student controller. For example, One test workflow would be&lt;br /&gt;
&lt;br /&gt;
Testcase 1&lt;br /&gt;
&lt;br /&gt;
1) Instructor selects type of reputation algorithm&lt;br /&gt;
&lt;br /&gt;
2) Chooses the assignment and the round for which the reputation needs to calculated&lt;br /&gt;
&lt;br /&gt;
3) Receives the json response&lt;br /&gt;
&lt;br /&gt;
4) Check if the response is in the right format and the that the reputation for each student is stored in the database.&lt;br /&gt;
&lt;br /&gt;
Testcase 2&lt;br /&gt;
&lt;br /&gt;
1) Student logs in to Expertiza.&lt;br /&gt;
2) Selects a particular assignment.&lt;br /&gt;
3) Clicks on 'View My Scores'&lt;br /&gt;
4) Student should be able to see his/her reputation value along with the scores.&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>Kpjani</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=102116</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=102116"/>
		<updated>2016-04-11T21:16:17Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Testing */&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;
A Sample of the webpage displaying reputations with Lauw's algorithm is given below.&lt;br /&gt;
&lt;br /&gt;
[[File:sample.png]]&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
===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.Our priority is to add functional tests associated with reputation for instructor, assignment and student controller. For example, One test workflow would be&lt;br /&gt;
&lt;br /&gt;
Testcase 1&lt;br /&gt;
&lt;br /&gt;
1) Instructor selects type of reputation algorithm&lt;br /&gt;
&lt;br /&gt;
2) Chooses the assignment and the round for which the reputation needs to calculated&lt;br /&gt;
&lt;br /&gt;
3) Receives the json response&lt;br /&gt;
&lt;br /&gt;
4) Check if the response is in the right format and the that the reputation for each student is stored in the database.&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>Kpjani</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=102115</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=102115"/>
		<updated>2016-04-11T21:15:50Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Testing */&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;
A Sample of the webpage displaying reputations with Lauw's algorithm is given below.&lt;br /&gt;
&lt;br /&gt;
[[File:sample.png]]&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
===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.Our priority is to add functional tests associated with reputation for instructor, assignment and student controller. For example, One test workflow would be&lt;br /&gt;
&lt;br /&gt;
Testcase 1&lt;br /&gt;
1) Instructor selects type of reputation algorithm&lt;br /&gt;
2) Chooses the assignment and the round for which the reputation needs to calculated&lt;br /&gt;
3) Receives the json response&lt;br /&gt;
4) Check if the response is in the right format and the that the reputation for each student is stored in the database.&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>Kpjani</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=102114</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=102114"/>
		<updated>2016-04-11T21:15:17Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Testing */&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;
A Sample of the webpage displaying reputations with Lauw's algorithm is given below.&lt;br /&gt;
&lt;br /&gt;
[[File:sample.png]]&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
===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.Our priority is to add functional tests associated with reputation for instructor, assignment and student controller. For example, One test workflow would be&lt;br /&gt;
Testcase 1&lt;br /&gt;
1) Instructor selects type of reputation algorithm&lt;br /&gt;
2) Chooses the assignment and the round for which the reputation needs to calculated&lt;br /&gt;
3) Receives the json response&lt;br /&gt;
4) Check if the response is in the right format and the that the reputation for each student is stored in the database.&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>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Sample.png&amp;diff=102110</id>
		<title>File:Sample.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Sample.png&amp;diff=102110"/>
		<updated>2016-04-11T20:55:26Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kpjani</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=102109</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=102109"/>
		<updated>2016-04-11T20:54:54Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Description of confidence rating and our system */&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;
A Sample of the webpage displaying reputations with Lauw's algorithm is given below.&lt;br /&gt;
&lt;br /&gt;
[[File:sample.png]]&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
===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>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Example.png&amp;diff=102108</id>
		<title>File:Example.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Example.png&amp;diff=102108"/>
		<updated>2016-04-11T20:53:28Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kpjani</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=102107</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=102107"/>
		<updated>2016-04-11T20:53:08Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Description of confidence rating and our system */&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;
A Sample of the webpage displaying reputations with Lauw's algorithm is given below.&lt;br /&gt;
&lt;br /&gt;
[[File:Example.png]]&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
===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>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Screen1.png&amp;diff=102106</id>
		<title>File:Screen1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Screen1.png&amp;diff=102106"/>
		<updated>2016-04-11T20:51:19Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: uploaded a new version of &amp;amp;quot;File:Screen1.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sample screenshot showing reputation values with Lauw's algorithm&lt;/div&gt;</summary>
		<author><name>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Pic1.png&amp;diff=102098</id>
		<title>File:Pic1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Pic1.png&amp;diff=102098"/>
		<updated>2016-04-11T20:45:17Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:P.png&amp;diff=102097</id>
		<title>File:P.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:P.png&amp;diff=102097"/>
		<updated>2016-04-11T20:44:23Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kpjani</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=102093</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=102093"/>
		<updated>2016-04-11T20:43:18Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Description of confidence rating and our system */&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;
A Sample of the webpage displaying reputations with Lauw's algorithm is given below.&lt;br /&gt;
&lt;br /&gt;
[[File:pic1.png]]&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
===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>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Screen1.png&amp;diff=102091</id>
		<title>File:Screen1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Screen1.png&amp;diff=102091"/>
		<updated>2016-04-11T20:42:48Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: uploaded a new version of &amp;amp;quot;File:Screen1.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sample screenshot showing reputation values with Lauw's algorithm&lt;/div&gt;</summary>
		<author><name>Kpjani</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=102089</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=102089"/>
		<updated>2016-04-11T20:40:47Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Description of confidence rating and our system */&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;
A Sample of the webpage displaying reputations with Lauw's algorithm is given below.&lt;br /&gt;
&lt;br /&gt;
[[File: Screen.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
===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>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Screen1.png&amp;diff=102085</id>
		<title>File:Screen1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Screen1.png&amp;diff=102085"/>
		<updated>2016-04-11T20:34:25Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: Sample screenshot showing reputation values with Lauw's algorithm&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sample screenshot showing reputation values with Lauw's algorithm&lt;/div&gt;</summary>
		<author><name>Kpjani</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=102084</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=102084"/>
		<updated>2016-04-11T20:33:28Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Description of confidence rating and our system */&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;
A Sample of the webpage displaying reputations with Lauw's algorithm is given below.&lt;br /&gt;
&lt;br /&gt;
[[File: Screen1.png]]&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
===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>Kpjani</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=102083</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=102083"/>
		<updated>2016-04-11T20:31:53Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Description of confidence rating and our system */  Added sample screenshot&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;
A Sample of the webpage displaying reputations with Lauw's algorithm is given below.&lt;br /&gt;
&lt;br /&gt;
[[File: https://drive.google.com/a/ncsu.edu/file/d/0B4yQuPdP1qyRUGVvejUxelNMTm8/view?usp=sharing]]&lt;br /&gt;
&lt;br /&gt;
====Design Pattern - Model-view-controller(MVC)====&lt;br /&gt;
&lt;br /&gt;
In an [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
===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>Kpjani</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=102080</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=102080"/>
		<updated>2016-04-11T20:23:47Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Description of confidence rating and our system */&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 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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;gt;= 0.2 and &amp;lt;= 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 and &amp;lt;= 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 and &amp;lt;= 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 [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
===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>Kpjani</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=102074</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=102074"/>
		<updated>2016-04-11T20:18:10Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Description of confidence rating and our system */&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;gt;= 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 [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
===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>Kpjani</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=101862</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=101862"/>
		<updated>2016-04-05T00:42:42Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Introduction to Expertiza */&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 [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
===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>Kpjani</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=101861</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=101861"/>
		<updated>2016-04-05T00:41:14Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Design Pattern - Model-view-controller(MVC) */&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 [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC pattern] , a software application is divided into three major components : Model, View and Controller. This allows separation of internal representations of information 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;
&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;
===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>Kpjani</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=101860</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=101860"/>
		<updated>2016-04-05T00:40:01Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Implementation */&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;
&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;
===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>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101736</id>
		<title>CSC/ECE 517 Spring 2016/Implement private browsing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101736"/>
		<updated>2016-04-03T23:03:15Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Design Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Implement Private Browsing'''&lt;br /&gt;
&lt;br /&gt;
Servo&amp;lt;ref&amp;gt;https://github.com/servo/servo&amp;lt;/ref&amp;gt; is a prototype web browser engine written in the RUST language. Servo currently does not support the mode where the cookies, login, history and downloads are forgotten after the session ends. The goal of this project is to implement incognito/private browsing feature in Servo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Servo is an experimental web browser layout engine being developed by Mozilla Research. Servo is written in the Rust&amp;lt;ref&amp;gt; https://doc.rust-lang.org/ &amp;lt;/ref&amp;gt; language, which is also being developed by Mozilla Research. The language is being refined through feedback from Servo development, and writing the Rust compiler itself. Rust is a systems programming language similar to C and C++ in syntax (but semantically very different). The emphasis is on speed, safety, concurrency and control of memory layout.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
When a user browses the web, Firefox remembers lots of information for the user - like the sites visited. There may be times, however, when the users don't want people with access to their computer to see this information, such as when shopping for a present. Private Browsing allows the users to browse the Internet without saving any information about which sites and pages they have visited. Private Browsing also includes Tracking Protection in Private Browsing, which prevents companies from tracking the browsing history across multiple sites.[https://support.mozilla.org/en-US/kb/private-browsing-use-firefox-without-history]&lt;br /&gt;
&lt;br /&gt;
==Installing Servo==&lt;br /&gt;
&lt;br /&gt;
===Prerequisites on Debian based linuxes===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    sudo apt-get install curl freeglut3-dev autoconf \&lt;br /&gt;
    libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev \&lt;br /&gt;
    gperf g++ build-essential cmake virtualenv python-pip \&lt;br /&gt;
    libssl-dev libbz2-dev libosmesa6-dev libxmu6 libxmu-dev \&lt;br /&gt;
    libglu1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Building Servo=== &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/servo/servo&lt;br /&gt;
cd servo&lt;br /&gt;
./mach build --dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Running Servo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./mach run [url] --devtools &amp;lt;port number&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
The below mentioned steps were followed to implement private browsing. The detailed requirements are described in the document available here:[https://github.com/servo/servo/wiki/Private-browsing-student-project].&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
As per the requirement, we have added the is_private member to the struct IFrameLoadInfo to check if it's a private iframe or not&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_001.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have implemented the function to set this member based on the mozprivatebrowsing attribute.&lt;br /&gt;
&lt;br /&gt;
[[File: MozprivateBrowsing.png]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
We have created an enum 'ConstellationMsg' that holds an isPrivate message containing pipelineId and sender as attributes.&lt;br /&gt;
&lt;br /&gt;
[[File: Enum_Struct.png]]&lt;br /&gt;
&lt;br /&gt;
The below member has been added to the pipeline struct to check if it's private&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_004.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 3===&lt;br /&gt;
&lt;br /&gt;
The below function has been implemented to check whether the pipeline is private or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Pipeline_Function.png]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
As per the design document, we have added few fields/members, defined an enum and added a method. The requirements did not require any design pattern to be implemented as such and thus, we have not used any other design pattern apart from the existing servo design strategy. Details about the servo design can be found [https://github.com/servo/servo/wiki/Design here].&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
For this particular project, an automated test is to be created to test the functionality which is part of the subsequent steps and is not included in the initial steps, and hence at this point of time the users/reviewers are not supposed perform any manual testing or testing from GUI. More details about writing the automated test for this project can be found [https://github.com/servo/servo/blob/master/tests/wpt/README.md#writing-new-tests here].&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101632</id>
		<title>CSC/ECE 517 Spring 2016/Implement private browsing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101632"/>
		<updated>2016-04-02T02:02:18Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Step 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Implement Private Browsing'''&lt;br /&gt;
&lt;br /&gt;
Servo&amp;lt;ref&amp;gt;https://github.com/servo/servo&amp;lt;/ref&amp;gt; is a prototype web browser engine written in the RUST language. Servo currently does not support the mode where the cookies, login, history and downloads are forgotten after the session ends. The goal of this project is to implement incognito/private browsing feature in Servo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Servo is an experimental web browser layout engine being developed by Mozilla Research. Servo is written in the Rust&amp;lt;ref&amp;gt; https://doc.rust-lang.org/ &amp;lt;/ref&amp;gt; language, which is also being developed by Mozilla Research. The language is being refined through feedback from Servo development, and writing the Rust compiler itself. Rust is a systems programming language similar to C and C++ in syntax (but semantically very different). The emphasis is on speed, safety, concurrency and control of memory layout.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
When a user browses the web, Firefox remembers lots of information for the user - like the sites visited. There may be times, however, when the users don't want people with access to their computer to see this information, such as when shopping for a present. Private Browsing allows the users to browse the Internet without saving any information about which sites and pages they have visited. Private Browsing also includes Tracking Protection in Private Browsing, which prevents companies from tracking the browsing history across multiple sites.[https://support.mozilla.org/en-US/kb/private-browsing-use-firefox-without-history]&lt;br /&gt;
&lt;br /&gt;
==Installing Servo==&lt;br /&gt;
&lt;br /&gt;
===Prerequisites on Debian based linuxes===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    sudo apt-get install curl freeglut3-dev autoconf \&lt;br /&gt;
    libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev \&lt;br /&gt;
    gperf g++ build-essential cmake virtualenv python-pip \&lt;br /&gt;
    libssl-dev libbz2-dev libosmesa6-dev libxmu6 libxmu-dev \&lt;br /&gt;
    libglu1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Building Servo=== &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/servo/servo&lt;br /&gt;
cd servo&lt;br /&gt;
./mach build --dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Running Servo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./mach run [url] --devtools &amp;lt;port number&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
The below mentioned steps were followed to implement private browsing. The detailed requirements are described in the document available here:[https://github.com/servo/servo/wiki/Private-browsing-student-project].&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
As per the requirement, we have added the is_private member to the struct IFrameLoadInfo to check if it's a private iframe or not&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_001.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We are working on implementing the function to set this member based on the mozprivatebrowsing attribute. We are in touch with Josh regarding the same as currently there is no mozprivatebrowsing attribute in the servo project and hence we are trying to understand how it can be implemented. We have written a basic stub for the same which is as below.&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_002.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
We have created an enum 'ConstellationMsg' that holds an isPrivate message containing pipelineId and sender as attributes.&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_003.png ]]&lt;br /&gt;
&lt;br /&gt;
The below member has been added to the pipeline struct to check if it's private&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_004.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
The below function is to check whether the pipeline is private or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_005.png ]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
As per the design document, we have added few fields/members, defined an enum and added a method. The requirements did not require any design pattern to be implemented as such and thus, we have not used any design pattern for the code we have written.&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
For this particular project, an automated test is to be created to test the functionality which is part of the subsequent steps and is not included in the initial steps, and hence at this point of time the users/reviewers are not supposed perform any manual testing or testing from GUI. More details about writing the automated test for this project can be found [https://github.com/servo/servo/blob/master/tests/wpt/README.md#writing-new-tests here].&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101631</id>
		<title>CSC/ECE 517 Spring 2016/Implement private browsing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101631"/>
		<updated>2016-04-02T02:01:09Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Step 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Implement Private Browsing'''&lt;br /&gt;
&lt;br /&gt;
Servo&amp;lt;ref&amp;gt;https://github.com/servo/servo&amp;lt;/ref&amp;gt; is a prototype web browser engine written in the RUST language. Servo currently does not support the mode where the cookies, login, history and downloads are forgotten after the session ends. The goal of this project is to implement incognito/private browsing feature in Servo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Servo is an experimental web browser layout engine being developed by Mozilla Research. Servo is written in the Rust&amp;lt;ref&amp;gt; https://doc.rust-lang.org/ &amp;lt;/ref&amp;gt; language, which is also being developed by Mozilla Research. The language is being refined through feedback from Servo development, and writing the Rust compiler itself. Rust is a systems programming language similar to C and C++ in syntax (but semantically very different). The emphasis is on speed, safety, concurrency and control of memory layout.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
When a user browses the web, Firefox remembers lots of information for the user - like the sites visited. There may be times, however, when the users don't want people with access to their computer to see this information, such as when shopping for a present. Private Browsing allows the users to browse the Internet without saving any information about which sites and pages they have visited. Private Browsing also includes Tracking Protection in Private Browsing, which prevents companies from tracking the browsing history across multiple sites.[https://support.mozilla.org/en-US/kb/private-browsing-use-firefox-without-history]&lt;br /&gt;
&lt;br /&gt;
==Installing Servo==&lt;br /&gt;
&lt;br /&gt;
===Prerequisites on Debian based linuxes===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    sudo apt-get install curl freeglut3-dev autoconf \&lt;br /&gt;
    libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev \&lt;br /&gt;
    gperf g++ build-essential cmake virtualenv python-pip \&lt;br /&gt;
    libssl-dev libbz2-dev libosmesa6-dev libxmu6 libxmu-dev \&lt;br /&gt;
    libglu1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Building Servo=== &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/servo/servo&lt;br /&gt;
cd servo&lt;br /&gt;
./mach build --dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Running Servo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./mach run [url] --devtools &amp;lt;port number&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
The below mentioned steps were followed to implement private browsing. The detailed requirements are described in the document available here:[https://github.com/servo/servo/wiki/Private-browsing-student-project].&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
As per the requirement, we have added the is_private member to the struct IFrameLoadInfo to check if it's a private iframe or not&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_001.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We are working on implementing the function to set this member based on the mozprivatebrowsing attribute. We are in touch with Josh regarding the same as currently there is no mozprivatebrowsing attribute in the servo project and hence we are trying to understand how it can be implemented. We have written a basic stub for the same which is as below.&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_002.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
We have created an enum that holds an isPrivate message containing pipelineId and sender as attributes&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_003.png ]]&lt;br /&gt;
&lt;br /&gt;
The below member has been added to the pipeline struct to check if it's private&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_004.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
The below function is to check whether the pipeline is private or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_005.png ]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
As per the design document, we have added few fields/members, defined an enum and added a method. The requirements did not require any design pattern to be implemented as such and thus, we have not used any design pattern for the code we have written.&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
For this particular project, an automated test is to be created to test the functionality which is part of the subsequent steps and is not included in the initial steps, and hence at this point of time the users/reviewers are not supposed perform any manual testing or testing from GUI. More details about writing the automated test for this project can be found [https://github.com/servo/servo/blob/master/tests/wpt/README.md#writing-new-tests here].&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101630</id>
		<title>CSC/ECE 517 Spring 2016/Implement private browsing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101630"/>
		<updated>2016-04-02T02:00:22Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Step 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Implement Private Browsing'''&lt;br /&gt;
&lt;br /&gt;
Servo&amp;lt;ref&amp;gt;https://github.com/servo/servo&amp;lt;/ref&amp;gt; is a prototype web browser engine written in the RUST language. Servo currently does not support the mode where the cookies, login, history and downloads are forgotten after the session ends. The goal of this project is to implement incognito/private browsing feature in Servo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Servo is an experimental web browser layout engine being developed by Mozilla Research. Servo is written in the Rust&amp;lt;ref&amp;gt; https://doc.rust-lang.org/ &amp;lt;/ref&amp;gt; language, which is also being developed by Mozilla Research. The language is being refined through feedback from Servo development, and writing the Rust compiler itself. Rust is a systems programming language similar to C and C++ in syntax (but semantically very different). The emphasis is on speed, safety, concurrency and control of memory layout.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
When a user browses the web, Firefox remembers lots of information for the user - like the sites visited. There may be times, however, when the users don't want people with access to their computer to see this information, such as when shopping for a present. Private Browsing allows the users to browse the Internet without saving any information about which sites and pages they have visited. Private Browsing also includes Tracking Protection in Private Browsing, which prevents companies from tracking the browsing history across multiple sites.[https://support.mozilla.org/en-US/kb/private-browsing-use-firefox-without-history]&lt;br /&gt;
&lt;br /&gt;
==Installing Servo==&lt;br /&gt;
&lt;br /&gt;
===Prerequisites on Debian based linuxes===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    sudo apt-get install curl freeglut3-dev autoconf \&lt;br /&gt;
    libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev \&lt;br /&gt;
    gperf g++ build-essential cmake virtualenv python-pip \&lt;br /&gt;
    libssl-dev libbz2-dev libosmesa6-dev libxmu6 libxmu-dev \&lt;br /&gt;
    libglu1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Building Servo=== &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/servo/servo&lt;br /&gt;
cd servo&lt;br /&gt;
./mach build --dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Running Servo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./mach run [url] --devtools &amp;lt;port number&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
The below mentioned steps were followed to implement private browsing. The detailed requirements are described in the document available here:[https://github.com/servo/servo/wiki/Private-browsing-student-project].&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
As per the requirement, we have added the is_private member to the struct IFrameLoadInfo to check if it's a private iframe or not&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_001.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We are working on implementing the function to set this member based on the mozprivatebrowsing attribute. We are in touch with Josh regarding the same as currently there is no mozprivatebrowsing attribute in the servo project and hence we are trying to understand how it can be implemented. We have written a basic stub for the same which is as below.&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_002.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
We have created an enum that holds an isPrivate message containing pipelineId and sender as attributes&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_003.png ]]&lt;br /&gt;
&lt;br /&gt;
The below member has been added to the pipeline struct to check if it's private&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_004.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
 The below function is to check whether the pipeline is private or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_005.png ]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
As per the design document, we have added few fields/members, defined an enum and added a method. The requirements did not require any design pattern to be implemented as such and thus, we have not used any design pattern for the code we have written.&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
For this particular project, an automated test is to be created to test the functionality which is part of the subsequent steps and is not included in the initial steps, and hence at this point of time the users/reviewers are not supposed perform any manual testing or testing from GUI. More details about writing the automated test for this project can be found [https://github.com/servo/servo/blob/master/tests/wpt/README.md#writing-new-tests here].&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101629</id>
		<title>CSC/ECE 517 Spring 2016/Implement private browsing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101629"/>
		<updated>2016-04-02T01:58:59Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Implement Private Browsing'''&lt;br /&gt;
&lt;br /&gt;
Servo&amp;lt;ref&amp;gt;https://github.com/servo/servo&amp;lt;/ref&amp;gt; is a prototype web browser engine written in the RUST language. Servo currently does not support the mode where the cookies, login, history and downloads are forgotten after the session ends. The goal of this project is to implement incognito/private browsing feature in Servo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Servo is an experimental web browser layout engine being developed by Mozilla Research. Servo is written in the Rust&amp;lt;ref&amp;gt; https://doc.rust-lang.org/ &amp;lt;/ref&amp;gt; language, which is also being developed by Mozilla Research. The language is being refined through feedback from Servo development, and writing the Rust compiler itself. Rust is a systems programming language similar to C and C++ in syntax (but semantically very different). The emphasis is on speed, safety, concurrency and control of memory layout.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
When a user browses the web, Firefox remembers lots of information for the user - like the sites visited. There may be times, however, when the users don't want people with access to their computer to see this information, such as when shopping for a present. Private Browsing allows the users to browse the Internet without saving any information about which sites and pages they have visited. Private Browsing also includes Tracking Protection in Private Browsing, which prevents companies from tracking the browsing history across multiple sites.[https://support.mozilla.org/en-US/kb/private-browsing-use-firefox-without-history]&lt;br /&gt;
&lt;br /&gt;
==Installing Servo==&lt;br /&gt;
&lt;br /&gt;
===Prerequisites on Debian based linuxes===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    sudo apt-get install curl freeglut3-dev autoconf \&lt;br /&gt;
    libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev \&lt;br /&gt;
    gperf g++ build-essential cmake virtualenv python-pip \&lt;br /&gt;
    libssl-dev libbz2-dev libosmesa6-dev libxmu6 libxmu-dev \&lt;br /&gt;
    libglu1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Building Servo=== &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/servo/servo&lt;br /&gt;
cd servo&lt;br /&gt;
./mach build --dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Running Servo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./mach run [url] --devtools &amp;lt;port number&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
The below mentioned steps were followed to implement private browsing. The detailed requirements are described in the document available here:[https://github.com/servo/servo/wiki/Private-browsing-student-project].&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
As per the requirement, we have added the is_private member to the struct IFrameLoadInfo to check if it's a private iframe or not&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_001.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We are working on implementing the function to set this member based on the mozprivatebrowsing attribute. We are in touch with Josh regarding the same as currently there is no mozprivatebrowsing attribute in the servo project and hence we are trying to understand how it can be implemented. We have written a basic stub for the same which is as below.&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_002.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
We have created an enum that holds an isPrivate message containing pipelineId and sender as attributes&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_003.png ]]&lt;br /&gt;
&lt;br /&gt;
The below member has been added to the pipeline struct to check if it's private&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_004.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
We are working on implementing the below function to check if the pipeline is private&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_005.png ]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
As per the design document, we have added few fields/members, defined an enum and added a method. The requirements did not require any design pattern to be implemented as such and thus, we have not used any design pattern for the code we have written.&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
For this particular project, an automated test is to be created to test the functionality which is part of the subsequent steps and is not included in the initial steps, and hence at this point of time the users/reviewers are not supposed perform any manual testing or testing from GUI. More details about writing the automated test for this project can be found [https://github.com/servo/servo/blob/master/tests/wpt/README.md#writing-new-tests here].&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101628</id>
		<title>CSC/ECE 517 Spring 2016/Implement private browsing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101628"/>
		<updated>2016-04-02T01:58:05Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Implement Private Browsing'''&lt;br /&gt;
&lt;br /&gt;
Servo&amp;lt;ref&amp;gt;https://github.com/servo/servo&amp;lt;/ref&amp;gt; is a prototype web browser engine written in the RUST language. Servo currently does not support the mode where the cookies, login, history and downloads are forgotten after the session ends. The goal of this project is to implement incognito/private browsing feature in Servo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Servo is an experimental web browser layout engine being developed by Mozilla Research. Servo is written in the Rust&amp;lt;ref&amp;gt; https://doc.rust-lang.org/ &amp;lt;/ref&amp;gt; language, which is also being developed by Mozilla Research. The language is being refined through feedback from Servo development, and writing the Rust compiler itself. Rust is a systems programming language similar to C and C++ in syntax (but semantically very different). The emphasis is on speed, safety, concurrency and control of memory layout.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
When a user browses the web, Firefox remembers lots of information for the user - like the sites visited. There may be times, however, when the users don't want people with access to their computer to see this information, such as when shopping for a present. Private Browsing allows the users to browse the Internet without saving any information about which sites and pages they have visited. Private Browsing also includes Tracking Protection in Private Browsing, which prevents companies from tracking the browsing history across multiple sites.[https://support.mozilla.org/en-US/kb/private-browsing-use-firefox-without-history]&lt;br /&gt;
&lt;br /&gt;
==Installing Servo==&lt;br /&gt;
&lt;br /&gt;
===Prerequisites on Debian based linuxes===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    sudo apt-get install curl freeglut3-dev autoconf \&lt;br /&gt;
    libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev \&lt;br /&gt;
    gperf g++ build-essential cmake virtualenv python-pip \&lt;br /&gt;
    libssl-dev libbz2-dev libosmesa6-dev libxmu6 libxmu-dev \&lt;br /&gt;
    libglu1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Building Servo=== &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/servo/servo&lt;br /&gt;
cd servo&lt;br /&gt;
./mach build --dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Running Servo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./mach run [url] --devtools &amp;lt;port number&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
The below mentioned steps were followed to implement private browsing. The detailed requirements are described in the document available here:[https://github.com/servo/servo/wiki/Private-browsing-student-project].&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
As per the requirement, we have added the is_private member to the struct IFrameLoadInfo to check if it's a private iframe or not&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_001.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We are working on implementing the function to set this member based on the mozprivatebrowsing attribute. We are in touch with Josh regarding the same as currently there is no mozprivatebrowsing attribute in the servo project and hence we are trying to understand how it can be implemented. We have written a basic stub for the same which is as below.&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_002.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
We have created an enum that holds an isPrivate message containing pipelineId and sender as attributes&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_003.png ]]&lt;br /&gt;
&lt;br /&gt;
The below member has been added to the pipeline struct to check if it's private&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_004.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
We are working on implementing the below function to check if the pipeline is private&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_005.png ]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
As per the design document, we have added few fields/members, defined an enum and added a method. The requirements did not require any design pattern to be implemented as such and thus, we have not used any design pattern for the code we have written.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
For this particular project, an automated test is to be created to test the functionality which is part of the subsequent steps and is not included in the initial steps, and hence at this point of time the users/reviewers are not supposed perform any manual testing or testing from GUI. More details about writing the automated test for this project can be found [https://github.com/servo/servo/blob/master/tests/wpt/README.md#writing-new-tests here].&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101627</id>
		<title>CSC/ECE 517 Spring 2016/Implement private browsing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101627"/>
		<updated>2016-04-02T01:57:40Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Implement Private Browsing'''&lt;br /&gt;
&lt;br /&gt;
Servo&amp;lt;ref&amp;gt;https://github.com/servo/servo&amp;lt;/ref&amp;gt; is a prototype web browser engine written in the RUST language. Servo currently does not support the mode where the cookies, login, history and downloads are forgotten after the session ends. The goal of this project is to implement incognito/private browsing feature in Servo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Servo is an experimental web browser layout engine being developed by Mozilla Research. Servo is written in the Rust&amp;lt;ref&amp;gt; https://doc.rust-lang.org/ &amp;lt;/ref&amp;gt; language, which is also being developed by Mozilla Research. The language is being refined through feedback from Servo development, and writing the Rust compiler itself. Rust is a systems programming language similar to C and C++ in syntax (but semantically very different). The emphasis is on speed, safety, concurrency and control of memory layout.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
When a user browses the web, Firefox remembers lots of information for the user - like the sites visited. There may be times, however, when the users don't want people with access to their computer to see this information, such as when shopping for a present. Private Browsing allows the users to browse the Internet without saving any information about which sites and pages they have visited. Private Browsing also includes Tracking Protection in Private Browsing, which prevents companies from tracking the browsing history across multiple sites.[https://support.mozilla.org/en-US/kb/private-browsing-use-firefox-without-history]&lt;br /&gt;
&lt;br /&gt;
==Installing Servo==&lt;br /&gt;
&lt;br /&gt;
===Prerequisites on Debian based linuxes===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    sudo apt-get install curl freeglut3-dev autoconf \&lt;br /&gt;
    libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev \&lt;br /&gt;
    gperf g++ build-essential cmake virtualenv python-pip \&lt;br /&gt;
    libssl-dev libbz2-dev libosmesa6-dev libxmu6 libxmu-dev \&lt;br /&gt;
    libglu1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Building Servo=== &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/servo/servo&lt;br /&gt;
cd servo&lt;br /&gt;
./mach build --dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Running Servo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./mach run [url] --devtools &amp;lt;port number&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
The below mentioned steps were followed to implement private browsing. The detailed requirements are described in the document available here:[https://github.com/servo/servo/wiki/Private-browsing-student-project].&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
As per the requirement, we have added the is_private member to the struct IFrameLoadInfo to check if it's a private iframe or not&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_001.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We are working on implementing the function to set this member based on the mozprivatebrowsing attribute. We are in touch with Josh regarding the same as currently there is no mozprivatebrowsing attribute in the servo project and hence we are trying to understand how it can be implemented. We have written a basic stub for the same which is as below.&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_002.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
We have created an enum that holds an isPrivate message containing pipelineId and sender as attributes&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_003.png ]]&lt;br /&gt;
&lt;br /&gt;
The below member has been added to the pipeline struct to check if it's private&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_004.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
We are working on implementing the below function to check if the pipeline is private&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_005.png ]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
As per the design document, we have added few fields/members, defined an enum and added a method. The requirements did not require any design pattern to be implemented as such and thus, we have not used any design pattern for the code we have written.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
For this particular project, an automated test is to be created to test the functionality which is part of the subsequent steps and is not included in the initial steps, and hence at this point of time the users/reviewers are not supposed perform any manual testing or testing from GUI. More details about writing the automated test for this project can be found [https://github.com/servo/servo/blob/master/tests/wpt/README.md#writing-new-tests link title]. &lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101626</id>
		<title>CSC/ECE 517 Spring 2016/Implement private browsing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101626"/>
		<updated>2016-04-02T01:49:36Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Implement Private Browsing'''&lt;br /&gt;
&lt;br /&gt;
Servo&amp;lt;ref&amp;gt;https://github.com/servo/servo&amp;lt;/ref&amp;gt; is a prototype web browser engine written in the RUST language. Servo currently does not support the mode where the cookies, login, history and downloads are forgotten after the session ends. The goal of this project is to implement incognito/private browsing feature in Servo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Servo is an experimental web browser layout engine being developed by Mozilla Research. Servo is written in the Rust&amp;lt;ref&amp;gt; https://doc.rust-lang.org/ &amp;lt;/ref&amp;gt; language, which is also being developed by Mozilla Research. The language is being refined through feedback from Servo development, and writing the Rust compiler itself. Rust is a systems programming language similar to C and C++ in syntax (but semantically very different). The emphasis is on speed, safety, concurrency and control of memory layout.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
When a user browses the web, Firefox remembers lots of information for the user - like the sites visited. There may be times, however, when the users don't want people with access to their computer to see this information, such as when shopping for a present. Private Browsing allows the users to browse the Internet without saving any information about which sites and pages they have visited. Private Browsing also includes Tracking Protection in Private Browsing, which prevents companies from tracking the browsing history across multiple sites.[https://support.mozilla.org/en-US/kb/private-browsing-use-firefox-without-history]&lt;br /&gt;
&lt;br /&gt;
==Installing Servo==&lt;br /&gt;
&lt;br /&gt;
===Prerequisites on Debian based linuxes===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    sudo apt-get install curl freeglut3-dev autoconf \&lt;br /&gt;
    libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev \&lt;br /&gt;
    gperf g++ build-essential cmake virtualenv python-pip \&lt;br /&gt;
    libssl-dev libbz2-dev libosmesa6-dev libxmu6 libxmu-dev \&lt;br /&gt;
    libglu1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Building Servo=== &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/servo/servo&lt;br /&gt;
cd servo&lt;br /&gt;
./mach build --dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Running Servo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./mach run [url] --devtools &amp;lt;port number&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
The below mentioned steps were followed to implement private browsing. The detailed requirements are described in the document available here:[https://github.com/servo/servo/wiki/Private-browsing-student-project].&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
As per the requirement, we have added the is_private member to the struct IFrameLoadInfo to check if it's a private iframe or not&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_001.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We are working on implementing the function to set this member based on the mozprivatebrowsing attribute. We are in touch with Josh regarding the same as currently there is no mozprivatebrowsing attribute in the servo project and hence we are trying to understand how it can be implemented. We have written a basic stub for the same which is as below.&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_002.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
We have created an enum that holds an isPrivate message containing pipelineId and sender as attributes&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_003.png ]]&lt;br /&gt;
&lt;br /&gt;
The below member has been added to the pipeline struct to check if it's private&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_004.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
We are working on implementing the below function to check if the pipeline is private&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_005.png ]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
As per the design document, we have added few fields/members, defined an enum and added a method. The requirements did not require any design pattern to be implemented as such and thus, we have not used any design pattern for the code we have written.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101625</id>
		<title>CSC/ECE 517 Spring 2016/Implement private browsing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101625"/>
		<updated>2016-04-02T01:45:58Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Design Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Implement Private Browsing'''&lt;br /&gt;
&lt;br /&gt;
Servo&amp;lt;ref&amp;gt;https://github.com/servo/servo&amp;lt;/ref&amp;gt; is a prototype web browser engine written in the RUST language. Servo currently does not support the mode where the cookies, login, history and downloads are forgotten after the session ends. The goal of this project is to implement incognito/private browsing feature in Servo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Servo is an experimental web browser layout engine being developed by Mozilla Research. Servo is written in the Rust&amp;lt;ref&amp;gt; https://doc.rust-lang.org/ &amp;lt;/ref&amp;gt; language, which is also being developed by Mozilla Research. The language is being refined through feedback from Servo development, and writing the Rust compiler itself. Rust is a systems programming language similar to C and C++ in syntax (but semantically very different). The emphasis is on speed, safety, concurrency and control of memory layout.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
When a user browses the web, Firefox remembers lots of information for the user - like the sites visited. There may be times, however, when the users don't want people with access to their computer to see this information, such as when shopping for a present. Private Browsing allows the users to browse the Internet without saving any information about which sites and pages they have visited. Private Browsing also includes Tracking Protection in Private Browsing, which prevents companies from tracking the browsing history across multiple sites.[https://support.mozilla.org/en-US/kb/private-browsing-use-firefox-without-history]&lt;br /&gt;
&lt;br /&gt;
==Installing Servo==&lt;br /&gt;
&lt;br /&gt;
===Prerequisites on Debian based linuxes===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    sudo apt-get install curl freeglut3-dev autoconf \&lt;br /&gt;
    libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev \&lt;br /&gt;
    gperf g++ build-essential cmake virtualenv python-pip \&lt;br /&gt;
    libssl-dev libbz2-dev libosmesa6-dev libxmu6 libxmu-dev \&lt;br /&gt;
    libglu1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Building Servo=== &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/servo/servo&lt;br /&gt;
cd servo&lt;br /&gt;
./mach build --dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Running Servo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./mach run [url] --devtools &amp;lt;port number&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
The following steps were followed to meet the requirements as described in the link here:[https://github.com/servo/servo/wiki/Private-browsing-student-project].&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
As required we have added the is_private member to the struct IFrameLoadInfo to check if it's a private iframe or not&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_001.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We are working on implementing the function to set this member based on the mozprivatebrowsing attribute. We are in touch with Josh regarding the same as currently there is no mozprivatebrowsing attribute in the servo project and hence we are trying to understand how it can be implemented. We have written a basic stub for the same which is as below.&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_002.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
We have created an enum that holds an isPrivate message containing pipelineId and sender as attributes&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_003.png ]]&lt;br /&gt;
&lt;br /&gt;
The below member has been added to the pipeline struct to check if it's private&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_004.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
We are working on implementing the below function to check if the pipeline is private&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_005.png ]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
As per the design document, we have added few fields/members, defined an enum and added a method. The requirements did not require any design pattern to be implemented as such and thus, we have not used any design pattern for the code we have written.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101624</id>
		<title>CSC/ECE 517 Spring 2016/Implement private browsing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101624"/>
		<updated>2016-04-02T01:36:46Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: /* Motivation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Implement Private Browsing'''&lt;br /&gt;
&lt;br /&gt;
Servo&amp;lt;ref&amp;gt;https://github.com/servo/servo&amp;lt;/ref&amp;gt; is a prototype web browser engine written in the RUST language. Servo currently does not support the mode where the cookies, login, history and downloads are forgotten after the session ends. The goal of this project is to implement incognito/private browsing feature in Servo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Servo is an experimental web browser layout engine being developed by Mozilla Research. Servo is written in the Rust&amp;lt;ref&amp;gt; https://doc.rust-lang.org/ &amp;lt;/ref&amp;gt; language, which is also being developed by Mozilla Research. The language is being refined through feedback from Servo development, and writing the Rust compiler itself. Rust is a systems programming language similar to C and C++ in syntax (but semantically very different). The emphasis is on speed, safety, concurrency and control of memory layout.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
When a user browses the web, Firefox remembers lots of information for the user - like the sites visited. There may be times, however, when the users don't want people with access to their computer to see this information, such as when shopping for a present. Private Browsing allows the users to browse the Internet without saving any information about which sites and pages they have visited. Private Browsing also includes Tracking Protection in Private Browsing, which prevents companies from tracking the browsing history across multiple sites.[https://support.mozilla.org/en-US/kb/private-browsing-use-firefox-without-history]&lt;br /&gt;
&lt;br /&gt;
==Installing Servo==&lt;br /&gt;
&lt;br /&gt;
===Prerequisites on Debian based linuxes===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    sudo apt-get install curl freeglut3-dev autoconf \&lt;br /&gt;
    libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev \&lt;br /&gt;
    gperf g++ build-essential cmake virtualenv python-pip \&lt;br /&gt;
    libssl-dev libbz2-dev libosmesa6-dev libxmu6 libxmu-dev \&lt;br /&gt;
    libglu1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Building Servo=== &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/servo/servo&lt;br /&gt;
cd servo&lt;br /&gt;
./mach build --dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Running Servo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./mach run [url] --devtools &amp;lt;port number&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
The following steps were followed to meet the requirements as described in the link here:[https://github.com/servo/servo/wiki/Private-browsing-student-project].&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
As required we have added the is_private member to the struct IFrameLoadInfo to check if it's a private iframe or not&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_001.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We are working on implementing the function to set this member based on the mozprivatebrowsing attribute. We are in touch with Josh regarding the same as currently there is no mozprivatebrowsing attribute in the servo project and hence we are trying to understand how it can be implemented. We have written a basic stub for the same which is as below.&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_002.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
We have created an enum that holds an isPrivate message containing pipelineId and sender as attributes&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_003.png ]]&lt;br /&gt;
&lt;br /&gt;
The below member has been added to the pipeline struct to check if it's private&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_004.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
We are working on implementing the below function to check if the pipeline is private&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_005.png ]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
The requirements so far did not require us to implement any design pattern.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kpjani</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101623</id>
		<title>CSC/ECE 517 Spring 2016/Implement private browsing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2016/Implement_private_browsing&amp;diff=101623"/>
		<updated>2016-04-02T01:35:13Z</updated>

		<summary type="html">&lt;p&gt;Kpjani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Implement Private Browsing'''&lt;br /&gt;
&lt;br /&gt;
Servo&amp;lt;ref&amp;gt;https://github.com/servo/servo&amp;lt;/ref&amp;gt; is a prototype web browser engine written in the RUST language. Servo currently does not support the mode where the cookies, login, history and downloads are forgotten after the session ends. The goal of this project is to implement incognito/private browsing feature in Servo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Servo is an experimental web browser layout engine being developed by Mozilla Research. Servo is written in the Rust&amp;lt;ref&amp;gt; https://doc.rust-lang.org/ &amp;lt;/ref&amp;gt; language, which is also being developed by Mozilla Research. The language is being refined through feedback from Servo development, and writing the Rust compiler itself. Rust is a systems programming language similar to C and C++ in syntax (but semantically very different). The emphasis is on speed, safety, concurrency and control of memory layout.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
When a user browses the web, Firefox remembers lots of information for the user - like the sites visited. There may be times, however, when the users don't want people with access to their computer to see this information, such as when shopping for a present. Private Browsing allows the users to browse the Internet without saving any information about which sites and pages they have visited. Private Browsing also includes Tracking Protection in Private Browsing, which prevents companies from tracking the browsing history across multiple sites.&lt;br /&gt;
&lt;br /&gt;
==Installing Servo==&lt;br /&gt;
&lt;br /&gt;
===Prerequisites on Debian based linuxes===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    sudo apt-get install curl freeglut3-dev autoconf \&lt;br /&gt;
    libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev \&lt;br /&gt;
    gperf g++ build-essential cmake virtualenv python-pip \&lt;br /&gt;
    libssl-dev libbz2-dev libosmesa6-dev libxmu6 libxmu-dev \&lt;br /&gt;
    libglu1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Building Servo=== &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/servo/servo&lt;br /&gt;
cd servo&lt;br /&gt;
./mach build --dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Running Servo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./mach run [url] --devtools &amp;lt;port number&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
The following steps were followed to meet the requirements as described in the link here:[https://github.com/servo/servo/wiki/Private-browsing-student-project].&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
As required we have added the is_private member to the struct IFrameLoadInfo to check if it's a private iframe or not&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_001.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We are working on implementing the function to set this member based on the mozprivatebrowsing attribute. We are in touch with Josh regarding the same as currently there is no mozprivatebrowsing attribute in the servo project and hence we are trying to understand how it can be implemented. We have written a basic stub for the same which is as below.&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_002.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
We have created an enum that holds an isPrivate message containing pipelineId and sender as attributes&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_003.png ]]&lt;br /&gt;
&lt;br /&gt;
The below member has been added to the pipeline struct to check if it's private&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_004.png ]]&lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
We are working on implementing the below function to check if the pipeline is private&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File: Selection_005.png ]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
The requirements so far did not require us to implement any design pattern.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kpjani</name></author>
	</entry>
</feed>