<?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=Dmendez</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=Dmendez"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Dmendez"/>
	<updated>2026-09-12T18:31:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131218</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131218"/>
		<updated>2019-12-11T15:44:43Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* New Process */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how scores are retreived to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will get the scores by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, all we have left is to apply the derived formula using the scores we just retreived and then show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we initially started.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''self-review'' scores are obtained by using the ''true'' parameter in all the methods calls (as shown in the diagram), whereas the ''peer-review'' scores are retreived similarly but omiting this parameter.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of files changed:&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
* app/controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* app/models/assignment_participant.rb&lt;br /&gt;
* app/models/author_feedback_questionnaire.rb &lt;br /&gt;
* app/models/response_map.rb &lt;br /&gt;
* app/models/review_questionnaire.rb&lt;br /&gt;
* app/models/teammate_review_questionnaire.rb&lt;br /&gt;
* app/models/vm_question_response.rb&lt;br /&gt;
* app/models/vm_question_response_row.rb&lt;br /&gt;
* app/views/assignments/edit.html.erb&lt;br /&gt;
* app/views/assignments/edit/_general.html.erb&lt;br /&gt;
* app/views/grades/_participant.html.erb&lt;br /&gt;
* app/views/grades/_participant_charts.html.erb&lt;br /&gt;
* app/views/grades/_participant_title.html.erb&lt;br /&gt;
* app/views/grades/view_team.html.erb&lt;br /&gt;
* app/views/reports/_self_review_report.html.erb&lt;br /&gt;
* app/views/student_review/list.html.erb&lt;br /&gt;
* config/routes.rb&lt;br /&gt;
* db/schema.rb&lt;br /&gt;
* spec/controllers/grades_controller_spec.rb&lt;br /&gt;
* spec/controllers/sign_up_sheet_controller_spec.rb&lt;br /&gt;
* spec/features/assignment_creation_spec.rb&lt;br /&gt;
* spec/models/assignment_particpant_spec.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we show the most relevant improvements performed in this project. Feel free to review all the code changes in Github by following the next link:&lt;br /&gt;
[https://github.com/expertiza/expertiza/pull/1611/files view file changes in pull request.]&lt;br /&gt;
&lt;br /&gt;
*'''grades_controller.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch1.PNG]]&lt;br /&gt;
[[File: e1980_Img_ch6.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''assignment_participant.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch2.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''response_map.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch3.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''vm_question_response.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch4.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch5.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/14hi8J5Z6jT7leG7G-7_539Imhb-sBxj0/view Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Watch the video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu. Select any type of Author Feedback.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Log in as instructor again. Go and edit the assignment you created. In the Due dates tab, choose a date and time in the past. e.g. yesterday. This will enable peer reviews.&lt;br /&gt;
:10. Sign in again as ''student4000'' Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:11. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases were developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
* [https://docs.google.com/document/d/1GG3nseSRnExHkuu3vOBlFRcOuN3tgwHcfQp9mCzAZ0k/edit Final Projects List]&lt;br /&gt;
* [https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131217</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131217"/>
		<updated>2019-12-11T15:44:05Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how scores are retreived to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will get the scores by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, all we have left is to apply the derived formula using the scores we just retreived and then show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we initially started.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''self-review'' scores are obtained by using the ''true'' parameter in all the methods calls (as shown in the diagram), whereas the ''peer-review'' scores are retreived similarly but omiting this parameter.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of files changed:&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
* app/controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* app/models/assignment_participant.rb&lt;br /&gt;
* app/models/author_feedback_questionnaire.rb &lt;br /&gt;
* app/models/response_map.rb &lt;br /&gt;
* app/models/review_questionnaire.rb&lt;br /&gt;
* app/models/teammate_review_questionnaire.rb&lt;br /&gt;
* app/models/vm_question_response.rb&lt;br /&gt;
* app/models/vm_question_response_row.rb&lt;br /&gt;
* app/views/assignments/edit.html.erb&lt;br /&gt;
* app/views/assignments/edit/_general.html.erb&lt;br /&gt;
* app/views/grades/_participant.html.erb&lt;br /&gt;
* app/views/grades/_participant_charts.html.erb&lt;br /&gt;
* app/views/grades/_participant_title.html.erb&lt;br /&gt;
* app/views/grades/view_team.html.erb&lt;br /&gt;
* app/views/reports/_self_review_report.html.erb&lt;br /&gt;
* app/views/student_review/list.html.erb&lt;br /&gt;
* config/routes.rb&lt;br /&gt;
* db/schema.rb&lt;br /&gt;
* spec/controllers/grades_controller_spec.rb&lt;br /&gt;
* spec/controllers/sign_up_sheet_controller_spec.rb&lt;br /&gt;
* spec/features/assignment_creation_spec.rb&lt;br /&gt;
* spec/models/assignment_particpant_spec.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we show the most relevant improvements performed in this project. Feel free to review all the code changes in Github by following the next link:&lt;br /&gt;
[https://github.com/expertiza/expertiza/pull/1611/files view file changes in pull request.]&lt;br /&gt;
&lt;br /&gt;
*'''grades_controller.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch1.PNG]]&lt;br /&gt;
[[File: e1980_Img_ch6.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''assignment_participant.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch2.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''response_map.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch3.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''vm_question_response.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch4.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch5.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/14hi8J5Z6jT7leG7G-7_539Imhb-sBxj0/view Notes edited]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Watch the video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu. Select any type of Author Feedback.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Log in as instructor again. Go and edit the assignment you created. In the Due dates tab, choose a date and time in the past. e.g. yesterday. This will enable peer reviews.&lt;br /&gt;
:10. Sign in again as ''student4000'' Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:11. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases were developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
* [https://docs.google.com/document/d/1GG3nseSRnExHkuu3vOBlFRcOuN3tgwHcfQp9mCzAZ0k/edit Final Projects List]&lt;br /&gt;
* [https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131216</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131216"/>
		<updated>2019-12-11T15:43:48Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* New Process */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how scores are retreived to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will get the scores by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, all we have left is to apply the derived formula using the scores we just retreived and then show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we initially started.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''self-review'' scores are obtained by using the ''true'' parameter in all the methods calls (as shown in the diagram), whereas the ''peer-review'' scores are retreived similarly but omiting this parameter.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of files changed:&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
* app/controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* app/models/assignment_participant.rb&lt;br /&gt;
* app/models/author_feedback_questionnaire.rb &lt;br /&gt;
* app/models/response_map.rb &lt;br /&gt;
* app/models/review_questionnaire.rb&lt;br /&gt;
* app/models/teammate_review_questionnaire.rb&lt;br /&gt;
* app/models/vm_question_response.rb&lt;br /&gt;
* app/models/vm_question_response_row.rb&lt;br /&gt;
* app/views/assignments/edit.html.erb&lt;br /&gt;
* app/views/assignments/edit/_general.html.erb&lt;br /&gt;
* app/views/grades/_participant.html.erb&lt;br /&gt;
* app/views/grades/_participant_charts.html.erb&lt;br /&gt;
* app/views/grades/_participant_title.html.erb&lt;br /&gt;
* app/views/grades/view_team.html.erb&lt;br /&gt;
* app/views/reports/_self_review_report.html.erb&lt;br /&gt;
* app/views/student_review/list.html.erb&lt;br /&gt;
* config/routes.rb&lt;br /&gt;
* db/schema.rb&lt;br /&gt;
* spec/controllers/grades_controller_spec.rb&lt;br /&gt;
* spec/controllers/sign_up_sheet_controller_spec.rb&lt;br /&gt;
* spec/features/assignment_creation_spec.rb&lt;br /&gt;
* spec/models/assignment_particpant_spec.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we show the most relevant improvements performed in this project. Feel free to review all the code changes in Github by following the next link:&lt;br /&gt;
[https://github.com/expertiza/expertiza/pull/1611/files view file changes in pull request.]&lt;br /&gt;
&lt;br /&gt;
*'''grades_controller.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch1.PNG]]&lt;br /&gt;
[[File: e1980_Img_ch6.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''assignment_participant.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch2.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''response_map.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch3.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''vm_question_response.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch4.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch5.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/14hi8J5Z6jT7leG7G-7_539Imhb-sBxj0/view Notes edited]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Watch the video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu. Select any type of Author Feedback.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Log in as instructor again. Go and edit the assignment you created. In the Due dates tab, choose a date and time in the past. e.g. yesterday. This will enable peer reviews.&lt;br /&gt;
:10. Sign in again as ''student4000'' Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:11. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases were developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
* [https://docs.google.com/document/d/1GG3nseSRnExHkuu3vOBlFRcOuN3tgwHcfQp9mCzAZ0k/edit Final Projects List]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131215</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131215"/>
		<updated>2019-12-11T05:28:26Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* New Process */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how scores are retreived to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will get the scores by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, all we have left is to apply the derived formula using the scores we just retreived and then show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we initially started.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''self-review'' scores are obtained by using the ''true'' parameter in all the methods calls (as shown in the diagram), whereas the ''peer-review'' scores are retreived similarly but omiting this parameter.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of files changed:&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
* app/controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* app/models/assignment_participant.rb&lt;br /&gt;
* app/models/author_feedback_questionnaire.rb &lt;br /&gt;
* app/models/response_map.rb &lt;br /&gt;
* app/models/review_questionnaire.rb&lt;br /&gt;
* app/models/teammate_review_questionnaire.rb&lt;br /&gt;
* app/models/vm_question_response.rb&lt;br /&gt;
* app/models/vm_question_response_row.rb&lt;br /&gt;
* app/views/assignments/edit.html.erb&lt;br /&gt;
* app/views/assignments/edit/_general.html.erb&lt;br /&gt;
* app/views/grades/_participant.html.erb&lt;br /&gt;
* app/views/grades/_participant_charts.html.erb&lt;br /&gt;
* app/views/grades/_participant_title.html.erb&lt;br /&gt;
* app/views/grades/view_team.html.erb&lt;br /&gt;
* app/views/reports/_self_review_report.html.erb&lt;br /&gt;
* app/views/student_review/list.html.erb&lt;br /&gt;
* config/routes.rb&lt;br /&gt;
* db/schema.rb&lt;br /&gt;
* spec/controllers/grades_controller_spec.rb&lt;br /&gt;
* spec/controllers/sign_up_sheet_controller_spec.rb&lt;br /&gt;
* spec/features/assignment_creation_spec.rb&lt;br /&gt;
* spec/models/assignment_particpant_spec.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we show the most relevant improvements performed in this project. Feel free to review all the code changes in Github by following the next link:&lt;br /&gt;
[https://github.com/expertiza/expertiza/pull/1611/files view file changes in pull request.]&lt;br /&gt;
&lt;br /&gt;
*'''grades_controller.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch1.PNG]]&lt;br /&gt;
[[File: e1980_Img_ch6.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''assignment_participant.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch2.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''response_map.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch3.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''vm_question_response.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch4.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch5.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
::[https://drive.google.com/file/d/14hi8J5Z6jT7leG7G-7_539Imhb-sBxj0/view Notes edited]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Watch the video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu. Select any type of Author Feedback.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Log in as instructor again. Go and edit the assignment you created. In the Due dates tab, choose a date and time in the past. e.g. yesterday. This will enable peer reviews.&lt;br /&gt;
:10. Sign in again as ''student4000'' Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:11. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases were developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
* [https://docs.google.com/document/d/1GG3nseSRnExHkuu3vOBlFRcOuN3tgwHcfQp9mCzAZ0k/edit Final Projects List]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131214</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131214"/>
		<updated>2019-12-11T05:28:14Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* New Process */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how scores are retreived to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will get the scores by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, all we have left is to apply the derived formula using the scores we just retreived and then show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we initially started.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''self-review'' scores are obtained by using the ''true'' parameter in all the methods calls (as shown in the diagram), whereas the ''peer-review'' scores are retreived similarly but omiting this parameter.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of files changed:&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
* app/controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* app/models/assignment_participant.rb&lt;br /&gt;
* app/models/author_feedback_questionnaire.rb &lt;br /&gt;
* app/models/response_map.rb &lt;br /&gt;
* app/models/review_questionnaire.rb&lt;br /&gt;
* app/models/teammate_review_questionnaire.rb&lt;br /&gt;
* app/models/vm_question_response.rb&lt;br /&gt;
* app/models/vm_question_response_row.rb&lt;br /&gt;
* app/views/assignments/edit.html.erb&lt;br /&gt;
* app/views/assignments/edit/_general.html.erb&lt;br /&gt;
* app/views/grades/_participant.html.erb&lt;br /&gt;
* app/views/grades/_participant_charts.html.erb&lt;br /&gt;
* app/views/grades/_participant_title.html.erb&lt;br /&gt;
* app/views/grades/view_team.html.erb&lt;br /&gt;
* app/views/reports/_self_review_report.html.erb&lt;br /&gt;
* app/views/student_review/list.html.erb&lt;br /&gt;
* config/routes.rb&lt;br /&gt;
* db/schema.rb&lt;br /&gt;
* spec/controllers/grades_controller_spec.rb&lt;br /&gt;
* spec/controllers/sign_up_sheet_controller_spec.rb&lt;br /&gt;
* spec/features/assignment_creation_spec.rb&lt;br /&gt;
* spec/models/assignment_particpant_spec.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we show the most relevant improvements performed in this project. Feel free to review all the code changes in Github by following the next link:&lt;br /&gt;
[https://github.com/expertiza/expertiza/pull/1611/files view file changes in pull request.]&lt;br /&gt;
&lt;br /&gt;
*'''grades_controller.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch1.PNG]]&lt;br /&gt;
[[File: e1980_Img_ch6.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''assignment_participant.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch2.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''response_map.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch3.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''vm_question_response.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch4.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch5.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
::[[https://drive.google.com/file/d/14hi8J5Z6jT7leG7G-7_539Imhb-sBxj0/view Notes edited]]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Watch the video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu. Select any type of Author Feedback.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Log in as instructor again. Go and edit the assignment you created. In the Due dates tab, choose a date and time in the past. e.g. yesterday. This will enable peer reviews.&lt;br /&gt;
:10. Sign in again as ''student4000'' Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:11. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases were developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
* [https://docs.google.com/document/d/1GG3nseSRnExHkuu3vOBlFRcOuN3tgwHcfQp9mCzAZ0k/edit Final Projects List]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131213</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131213"/>
		<updated>2019-12-11T05:19:58Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how scores are retreived to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will get the scores by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, all we have left is to apply the derived formula using the scores we just retreived and then show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we initially started.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''self-review'' scores are obtained by using the ''true'' parameter in all the methods calls (as shown in the diagram), whereas the ''peer-review'' scores are retreived similarly but omiting this parameter.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of files changed:&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
* app/controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* app/models/assignment_participant.rb&lt;br /&gt;
* app/models/author_feedback_questionnaire.rb &lt;br /&gt;
* app/models/response_map.rb &lt;br /&gt;
* app/models/review_questionnaire.rb&lt;br /&gt;
* app/models/teammate_review_questionnaire.rb&lt;br /&gt;
* app/models/vm_question_response.rb&lt;br /&gt;
* app/models/vm_question_response_row.rb&lt;br /&gt;
* app/views/assignments/edit.html.erb&lt;br /&gt;
* app/views/assignments/edit/_general.html.erb&lt;br /&gt;
* app/views/grades/_participant.html.erb&lt;br /&gt;
* app/views/grades/_participant_charts.html.erb&lt;br /&gt;
* app/views/grades/_participant_title.html.erb&lt;br /&gt;
* app/views/grades/view_team.html.erb&lt;br /&gt;
* app/views/reports/_self_review_report.html.erb&lt;br /&gt;
* app/views/student_review/list.html.erb&lt;br /&gt;
* config/routes.rb&lt;br /&gt;
* db/schema.rb&lt;br /&gt;
* spec/controllers/grades_controller_spec.rb&lt;br /&gt;
* spec/controllers/sign_up_sheet_controller_spec.rb&lt;br /&gt;
* spec/features/assignment_creation_spec.rb&lt;br /&gt;
* spec/models/assignment_particpant_spec.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we show the most relevant improvements performed in this project. Feel free to review all the code changes in Github by following the next link:&lt;br /&gt;
[https://github.com/expertiza/expertiza/pull/1611/files view file changes in pull request.]&lt;br /&gt;
&lt;br /&gt;
*'''grades_controller.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch1.PNG]]&lt;br /&gt;
[[File: e1980_Img_ch6.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''assignment_participant.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch2.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''response_map.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch3.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''vm_question_response.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch4.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch5.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Watch the video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu. Select any type of Author Feedback.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Log in as instructor again. Go and edit the assignment you created. In the Due dates tab, choose a date and time in the past. e.g. yesterday. This will enable peer reviews.&lt;br /&gt;
:10. Sign in again as ''student4000'' Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:11. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases were developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
* [https://docs.google.com/document/d/1GG3nseSRnExHkuu3vOBlFRcOuN3tgwHcfQp9mCzAZ0k/edit Final Projects List]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131212</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131212"/>
		<updated>2019-12-11T05:09:57Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how scores are retreived to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will get the scores by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, all we have left is to apply the derived formula using the scores we just retreived and then show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we initially started.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''self-review'' scores are obtained by using the ''true'' parameter in all the methods calls (as shown in the diagram), whereas the ''peer-review'' scores are retreived similarly but omiting this parameter.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of files changed:&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
* app/controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* app/models/assignment_participant.rb&lt;br /&gt;
* app/models/author_feedback_questionnaire.rb &lt;br /&gt;
* app/models/response_map.rb &lt;br /&gt;
* app/models/review_questionnaire.rb&lt;br /&gt;
* app/models/teammate_review_questionnaire.rb&lt;br /&gt;
* app/models/vm_question_response.rb&lt;br /&gt;
* app/models/vm_question_response_row.rb&lt;br /&gt;
* app/views/assignments/edit.html.erb&lt;br /&gt;
* app/views/assignments/edit/_general.html.erb&lt;br /&gt;
* app/views/grades/_participant.html.erb&lt;br /&gt;
* app/views/grades/_participant_charts.html.erb&lt;br /&gt;
* app/views/grades/_participant_title.html.erb&lt;br /&gt;
* app/views/grades/view_team.html.erb&lt;br /&gt;
* app/views/reports/_self_review_report.html.erb&lt;br /&gt;
* app/views/student_review/list.html.erb&lt;br /&gt;
* config/routes.rb&lt;br /&gt;
* db/schema.rb&lt;br /&gt;
* spec/controllers/grades_controller_spec.rb&lt;br /&gt;
* spec/controllers/sign_up_sheet_controller_spec.rb&lt;br /&gt;
* spec/features/assignment_creation_spec.rb&lt;br /&gt;
* spec/models/assignment_particpant_spec.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we show the most relevant improvements performed in this project. Feel free to review all the code changes in Github by following the next link:&lt;br /&gt;
[https://github.com/expertiza/expertiza/pull/1611/files view file changes in pull request.]&lt;br /&gt;
&lt;br /&gt;
*'''grades_controller.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch1.PNG]]&lt;br /&gt;
[[File: e1980_Img_ch6.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''assignment_participant.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch2.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''response_map.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch3.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''vm_question_response.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch4.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch5.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Watch the video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu. Select any type of Author Feedback.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Log in as instructor again. Go and edit the assignment you created. In the Due dates tab, choose a date and time in the past. e.g. yesterday. This will enable peer reviews.&lt;br /&gt;
:10. Sign in again as ''student4000'' Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:11. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases were developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
* [https://docs.google.com/document/d/1GG3nseSRnExHkuu3vOBlFRcOuN3tgwHcfQp9mCzAZ0k/edit Projects pool]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131211</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131211"/>
		<updated>2019-12-11T05:05:42Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Code Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how scores are retreived to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will get the scores by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, all we have left is to apply the derived formula using the scores we just retreived and then show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we initially started.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''self-review'' scores are obtained by using the ''true'' parameter in all the methods calls (as shown in the diagram), whereas the ''peer-review'' scores are retreived similarly but omiting this parameter.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of files changed:&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
* app/controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* app/models/assignment_participant.rb&lt;br /&gt;
* app/models/author_feedback_questionnaire.rb &lt;br /&gt;
* app/models/response_map.rb &lt;br /&gt;
* app/models/review_questionnaire.rb&lt;br /&gt;
* app/models/teammate_review_questionnaire.rb&lt;br /&gt;
* app/models/vm_question_response.rb&lt;br /&gt;
* app/models/vm_question_response_row.rb&lt;br /&gt;
* app/views/assignments/edit.html.erb&lt;br /&gt;
* app/views/assignments/edit/_general.html.erb&lt;br /&gt;
* app/views/grades/_participant.html.erb&lt;br /&gt;
* app/views/grades/_participant_charts.html.erb&lt;br /&gt;
* app/views/grades/_participant_title.html.erb&lt;br /&gt;
* app/views/grades/view_team.html.erb&lt;br /&gt;
* app/views/reports/_self_review_report.html.erb&lt;br /&gt;
* app/views/student_review/list.html.erb&lt;br /&gt;
* config/routes.rb&lt;br /&gt;
* db/schema.rb&lt;br /&gt;
* spec/controllers/grades_controller_spec.rb&lt;br /&gt;
* spec/controllers/sign_up_sheet_controller_spec.rb&lt;br /&gt;
* spec/features/assignment_creation_spec.rb&lt;br /&gt;
* spec/models/assignment_particpant_spec.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we show the most relevant improvements performed in this project. Feel free to review all the code changes in Github by following the next link:&lt;br /&gt;
[https://github.com/expertiza/expertiza/pull/1611/files view file changes in pull request.]&lt;br /&gt;
&lt;br /&gt;
*'''grades_controller.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch1.PNG]]&lt;br /&gt;
[[File: e1980_Img_ch6.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''assignment_participant.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch2.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''response_map.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch3.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''vm_question_response.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch4.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch5.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Watch the video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu. Select any type of Author Feedback.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Log in as instructor again. Go and edit the assignment you created. In the Due dates tab, choose a date and time in the past. e.g. yesterday. This will enable peer reviews.&lt;br /&gt;
:10. Sign in again as ''student4000'' Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:11. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases were developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131210</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131210"/>
		<updated>2019-12-11T05:04:58Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Code Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how scores are retreived to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will get the scores by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, all we have left is to apply the derived formula using the scores we retreived and then show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''self-review'' scores are obtained by using the ''true'' parameter in all the methods calls (as shown in the diagram), whereas the ''peer-review'' scores are retreived similarly but omiting this parameter.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of files changed:&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
* app/controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* app/models/assignment_participant.rb&lt;br /&gt;
* app/models/author_feedback_questionnaire.rb &lt;br /&gt;
* app/models/response_map.rb &lt;br /&gt;
* app/models/review_questionnaire.rb&lt;br /&gt;
* app/models/teammate_review_questionnaire.rb&lt;br /&gt;
* app/models/vm_question_response.rb&lt;br /&gt;
* app/models/vm_question_response_row.rb&lt;br /&gt;
* app/views/assignments/edit.html.erb&lt;br /&gt;
* app/views/assignments/edit/_general.html.erb&lt;br /&gt;
* app/views/grades/_participant.html.erb&lt;br /&gt;
* app/views/grades/_participant_charts.html.erb&lt;br /&gt;
* app/views/grades/_participant_title.html.erb&lt;br /&gt;
* app/views/grades/view_team.html.erb&lt;br /&gt;
* app/views/reports/_self_review_report.html.erb&lt;br /&gt;
* app/views/student_review/list.html.erb&lt;br /&gt;
* config/routes.rb&lt;br /&gt;
* db/schema.rb&lt;br /&gt;
* spec/controllers/grades_controller_spec.rb&lt;br /&gt;
* spec/controllers/sign_up_sheet_controller_spec.rb&lt;br /&gt;
* spec/features/assignment_creation_spec.rb&lt;br /&gt;
* spec/models/assignment_particpant_spec.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we show the most relevant improvements performed in this project. Feel free to review all the code changes in Github by following the next link:&lt;br /&gt;
[https://github.com/expertiza/expertiza/pull/1611/files view file changes in pull request.]&lt;br /&gt;
&lt;br /&gt;
*'''grades_controller.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch1.PNG]]&lt;br /&gt;
[[File: e1980_Img_ch6.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''assignment_participant.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch2.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''response_map.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch3.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''vm_question_response.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch4.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch5.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Watch the video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu. Select any type of Author Feedback.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Log in as instructor again. Go and edit the assignment you created. In the Due dates tab, choose a date and time in the past. e.g. yesterday. This will enable peer reviews.&lt;br /&gt;
:10. Sign in again as ''student4000'' Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:11. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases were developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131209</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131209"/>
		<updated>2019-12-11T05:03:21Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Code Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how scores are retreived to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, all we have left is to apply the derived formula using the score we retreived and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''self-review'' scores are obtained by using the ''true'' parameter in all the methods calls (as shown in the diagram), whereas the ''peer-review'' scores are retreived similarly but omiting this parameter.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of files changed:&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
* app/controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* app/models/assignment_participant.rb&lt;br /&gt;
* app/models/author_feedback_questionnaire.rb &lt;br /&gt;
* app/models/response_map.rb &lt;br /&gt;
* app/models/review_questionnaire.rb&lt;br /&gt;
* app/models/teammate_review_questionnaire.rb&lt;br /&gt;
* app/models/vm_question_response.rb&lt;br /&gt;
* app/models/vm_question_response_row.rb&lt;br /&gt;
* app/views/assignments/edit.html.erb&lt;br /&gt;
* app/views/assignments/edit/_general.html.erb&lt;br /&gt;
* app/views/grades/_participant.html.erb&lt;br /&gt;
* app/views/grades/_participant_charts.html.erb&lt;br /&gt;
* app/views/grades/_participant_title.html.erb&lt;br /&gt;
* app/views/grades/view_team.html.erb&lt;br /&gt;
* app/views/reports/_self_review_report.html.erb&lt;br /&gt;
* app/views/student_review/list.html.erb&lt;br /&gt;
* config/routes.rb&lt;br /&gt;
* db/schema.rb&lt;br /&gt;
* spec/controllers/grades_controller_spec.rb&lt;br /&gt;
* spec/controllers/sign_up_sheet_controller_spec.rb&lt;br /&gt;
* spec/features/assignment_creation_spec.rb&lt;br /&gt;
* spec/models/assignment_particpant_spec.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we show the most relevant improvements performed in this project. Feel free to review all the code changes in Github by following the next link:&lt;br /&gt;
[https://github.com/expertiza/expertiza/pull/1611/files view file changes in pull request.]&lt;br /&gt;
&lt;br /&gt;
*'''grades_controller.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch1.PNG]]&lt;br /&gt;
[[File: e1980_Img_ch6.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''assignment_participant.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch2.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''response_map.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch3.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''vm_question_response.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch4.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch5.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Watch the video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu. Select any type of Author Feedback.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Log in as instructor again. Go and edit the assignment you created. In the Due dates tab, choose a date and time in the past. e.g. yesterday. This will enable peer reviews.&lt;br /&gt;
:10. Sign in again as ''student4000'' Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:11. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases were developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131202</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131202"/>
		<updated>2019-12-11T00:54:25Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Code Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of files changed:&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
* app/controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* app/models/assignment_participant.rb&lt;br /&gt;
* app/models/author_feedback_questionnaire.rb &lt;br /&gt;
* app/models/response_map.rb &lt;br /&gt;
* app/models/review_questionnaire.rb&lt;br /&gt;
* app/models/teammate_review_questionnaire.rb&lt;br /&gt;
* app/models/vm_question_response.rb&lt;br /&gt;
* app/models/vm_question_response_row.rb&lt;br /&gt;
* app/views/assignments/edit.html.erb&lt;br /&gt;
* app/views/assignments/edit/_general.html.erb&lt;br /&gt;
* app/views/grades/_participant.html.erb&lt;br /&gt;
* app/views/grades/_participant_charts.html.erb&lt;br /&gt;
* app/views/grades/_participant_title.html.erb&lt;br /&gt;
* app/views/grades/view_team.html.erb&lt;br /&gt;
* app/views/reports/_self_review_report.html.erb&lt;br /&gt;
* app/views/student_review/list.html.erb&lt;br /&gt;
* config/routes.rb&lt;br /&gt;
* db/schema.rb&lt;br /&gt;
* spec/controllers/grades_controller_spec.rb&lt;br /&gt;
* spec/controllers/sign_up_sheet_controller_spec.rb&lt;br /&gt;
* spec/features/assignment_creation_spec.rb&lt;br /&gt;
* spec/models/assignment_particpant_spec.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we show the most relevant improvements performed in this project. Feel free to review all the code changes in Github by following the next link:&lt;br /&gt;
[https://github.com/expertiza/expertiza/pull/1611/files view file changes in pull request.]&lt;br /&gt;
&lt;br /&gt;
*'''grades_controller.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch1.PNG]]&lt;br /&gt;
[[File: e1980_Img_ch6.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''assignment_participant.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch2.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''response_map.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch3.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''vm_question_response.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch4.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch5.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Watch the video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu. Select any type of Author Feedback.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Log in as instructor again. Go and edit the assignment you created. In the Due dates tab, choose a date and time in the past. e.g. yesterday. This will enable peer reviews.&lt;br /&gt;
:10. Sign in again as ''student4000'' Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:11. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases were developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:E1980_Img_ch6.PNG&amp;diff=131201</id>
		<title>File:E1980 Img ch6.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:E1980_Img_ch6.PNG&amp;diff=131201"/>
		<updated>2019-12-11T00:53:49Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131200</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131200"/>
		<updated>2019-12-11T00:01:37Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Manual Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of files changed:&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
* app/controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* app/models/assignment_participant.rb&lt;br /&gt;
* app/models/author_feedback_questionnaire.rb &lt;br /&gt;
* app/models/response_map.rb &lt;br /&gt;
* app/models/review_questionnaire.rb&lt;br /&gt;
* app/models/teammate_review_questionnaire.rb&lt;br /&gt;
* app/models/vm_question_response.rb&lt;br /&gt;
* app/models/vm_question_response_row.rb&lt;br /&gt;
* app/views/assignments/edit.html.erb&lt;br /&gt;
* app/views/assignments/edit/_general.html.erb&lt;br /&gt;
* app/views/grades/_participant.html.erb&lt;br /&gt;
* app/views/grades/_participant_charts.html.erb&lt;br /&gt;
* app/views/grades/_participant_title.html.erb&lt;br /&gt;
* app/views/grades/view_team.html.erb&lt;br /&gt;
* app/views/reports/_self_review_report.html.erb&lt;br /&gt;
* app/views/student_review/list.html.erb&lt;br /&gt;
* config/routes.rb&lt;br /&gt;
* db/schema.rb&lt;br /&gt;
* spec/controllers/grades_controller_spec.rb&lt;br /&gt;
* spec/controllers/sign_up_sheet_controller_spec.rb&lt;br /&gt;
* spec/features/assignment_creation_spec.rb&lt;br /&gt;
* spec/models/assignment_particpant_spec.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we show the most relevant improvements performed in this project. Feel free to review all the code changes in Github by following the next link:&lt;br /&gt;
[https://github.com/expertiza/expertiza/pull/1611/files view file changes in pull request.]&lt;br /&gt;
&lt;br /&gt;
*'''grades_controller.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch1.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''assignment_participant.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch2.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''response_map.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch3.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''vm_question_response.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch4.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch5.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Watch the video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu. Select any type of Author Feedback.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Log in as instructor again. Go and edit the assignment you created. In the Due dates tab, choose a date and time in the past. e.g. yesterday. This will enable peer reviews.&lt;br /&gt;
:10. Sign in again as ''student4000'' Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:11. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases were developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131199</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=131199"/>
		<updated>2019-12-10T23:44:42Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Manual Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of files changed:&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
* app/controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* app/models/assignment_participant.rb&lt;br /&gt;
* app/models/author_feedback_questionnaire.rb &lt;br /&gt;
* app/models/response_map.rb &lt;br /&gt;
* app/models/review_questionnaire.rb&lt;br /&gt;
* app/models/teammate_review_questionnaire.rb&lt;br /&gt;
* app/models/vm_question_response.rb&lt;br /&gt;
* app/models/vm_question_response_row.rb&lt;br /&gt;
* app/views/assignments/edit.html.erb&lt;br /&gt;
* app/views/assignments/edit/_general.html.erb&lt;br /&gt;
* app/views/grades/_participant.html.erb&lt;br /&gt;
* app/views/grades/_participant_charts.html.erb&lt;br /&gt;
* app/views/grades/_participant_title.html.erb&lt;br /&gt;
* app/views/grades/view_team.html.erb&lt;br /&gt;
* app/views/reports/_self_review_report.html.erb&lt;br /&gt;
* app/views/student_review/list.html.erb&lt;br /&gt;
* config/routes.rb&lt;br /&gt;
* db/schema.rb&lt;br /&gt;
* spec/controllers/grades_controller_spec.rb&lt;br /&gt;
* spec/controllers/sign_up_sheet_controller_spec.rb&lt;br /&gt;
* spec/features/assignment_creation_spec.rb&lt;br /&gt;
* spec/models/assignment_particpant_spec.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we show the most relevant improvements performed in this project. Feel free to review all the code changes in Github by following the next link:&lt;br /&gt;
[https://github.com/expertiza/expertiza/pull/1611/files view file changes in pull request.]&lt;br /&gt;
&lt;br /&gt;
*'''grades_controller.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch1.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''assignment_participant.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch2.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''response_map.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch3.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''vm_question_response.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch4.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch5.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Watch the video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu. Select any type of Author Feedback.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases were developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130752</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130752"/>
		<updated>2019-12-07T02:16:48Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Future Work */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of files changed:&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
* app/controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* app/models/assignment_participant.rb&lt;br /&gt;
* app/models/author_feedback_questionnaire.rb &lt;br /&gt;
* app/models/response_map.rb &lt;br /&gt;
* app/models/review_questionnaire.rb&lt;br /&gt;
* app/models/teammate_review_questionnaire.rb&lt;br /&gt;
* app/models/vm_question_response.rb&lt;br /&gt;
* app/models/vm_question_response_row.rb&lt;br /&gt;
* app/views/assignments/edit.html.erb&lt;br /&gt;
* app/views/assignments/edit/_general.html.erb&lt;br /&gt;
* app/views/grades/_participant.html.erb&lt;br /&gt;
* app/views/grades/_participant_charts.html.erb&lt;br /&gt;
* app/views/grades/_participant_title.html.erb&lt;br /&gt;
* app/views/grades/view_team.html.erb&lt;br /&gt;
* app/views/reports/_self_review_report.html.erb&lt;br /&gt;
* app/views/student_review/list.html.erb&lt;br /&gt;
* config/routes.rb&lt;br /&gt;
* db/schema.rb&lt;br /&gt;
* spec/controllers/grades_controller_spec.rb&lt;br /&gt;
* spec/controllers/sign_up_sheet_controller_spec.rb&lt;br /&gt;
* spec/features/assignment_creation_spec.rb&lt;br /&gt;
* spec/models/assignment_particpant_spec.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we show the most relevant improvements performed in this project. Feel free to review all the code changes in Github by following the next link:&lt;br /&gt;
[https://github.com/expertiza/expertiza/pull/1611/files view file changes in pull request.]&lt;br /&gt;
&lt;br /&gt;
*'''grades_controller.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch1.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''assignment_participant.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch2.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''response_map.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch3.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''vm_question_response.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch4.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch5.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Watch the video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases were developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130748</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130748"/>
		<updated>2019-12-07T02:15:31Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Rspec Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of files changed:&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
* app/controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* app/models/assignment_participant.rb&lt;br /&gt;
* app/models/author_feedback_questionnaire.rb &lt;br /&gt;
* app/models/response_map.rb &lt;br /&gt;
* app/models/review_questionnaire.rb&lt;br /&gt;
* app/models/teammate_review_questionnaire.rb&lt;br /&gt;
* app/models/vm_question_response.rb&lt;br /&gt;
* app/models/vm_question_response_row.rb&lt;br /&gt;
* app/views/assignments/edit.html.erb&lt;br /&gt;
* app/views/assignments/edit/_general.html.erb&lt;br /&gt;
* app/views/grades/_participant.html.erb&lt;br /&gt;
* app/views/grades/_participant_charts.html.erb&lt;br /&gt;
* app/views/grades/_participant_title.html.erb&lt;br /&gt;
* app/views/grades/view_team.html.erb&lt;br /&gt;
* app/views/reports/_self_review_report.html.erb&lt;br /&gt;
* app/views/student_review/list.html.erb&lt;br /&gt;
* config/routes.rb&lt;br /&gt;
* db/schema.rb&lt;br /&gt;
* spec/controllers/grades_controller_spec.rb&lt;br /&gt;
* spec/controllers/sign_up_sheet_controller_spec.rb&lt;br /&gt;
* spec/features/assignment_creation_spec.rb&lt;br /&gt;
* spec/models/assignment_particpant_spec.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we show the most relevant improvements performed in this project. Feel free to review all the code changes in Github by following the next link:&lt;br /&gt;
[https://github.com/expertiza/expertiza/pull/1611/files view file changes in pull request.]&lt;br /&gt;
&lt;br /&gt;
*'''grades_controller.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch1.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''assignment_participant.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch2.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''response_map.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch3.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''vm_question_response.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch4.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch5.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Watch the video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases were developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130742</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130742"/>
		<updated>2019-12-07T02:12:51Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Code Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of files changed:&lt;br /&gt;
* app/controllers/grades_controller.rb&lt;br /&gt;
* app/controllers/sign_up_sheet_controller.rb&lt;br /&gt;
* app/models/assignment_participant.rb&lt;br /&gt;
* app/models/author_feedback_questionnaire.rb &lt;br /&gt;
* app/models/response_map.rb &lt;br /&gt;
* app/models/review_questionnaire.rb&lt;br /&gt;
* app/models/teammate_review_questionnaire.rb&lt;br /&gt;
* app/models/vm_question_response.rb&lt;br /&gt;
* app/models/vm_question_response_row.rb&lt;br /&gt;
* app/views/assignments/edit.html.erb&lt;br /&gt;
* app/views/assignments/edit/_general.html.erb&lt;br /&gt;
* app/views/grades/_participant.html.erb&lt;br /&gt;
* app/views/grades/_participant_charts.html.erb&lt;br /&gt;
* app/views/grades/_participant_title.html.erb&lt;br /&gt;
* app/views/grades/view_team.html.erb&lt;br /&gt;
* app/views/reports/_self_review_report.html.erb&lt;br /&gt;
* app/views/student_review/list.html.erb&lt;br /&gt;
* config/routes.rb&lt;br /&gt;
* db/schema.rb&lt;br /&gt;
* spec/controllers/grades_controller_spec.rb&lt;br /&gt;
* spec/controllers/sign_up_sheet_controller_spec.rb&lt;br /&gt;
* spec/features/assignment_creation_spec.rb&lt;br /&gt;
* spec/models/assignment_particpant_spec.rb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we show the most relevant improvements performed in this project. Feel free to review all the code changes in Github by following the next link:&lt;br /&gt;
[https://github.com/expertiza/expertiza/pull/1611/files view file changes in pull request.]&lt;br /&gt;
&lt;br /&gt;
*'''grades_controller.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch1.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''assignment_participant.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch2.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''response_map.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch3.PNG]]&lt;br /&gt;
&lt;br /&gt;
*'''vm_question_response.rb'''&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch4.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[File: e1984_Img_ch5.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Watch the video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_Img_ch5.PNG&amp;diff=130741</id>
		<title>File:E1984 Img ch5.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_Img_ch5.PNG&amp;diff=130741"/>
		<updated>2019-12-07T02:12:21Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_Img_ch4.PNG&amp;diff=130740</id>
		<title>File:E1984 Img ch4.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_Img_ch4.PNG&amp;diff=130740"/>
		<updated>2019-12-07T02:12:10Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_Img_ch3.PNG&amp;diff=130738</id>
		<title>File:E1984 Img ch3.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_Img_ch3.PNG&amp;diff=130738"/>
		<updated>2019-12-07T02:11:58Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_Img_ch2.PNG&amp;diff=130736</id>
		<title>File:E1984 Img ch2.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_Img_ch2.PNG&amp;diff=130736"/>
		<updated>2019-12-07T02:11:46Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_Img_ch1.PNG&amp;diff=130726</id>
		<title>File:E1984 Img ch1.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_Img_ch1.PNG&amp;diff=130726"/>
		<updated>2019-12-07T02:07:39Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130690</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130690"/>
		<updated>2019-12-07T01:45:03Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Code Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://github.com/expertiza/expertiza/pull/1611/files View file changes.]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Watch the video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130689</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130689"/>
		<updated>2019-12-07T01:42:04Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Watch the video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130683</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130683"/>
		<updated>2019-12-07T01:39:15Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Manual Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go watch to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1d.PNG]] [[File:e1984_img2d.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_img2d.png&amp;diff=130682</id>
		<title>File:E1984 img2d.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_img2d.png&amp;diff=130682"/>
		<updated>2019-12-07T01:39:07Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_img1d.PNG&amp;diff=130679</id>
		<title>File:E1984 img1d.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_img1d.PNG&amp;diff=130679"/>
		<updated>2019-12-07T01:38:34Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130673</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130673"/>
		<updated>2019-12-07T01:35:28Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Manual Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go watch to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img1c.PNG]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_img1c.PNG&amp;diff=130672</id>
		<title>File:E1984 img1c.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_img1c.PNG&amp;diff=130672"/>
		<updated>2019-12-07T01:35:12Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: self review score display&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;self review score display&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130656</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130656"/>
		<updated>2019-12-07T01:29:51Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Current Process */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go watch to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130653</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130653"/>
		<updated>2019-12-07T01:28:43Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Current Process */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7b.png]]&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go watch to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_img7b.png&amp;diff=130650</id>
		<title>File:E1984 img7b.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_img7b.png&amp;diff=130650"/>
		<updated>2019-12-07T01:28:31Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: self review process&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;self review process&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130645</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130645"/>
		<updated>2019-12-07T01:27:42Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Current Process */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984 img7a.png]]&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go watch to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_img7a.png&amp;diff=130641</id>
		<title>File:E1984 img7a.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:E1984_img7a.png&amp;diff=130641"/>
		<updated>2019-12-07T01:27:07Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: self review process&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;self review process&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130591</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130591"/>
		<updated>2019-12-07T00:59:57Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Manual Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go watch to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo, then follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130590</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130590"/>
		<updated>2019-12-07T00:59:14Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go watch to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo. Please follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130589</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130589"/>
		<updated>2019-12-07T00:59:00Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* New Process */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score for a given assignment:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo. Please follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130588</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130588"/>
		<updated>2019-12-07T00:58:28Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* New Process */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo. Please follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130587</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130587"/>
		<updated>2019-12-07T00:56:57Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Code Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is done in ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a new formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo. Please follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130585</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130585"/>
		<updated>2019-12-07T00:56:16Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Code Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is carried on ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a new formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo. Please follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130584</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130584"/>
		<updated>2019-12-07T00:55:58Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Code Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for'' method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is carried on ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a new formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo. Please follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130580</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130580"/>
		<updated>2019-12-07T00:54:45Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Code Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for''method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is carried on ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a new formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo. Please follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130579</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130579"/>
		<updated>2019-12-07T00:54:08Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Code Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for''method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is carried on ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a new formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo. Please follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130578</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130578"/>
		<updated>2019-12-07T00:53:47Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Code Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers, i.e. the peer-review score&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-review score by simply calling the ''get_assessments_for''method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we retreived the peer-review score and self-review score, all we have left is to apply the derived formula and show the result in the respective views. All this process is carried on ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a new formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo. Please follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130574</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130574"/>
		<updated>2019-12-07T00:52:09Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Code Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given by peers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores is done in ''compute_assignment_score'' located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''get_assessments_for'' method will call the ''reviews'' method located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ''reviews'' method will finally get the self-assesment score by simply calling the ''get_assessments_for''method located in ''response_map.rb''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we retreived the peer-review scores and self-review scores, all we have left is to apply the derived formula and show the result in the respective views. All this process is carried on ''grades_controllers.rb'', where we started.&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a new formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo. Please follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130537</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130537"/>
		<updated>2019-12-07T00:23:27Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Code Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess of how code changes work together to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start in the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score.&lt;br /&gt;
&lt;br /&gt;
We access the participant scores by calling the ''scores'' method defined in ''assignment_participant.rb''. Here, the ''scores'' method returns scores that the participant has been given.&lt;br /&gt;
&lt;br /&gt;
The actual computation for the participant scores are done in ''compute_assignment_score'' located also in ''assignment_participant.rb''.&lt;br /&gt;
&lt;br /&gt;
Inside ''compute_assignment_score'' we call another method called ''get_assessments_for'' which is located in ''review_questionnare.rb''.&lt;br /&gt;
&lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a new formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo. Please follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130510</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130510"/>
		<updated>2019-12-07T00:08:43Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Code Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess we followed to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|First, we start looking at the ''grades_controllers.rb'' file which contains all the logic for computing an assignment score. &lt;br /&gt;
|[[File:E1926_code_flow.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a new formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo. Please follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130488</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130488"/>
		<updated>2019-12-06T23:54:50Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Code Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess we followed to implement the self-review score feature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_code_flow.png]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a new formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo. Please follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130486</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130486"/>
		<updated>2019-12-06T23:54:34Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* Code Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess we followed to implement the self-review feature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_code_flow.png]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a new formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo. Please follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130457</id>
		<title>CSC/ECE 517 Fall 2019 - E1984. Improve self-review Link peer review &amp; self-review to derive grades</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1984._Improve_self-review_Link_peer_review_%26_self-review_to_derive_grades&amp;diff=130457"/>
		<updated>2019-12-06T23:36:57Z</updated>

		<summary type="html">&lt;p&gt;Dmendez: /* New Process */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza-based Semester project. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Problem Statement and Overview===&lt;br /&gt;
&lt;br /&gt;
In Expertiza the Instructor can create assignments and check the 'Allow self-review' box for Students. When enabled, each member evaluates his/her submission with the same criteria as the peer review. Currently, these self-review scores are not used to compute the final scores for the assignment. The task here is to improve the self-review system pertaining to give it a weightage in the final scores for the submissions. &lt;br /&gt;
&lt;br /&gt;
[[Image:Self_Reviews_1.png]]&lt;br /&gt;
&lt;br /&gt;
The objectives we achieved for this project are as follows:&lt;br /&gt;
    &lt;br /&gt;
*Provide a formula that takes both the peer review score and self-review score into account for calculating the ''composite score''.&lt;br /&gt;
*The ''composite score'' should get higher as the ''self-review score'' gets closer to the ''peer-review score''.&lt;br /&gt;
*Make sure that the ''peer-review scores'' are not visible before the self-review submission.&lt;br /&gt;
*Display the ''composite score'' on the “View Scores” page.&lt;br /&gt;
*Display the ''self-review scores'' in the &amp;quot;View Scores&amp;quot; page and in the &amp;quot;Alternate&amp;quot; (heat-map) view  of the peer-reviews, highlighting them as a different type of review.&lt;br /&gt;
&lt;br /&gt;
The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work. According to self assessment rules: students get more points as their self-review get closer to the scores given by their peer reviewers.&lt;br /&gt;
&lt;br /&gt;
===Code Changes===&lt;br /&gt;
&lt;br /&gt;
The following flowchart illustrates the proccess we followed to mamke improvements to the self-review feature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_code_flow.png]]&lt;br /&gt;
&lt;br /&gt;
===Use case===&lt;br /&gt;
The following diagrams illustrate how the ''Self Assessment'' feture is meant to be used in Expertiza. Basically, we have two actors: on one side we have the Instructor which will create an assignment, add students to it and enable the self-review option. On the other side, students will be able not only to review their peers' work, but also will be required to review their own work in order to view their final scores, if the self-review option is enabled by the instructor.&lt;br /&gt;
&lt;br /&gt;
[[File:E1926_use_case_2.jpg]] [[File:E1926_use_case.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Actors:&lt;br /&gt;
&lt;br /&gt;
:1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. &lt;br /&gt;
:2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. &lt;br /&gt;
&lt;br /&gt;
*Actions&lt;br /&gt;
:1. Instructor: Create Assignment, Enable Self-Review.&lt;br /&gt;
:2. Student: Login, Add work and Submit, Submit Self-Review, View Scores.&lt;br /&gt;
&lt;br /&gt;
===Current Process===&lt;br /&gt;
&lt;br /&gt;
Currently, Expertiza allows students to submit an assignment and provides a link to self-review their work. Once the self-reviewing is done, the self-review score gets stored in the database and it is not further used in calculating the overall score of the assignment. Thus, students can score themselves higher than what they should actually get when considering the peer-review scores. This helps students in no way. So, to make a productive use of the self-review score and to help students learn self-evaluating themselves, we will make changes in the review score calculation, explained in the section below.&lt;br /&gt;
&lt;br /&gt;
===New Process===&lt;br /&gt;
&lt;br /&gt;
We derived a new formula that takes into account the ''self-review score'' and calculates a ''composite score'', which will be the student's final score:&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img6a.png]]&lt;br /&gt;
&lt;br /&gt;
More information regarding the derivation of this formula can be obtain from the following document:&lt;br /&gt;
&lt;br /&gt;
::[https://drive.google.com/file/d/19jp7UdLCTdMhLiqsBR_ArU7gIpxYfkx_/view?usp=sharing Notes for deriving the formula]&lt;br /&gt;
&lt;br /&gt;
===Demo Video===&lt;br /&gt;
You are welcomed to watch our 5-min demo video where we briefly explain and test the project functionality.&lt;br /&gt;
&lt;br /&gt;
[[File:e1984_img51a.png]] [[https://www.youtube.com/watch?v=oDPdvZeGpmA&amp;amp;feature=youtu.be Go to video!]]&lt;br /&gt;
&lt;br /&gt;
=== Test Plan ===&lt;br /&gt;
&lt;br /&gt;
==== Manual Testing ====&lt;br /&gt;
If you wish to try the self-review feature in Expertiza as shown in the demo. Please follow the next steps:&lt;br /&gt;
:1. Go to the link of the deployed application: [http://152.46.16.39:8080/ http://152.46.16.39:8080/]&lt;br /&gt;
:2. Log in as instructor. Use the credentials: ''instructor6'', ''password''.&lt;br /&gt;
:3. Go to ''Manage-&amp;gt;Assigments'' and clik the '+' icon on the top right corner to create an new assignment.&lt;br /&gt;
::3.1. In General tab: write the assignment title, select any course and type any submission directory.&lt;br /&gt;
::3.2. In Rubrics tab: uncheck the tab ''Review rubric varies by round?'' and select ''Design Doc'' for the Review in the Questionnaire drop-down menu.&lt;br /&gt;
::3.3. In Review Strategy tab: go to the bottom and check the ''Allow Self Reviews?'' box.&lt;br /&gt;
::3.4. In Due dates tab: for Submission deadline, select a date and time greater than the current date and time when creating this assignment. For Review deadline select a date and time grater than the submission deadline.&lt;br /&gt;
::3.5. Click on ''Create'' to save and create the assignment.&lt;br /&gt;
:4. Go again to ''Manage-&amp;gt;Assigments'', find the assignment you created and click on ''Add participants'' (user icon) to add some students.&lt;br /&gt;
::4.1. Add ''student3000'' and ''student4000'' to the assignment.&lt;br /&gt;
:5. Sign in as student3000. Log out from the instructor6 account or access to the application from a different browser (incognito window or a different explorer). Use credentials: ''student3000'', ''password''.&lt;br /&gt;
:6. Go to test assignment and click on ''work''. Submit any link or file. &lt;br /&gt;
:7. Click on ''Review my own work'' button and then the ''begin'' link to start the self review. Grade yourself accordingly and make sure to submit the self review when finished.&lt;br /&gt;
:8. Repeat steps 5 to 7 for ''student4000''. Use credentials ''student4000'', ''password''.&lt;br /&gt;
:9. Go back to the assignment and click on ''Others work''. Click on ''Request a new submission to review'' and review the ''student3000'''s work. Don't forget to submit the review when done.&lt;br /&gt;
:10. Sign in again as ''student3000''. Go to the assignment and click on ''Your Scores''. Here you can see the final average peer review score, which is computed by using the proposed formula in this project. In the scores table, you can see your ''peer review score'' and ''self review score'' (cyan color) side by side.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img1.png]] [[File:E1984_img2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Peer-review unlock feature ====&lt;br /&gt;
Note that in step 7 of the ''Manual Testing'' section, we are immediatly submitting our self review after our work has been submited. This is the ideal workflow, however imagine the situation where a student forgot to submit his/her self-review questionnarie. Then by requirement of this project, and to make sure that every student submit their self review, the ''Your scores'' link will be disabled for the assignment. So students will only be able to review their scores after submitting their self review.&lt;br /&gt;
&lt;br /&gt;
[[File:E1984_img3a.png‎]]&lt;br /&gt;
&lt;br /&gt;
==== Rspec Testing ====&lt;br /&gt;
The following Test cases will be developed to ensure a correct implementation:&lt;br /&gt;
* Peer-reviews cannot be viewed before a self-review is completed.&lt;br /&gt;
* Peer-reviews can be viewed immediately when self-reviews are not required.&lt;br /&gt;
* The composite scores are saved to the database.&lt;br /&gt;
* Self-review scores are displayed with peer-review scores.&lt;br /&gt;
* Student can only see their own self-review.&lt;br /&gt;
&lt;br /&gt;
We overloaded the ''get_assessments_for'' method with a second parameter which decides wheather the peer-review scores are retreived (false) or only the student self-review (true). Modifications were made accordingly in the ''grades_controller_spec.rb'' and ''assignment_participant_spec.rb'' files. &lt;br /&gt;
&lt;br /&gt;
[[File: E1984_img41b.png]]&lt;br /&gt;
&lt;br /&gt;
=== Future Work ===&lt;br /&gt;
The work done in this project can be built upon by future groups. Several areas can be improved upon and/or new functionality can be added.&lt;br /&gt;
&lt;br /&gt;
* Refactoring of the ResponseMap features:  accessing scores from reviews is difficult, and requires several method calls.&lt;br /&gt;
* Implementing multiple score approaches. A small addition to the instructor UI may allow them to select from different self-review formulas.&lt;br /&gt;
* Add scores from team evaluation (Your team -&amp;gt; Review) to the formula. True peer assesment involves the use of peer-review scores within the team, not only peer-review scores from other teams as currently implemented.&lt;br /&gt;
&lt;br /&gt;
== Team and Resources ==&lt;br /&gt;
&lt;br /&gt;
===Team_AABD:=== &lt;br /&gt;
*Amit Mandliya ([mailto:amandli@ncsu.edu amandli@ncsu.edu])&lt;br /&gt;
*Ankit Manendra ([mailto:amanend@ncsu.edu amanend@ncsu.edu])&lt;br /&gt;
*Bharat Sinha ([mailto:bsinha2@ncsu.edu bsinha2@ncsu.edu])&lt;br /&gt;
*Daniel Mendez Lozada ([mailto:dmendez@ncsu.edu dmendez@ncsu.edu])&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
====Project====&lt;br /&gt;
* [https://github.com/expertiza/expertiza/pull/1611 E1984 Pull Request]&lt;br /&gt;
* [https://github.com/ankit8011/expertiza/tree/beta E1984 Github Repository]&lt;br /&gt;
&lt;br /&gt;
====Peer Assessment Theory====&lt;br /&gt;
* [https://www.researchgate.net/profile/Paul_Vossen/publication/333022439_SCORING_MODELS_FOR_PEER_ASSESSMENT_IN_TEAM-BASED_LEARNING_PROJECTS/links/5cd6d6b4299bf14d958a4b99/SCORING-MODELS-FOR-PEER-ASSESSMENT-IN-TEAM-BASED-LEARNING-PROJECTS.pdf Scoring models for peer assessment in team-based learning projects]&lt;br /&gt;
* [http://tinyurl.com/PiTeamMate Tools for enabling developmental feedback and teamwork grading by peer assessment: PeerAssessPro™]&lt;/div&gt;</summary>
		<author><name>Dmendez</name></author>
	</entry>
</feed>