<?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=Njdowdle</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=Njdowdle"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Njdowdle"/>
	<updated>2026-05-30T15:30:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144996</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144996"/>
		<updated>2022-04-12T04:09:23Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Files Requiring Modification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.&lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Shown below is a diagram of how the current system works (copying the extra participants/reviews):&lt;br /&gt;
[[File:Calibration2.png|600px|left]]&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and put this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which is too long and does too much for one method), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb:&lt;br /&gt;
** [[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write the create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''Testing Goals''' ===&lt;br /&gt;
&lt;br /&gt;
  The main goal of our testing is to ensure that when a new calibration assignment is added, all of the qualifying previous calibration submissions &lt;br /&gt;
  and reviews are successfully copied over without overwriting any existing submissions.&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Unit Tests''' ===&lt;br /&gt;
&lt;br /&gt;
Using RSpec, we have to test that the following unit tests pass:&lt;br /&gt;
&lt;br /&gt;
  1. When the TA adds a calibration assignment, extra participants are added to the assignment.&lt;br /&gt;
&lt;br /&gt;
  2. When extra participants are added to an assignment, calibration submissions are copied over.&lt;br /&gt;
&lt;br /&gt;
  3. When calibration submissions are copied over, the submitter_count value increases by the number of calibration submissions, so that previous submissions are &lt;br /&gt;
     not overwritten.&lt;br /&gt;
&lt;br /&gt;
  4. After calibration assignments are copied over, only calibration reviews from the creator of the assignment are copied over.&lt;br /&gt;
&lt;br /&gt;
  5. After calibration assignments are copied over, only calibration reviews that have been started are copied over.&lt;br /&gt;
&lt;br /&gt;
  6. Calling specific methods in assignment.rb return a NoMethodError to indicate that these methods are no longer class methods and have been moved elsewhere as &lt;br /&gt;
     instance methods.&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144995</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144995"/>
		<updated>2022-04-12T04:08:33Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Previous Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.&lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Shown below is a diagram of how the current system works (copying the extra participants/reviews):&lt;br /&gt;
[[File:Calibration2.png|600px|left]]&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and put this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which is too long and does too much for one method), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb:&lt;br /&gt;
** [[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write the create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''Testing Goals''' ===&lt;br /&gt;
&lt;br /&gt;
  The main goal of our testing is to ensure that when a new calibration assignment is added, all of the qualifying previous calibration submissions &lt;br /&gt;
  and reviews are successfully copied over without overwriting any existing submissions.&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Unit Tests''' ===&lt;br /&gt;
&lt;br /&gt;
Using RSpec, we have to test that the following unit tests pass:&lt;br /&gt;
&lt;br /&gt;
  1. When the TA adds a calibration assignment, extra participants are added to the assignment.&lt;br /&gt;
&lt;br /&gt;
  2. When extra participants are added to an assignment, calibration submissions are copied over.&lt;br /&gt;
&lt;br /&gt;
  3. When calibration submissions are copied over, the submitter_count value increases by the number of calibration submissions, so that previous submissions are &lt;br /&gt;
     not overwritten.&lt;br /&gt;
&lt;br /&gt;
  4. After calibration assignments are copied over, only calibration reviews from the creator of the assignment are copied over.&lt;br /&gt;
&lt;br /&gt;
  5. After calibration assignments are copied over, only calibration reviews that have been started are copied over.&lt;br /&gt;
&lt;br /&gt;
  6. Calling specific methods in assignment.rb return a NoMethodError to indicate that these methods are no longer class methods and have been moved elsewhere as &lt;br /&gt;
     instance methods.&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144994</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144994"/>
		<updated>2022-04-12T04:07:06Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* What needs to be done */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.&lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Shown below is a diagram of how the current system works:&lt;br /&gt;
[[File:Calibration2.png|600px|left]]&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and put this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which is too long and does too much for one method), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb:&lt;br /&gt;
** [[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write the create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''Testing Goals''' ===&lt;br /&gt;
&lt;br /&gt;
  The main goal of our testing is to ensure that when a new calibration assignment is added, all of the qualifying previous calibration submissions &lt;br /&gt;
  and reviews are successfully copied over without overwriting any existing submissions.&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Unit Tests''' ===&lt;br /&gt;
&lt;br /&gt;
Using RSpec, we have to test that the following unit tests pass:&lt;br /&gt;
&lt;br /&gt;
  1. When the TA adds a calibration assignment, extra participants are added to the assignment.&lt;br /&gt;
&lt;br /&gt;
  2. When extra participants are added to an assignment, calibration submissions are copied over.&lt;br /&gt;
&lt;br /&gt;
  3. When calibration submissions are copied over, the submitter_count value increases by the number of calibration submissions, so that previous submissions are &lt;br /&gt;
     not overwritten.&lt;br /&gt;
&lt;br /&gt;
  4. After calibration assignments are copied over, only calibration reviews from the creator of the assignment are copied over.&lt;br /&gt;
&lt;br /&gt;
  5. After calibration assignments are copied over, only calibration reviews that have been started are copied over.&lt;br /&gt;
&lt;br /&gt;
  6. Calling specific methods in assignment.rb return a NoMethodError to indicate that these methods are no longer class methods and have been moved elsewhere as &lt;br /&gt;
     instance methods.&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144992</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144992"/>
		<updated>2022-04-12T04:01:14Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Previous Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.&lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Shown below is a diagram of how the current system works:&lt;br /&gt;
[[File:Calibration2.png|600px|left]]&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and put this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which is too long and does too much for one method), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb:&lt;br /&gt;
** [[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write the create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''Testing Goals''' ===&lt;br /&gt;
&lt;br /&gt;
  The main goal of our testing is to ensure that when a new calibration assignment is added, all of the qualifying previous calibration submissions &lt;br /&gt;
  and reviews are successfully copied over without overwriting any existing submissions.&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Unit Tests''' ===&lt;br /&gt;
&lt;br /&gt;
Using RSpec, we have to test that the following unit tests pass:&lt;br /&gt;
&lt;br /&gt;
  1. When the TA adds a calibration assignment, extra participants are added to the assignment.&lt;br /&gt;
&lt;br /&gt;
  2. When extra participants are added to an assignment, calibration submissions are copied over.&lt;br /&gt;
&lt;br /&gt;
  3. When calibration submissions are copied over, the submitter_count value increases by the number of calibration submissions, so that previous submissions are &lt;br /&gt;
     not overwritten.&lt;br /&gt;
&lt;br /&gt;
  4. After calibration assignments are copied over, only calibration reviews from the creator of the assignment are copied over.&lt;br /&gt;
&lt;br /&gt;
  5. After calibration assignments are copied over, only calibration reviews that have been started are copied over.&lt;br /&gt;
&lt;br /&gt;
  6. Calling specific methods in assignment.rb return a NoMethodError to indicate that these methods are no longer class methods and have been moved elsewhere as &lt;br /&gt;
     instance methods.&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144991</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144991"/>
		<updated>2022-04-12T04:01:03Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Previous Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.&lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Shown below is a diagram of how the current system works:&lt;br /&gt;
[[File:Calibration2.png|400px|left]]&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and put this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which is too long and does too much for one method), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb:&lt;br /&gt;
** [[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write the create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''Testing Goals''' ===&lt;br /&gt;
&lt;br /&gt;
  The main goal of our testing is to ensure that when a new calibration assignment is added, all of the qualifying previous calibration submissions &lt;br /&gt;
  and reviews are successfully copied over without overwriting any existing submissions.&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Unit Tests''' ===&lt;br /&gt;
&lt;br /&gt;
Using RSpec, we have to test that the following unit tests pass:&lt;br /&gt;
&lt;br /&gt;
  1. When the TA adds a calibration assignment, extra participants are added to the assignment.&lt;br /&gt;
&lt;br /&gt;
  2. When extra participants are added to an assignment, calibration submissions are copied over.&lt;br /&gt;
&lt;br /&gt;
  3. When calibration submissions are copied over, the submitter_count value increases by the number of calibration submissions, so that previous submissions are &lt;br /&gt;
     not overwritten.&lt;br /&gt;
&lt;br /&gt;
  4. After calibration assignments are copied over, only calibration reviews from the creator of the assignment are copied over.&lt;br /&gt;
&lt;br /&gt;
  5. After calibration assignments are copied over, only calibration reviews that have been started are copied over.&lt;br /&gt;
&lt;br /&gt;
  6. Calling specific methods in assignment.rb return a NoMethodError to indicate that these methods are no longer class methods and have been moved elsewhere as &lt;br /&gt;
     instance methods.&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Calibration2.png&amp;diff=144989</id>
		<title>File:Calibration2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Calibration2.png&amp;diff=144989"/>
		<updated>2022-04-12T04:00:43Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144980</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144980"/>
		<updated>2022-04-12T03:45:06Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Previous Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.&lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Shown below is a diagram of how the current system works:&lt;br /&gt;
[[File:Calibration.png|400px|left]]&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and put this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which is too long and does too much for one method), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb:&lt;br /&gt;
** [[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write the create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144979</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144979"/>
		<updated>2022-04-12T03:44:56Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Problem Statement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.&lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and put this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which is too long and does too much for one method), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb:&lt;br /&gt;
** [[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write the create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144970</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144970"/>
		<updated>2022-04-12T03:38:29Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Problem Statement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Shown below is a diagram of how the current system works:&lt;br /&gt;
[[File:Calibration.png|400px|left]]&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and put this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which is too long and does too much for one method), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb:&lt;br /&gt;
** [[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write the create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144968</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144968"/>
		<updated>2022-04-12T03:38:17Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Problem Statement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Shown below is a diagram of how the current system works:&lt;br /&gt;
[[File:Calibration.png|400px|left]]&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and put this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which is too long and does too much for one method), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb:&lt;br /&gt;
** [[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write the create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144966</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144966"/>
		<updated>2022-04-12T03:38:07Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Problem Statement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Shown below is a diagram of how the current system works:&lt;br /&gt;
[[File:Calibration.png|400px|left]]&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and put this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which is too long and does too much for one method), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb:&lt;br /&gt;
** [[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write the create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144965</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144965"/>
		<updated>2022-04-12T03:37:53Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Problem Statement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Shown below is a diagram of how the current system works:&lt;br /&gt;
[[File:Calibration.png|400px|left]]&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and put this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which is too long and does too much for one method), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb:&lt;br /&gt;
** [[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write the create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144964</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144964"/>
		<updated>2022-04-12T03:37:28Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Problem Statement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Shown below is a diagram of how the current system works:&lt;br /&gt;
[[File:Calibration.png|800px|left]]&lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and put this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which is too long and does too much for one method), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb:&lt;br /&gt;
** [[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write the create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Calibration.png&amp;diff=144961</id>
		<title>File:Calibration.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Calibration.png&amp;diff=144961"/>
		<updated>2022-04-12T03:35:46Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144917</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144917"/>
		<updated>2022-04-12T03:07:59Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Files Requiring Modification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and put this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which is too long and does too much for one method), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb:&lt;br /&gt;
** [[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write the create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144915</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144915"/>
		<updated>2022-04-12T03:07:39Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Files Requiring Modification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and put this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which is too long and does too much for one method), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb:&lt;br /&gt;
** [[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write this create method to create the extra participants.&lt;br /&gt;
** [[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144912</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144912"/>
		<updated>2022-04-12T03:06:54Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Files Requiring Modification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and put this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which is too long and does too much for one method), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb:&lt;br /&gt;
** [[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write a create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144910</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144910"/>
		<updated>2022-04-12T03:05:33Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Files Requiring Modification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb:&lt;br /&gt;
** [[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write a create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144909</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144909"/>
		<updated>2022-04-12T03:05:20Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Files Requiring Modification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb:&lt;br /&gt;
** [[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write a create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144908</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144908"/>
		<updated>2022-04-12T03:04:50Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Files Requiring Modification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb: &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:wiki2.png|600px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write a create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144907</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144907"/>
		<updated>2022-04-12T03:04:28Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Files Requiring Modification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
** Here is the current create method in participant.rb: &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:wiki2.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write a create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Wiki2.png&amp;diff=144906</id>
		<title>File:Wiki2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Wiki2.png&amp;diff=144906"/>
		<updated>2022-04-12T03:03:57Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: Njdowdle uploaded a new version of File:Wiki2.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;class c&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Wiki2.png&amp;diff=144905</id>
		<title>File:Wiki2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Wiki2.png&amp;diff=144905"/>
		<updated>2022-04-12T03:03:52Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: Njdowdle uploaded a new version of File:Wiki2.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;class c&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144899</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144899"/>
		<updated>2022-04-12T03:00:19Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Files Requiring Modification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
**Intead of setting the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc, We will change it to name &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* participant.rb&lt;br /&gt;
** Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
* team.rb&lt;br /&gt;
** Create a copy method in team.rb that copies the field used by all teams&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
** Write a create method to create the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144896</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144896"/>
		<updated>2022-04-12T02:46:54Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* What needs to be done */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;participant.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up &amp;lt;b&amp;gt;team.rb&amp;lt;/b&amp;gt;&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
* participant.rb&lt;br /&gt;
* team.rb&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144892</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144892"/>
		<updated>2022-04-12T02:31:56Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* What needs to be done */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in &amp;lt;b&amp;gt;assignment_form.rb&amp;lt;/b&amp;gt; should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up participant.rb&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up team.rb&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
* participant.rb&lt;br /&gt;
* team.rb&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144891</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144891"/>
		<updated>2022-04-12T02:31:08Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* What needs to be done */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in assignment_form.rb should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up participant.rb&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up team.rb&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
* participant.rb&lt;br /&gt;
* team.rb&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144890</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144890"/>
		<updated>2022-04-12T02:30:42Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* What needs to be done */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in assignment_form.rb should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Break out copy of new assignment name into a new method&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. &amp;lt;br/&amp;gt;This code currently resides in the self.copy method (which it too lengthy), so we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up participant.rb&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up team.rb&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
* participant.rb&lt;br /&gt;
* team.rb&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144889</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144889"/>
		<updated>2022-04-12T02:29:07Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* What needs to be done */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in assignment_form.rb should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Break out copy of new assignment name into a new method&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. This code currently resides in the self.copy method, but we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up participant.rb&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up team.rb&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
* participant.rb&lt;br /&gt;
* team.rb&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144888</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144888"/>
		<updated>2022-04-12T02:28:43Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* What needs to be done */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in assignment_form.rb should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Break out copy of new assignment name into a new method&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. This code currently resides in the self.copy method, but we will move it to a new method called copy_name.&lt;br /&gt;
[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up participant.rb&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up team.rb&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
* participant.rb&lt;br /&gt;
* team.rb&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144886</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144886"/>
		<updated>2022-04-12T02:28:25Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* What needs to be done */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in assignment_form.rb should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Break out copy of new assignment name into a new method&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. This code currently resides in the self.copy method, but we will move it to a new method called copy_name.&lt;br /&gt;
**[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up participant.rb&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up team.rb&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
* participant.rb&lt;br /&gt;
* team.rb&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144885</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144885"/>
		<updated>2022-04-12T02:27:58Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* What needs to be done */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in assignment_form.rb should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Break out copy of new assignment name into a new method&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. This code currently resides in the self.copy method, but we will move it to a new method called copy_name.&lt;br /&gt;
[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Clean up participant.rb&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up team.rb&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
* participant.rb&lt;br /&gt;
* team.rb&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144883</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144883"/>
		<updated>2022-04-12T02:27:39Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* What needs to be done */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in assignment_form.rb should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Break out copy of new assignment name into a new method&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. This code currently resides in the self.copy method, but we will move it to a new method called copy_name.&lt;br /&gt;
[[File:wiki1.png|800px|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Clean up participant.rb&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up team.rb&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
* participant.rb&lt;br /&gt;
* team.rb&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144882</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144882"/>
		<updated>2022-04-12T02:26:36Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* What needs to be done */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in assignment_form.rb should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Break out copy of new assignment name into a new method&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot; and putting this function in a new method. This code currently resides in the self.copy method, but we will move it to a new method called copy_name.&lt;br /&gt;
[[File:wiki1.png|800px|left]]&lt;br /&gt;
&lt;br /&gt;
*Clean up participant.rb&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up team.rb&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
* participant.rb&lt;br /&gt;
* team.rb&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144880</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144880"/>
		<updated>2022-04-12T02:23:56Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* What needs to be done */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in assignment_form.rb should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations. Currently, only 1/4 methods in this class have comments.&lt;br /&gt;
**Break out copy of new assignment name into a new method&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by just making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot;&lt;br /&gt;
[[File:wiki1.png|800px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
*Clean up participant.rb&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up team.rb&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
* participant.rb&lt;br /&gt;
* team.rb&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144875</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144875"/>
		<updated>2022-04-12T02:17:49Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* What needs to be done */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in assignment_form.rb should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations&lt;br /&gt;
**Break out copy of new assignment name into a new method?&lt;br /&gt;
**Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by just making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot;&lt;br /&gt;
[[File:wiki1.png|800px|left]]\n&lt;br /&gt;
&lt;br /&gt;
*Clean up participant.rb&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up team.rb&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
* participant.rb&lt;br /&gt;
* team.rb&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144872</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144872"/>
		<updated>2022-04-12T02:17:26Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* What needs to be done */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in assignment_form.rb should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations&lt;br /&gt;
**Break out copy of new assignment name into a new method?&lt;br /&gt;
Currently, for assignment_form.rb we change the name of the copied assignments to “copy of copy” and &amp;quot;copy of copy of copy&amp;quot; etc. We will improve this by just making it &amp;quot;Copy of &amp;lt;name&amp;gt; &amp;lt;copy number&amp;gt;&amp;quot;&lt;br /&gt;
[[File:wiki1.png|800px|left]]&lt;br /&gt;
&lt;br /&gt;
*Clean up participant.rb&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up team.rb&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
* participant.rb&lt;br /&gt;
* team.rb&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144870</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144870"/>
		<updated>2022-04-12T02:15:28Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Previous Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in assignment_form.rb should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations&lt;br /&gt;
**Break out copy of new assignment name into a new method?  Change copy name i.e. “copy2” vs. “copy of copy”&lt;br /&gt;
[[File:wiki1.png|800px|left]]&lt;br /&gt;
*Clean up participant.rb&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up team.rb&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
* participant.rb&lt;br /&gt;
* team.rb&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144869</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144869"/>
		<updated>2022-04-12T02:15:10Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* Previous Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in assignment_form.rb should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations&lt;br /&gt;
**Break out copy of new assignment name into a new method?  Change copy name i.e. “copy2” vs. “copy of copy”&lt;br /&gt;
[[File:wiki1.png|200px|left]]&lt;br /&gt;
*Clean up participant.rb&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up team.rb&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
* participant.rb&lt;br /&gt;
* team.rb&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144868</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144868"/>
		<updated>2022-04-12T02:14:36Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* What needs to be done */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in assignment_form.rb should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations&lt;br /&gt;
**Break out copy of new assignment name into a new method?  Change copy name i.e. “copy2” vs. “copy of copy”&lt;br /&gt;
[[File:wiki1.png]]&lt;br /&gt;
*Clean up participant.rb&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up team.rb&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
* participant.rb&lt;br /&gt;
* team.rb&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144867</id>
		<title>CSC/ECE 517 Spring 2022 - E2234. Calibration submissions should be copied along with calibration assignments</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2022_-_E2234._Calibration_submissions_should_be_copied_along_with_calibration_assignments&amp;diff=144867"/>
		<updated>2022-04-12T02:12:47Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: /* What needs to be done */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Introduction''' ==&lt;br /&gt;
A “calibration assignment” is an assignment where the students are asked to review work that has also been reviewed by a member of the course staff.  If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer.  Here is a further description of calibration assignments. To set up calibration, the instructor (or TA) adds a few extra participants to the assignment.  The instructor (or TA) then impersonates the extra participants, and submits work on behalf of each of the extra participants.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
Having the instructor (or TA) impersonate the extra participants, and submit work on behalf of each of the extra participants is obviously extra trouble. It would be nice if an instructor didn’t have to resubmit the same calibration submissions every semester.  &lt;br /&gt;
&lt;br /&gt;
== '''Previous Implementation''' ==&lt;br /&gt;
The previous project did fully implement code that copies over the calibration submissions whenever a calibrated assignment is submitted. It was done by ensuring that when a assignment is copied that 1) the same extra participants as the assignment you are copying are used 2) the URLs and/or files that were submitted to the previous assignment are also copied and 3) the URLs and files are submitted to the assignment as well&lt;br /&gt;
&lt;br /&gt;
The previous implementation needs to be revisited and made more elegant.  A description of the needed refactoring and changes is below.&lt;br /&gt;
&lt;br /&gt;
=== '''What needs to be done''' ===&lt;br /&gt;
*Ensure what gets copied (when and how) is done properly&lt;br /&gt;
**Reviews done by the creator of the assignment are copied, but only reviews that have been started --&amp;gt; how do you recognize a calibration review?&lt;br /&gt;
**If an author did any non-calibration reviews in the assignment being copied, those reviews would also be treated as calibration reviews&lt;br /&gt;
**Submitted files are copied too, but  if the calibration submissions are done as part of the COPYING of the assignment, they will necessarily use directories 0, 1,  &lt;br /&gt;
*Handling the case of students submitting assignments before calibration  assignments are done&lt;br /&gt;
**Project assumes that calibrations start at directory 0&lt;br /&gt;
**Not the case if any students submit before the calibration submissions are done&lt;br /&gt;
*Submitter_count needs to be set to the largest directory number that was used for calibration&lt;br /&gt;
**First student to submit will have their submission show up in the same directory with the first calibration submission&lt;br /&gt;
*Several class methods in assignment_form.rb should be moved to different classes as instance methods in those classes&lt;br /&gt;
**Add better comments - eg. a comment for a method that copies an assignment should not reveal details about calibrations&lt;br /&gt;
**Break out copy of new assignment name into a new method?  Change copy name i.e. “copy2” vs. “copy of copy”&lt;br /&gt;
[[File:wiki1.jpg]]&lt;br /&gt;
*Clean up participant.rb&lt;br /&gt;
**Look for a more elegant way of  (self.create_participant) copying/creating of participants → DRY violation&lt;br /&gt;
**Write the create method in assignment_participant instead of directly in participant.rb&lt;br /&gt;
*Clean up team.rb&lt;br /&gt;
**Create a copy method in team that copies the field used by all teams&lt;br /&gt;
**Rest of the stuff is just used by assignment teams (submitted hyperlinks etc.)&lt;br /&gt;
**Create a copy method and override  in assignment_team&lt;br /&gt;
*Reevaluate instance variables.  Are these needed, or could they be local variables instead?&lt;br /&gt;
*Look at editing out 9min video due to long waits for responses during copying&lt;br /&gt;
*Verify our work using not only user 'Instructor6' but also Professor Jennifer Kidd's account - 'Instructor 2026'&lt;br /&gt;
&lt;br /&gt;
== '''Design''' ==&lt;br /&gt;
&lt;br /&gt;
==='''Files Requiring Modification'''===&lt;br /&gt;
* assignment_form.rb&lt;br /&gt;
* participant.rb&lt;br /&gt;
* team.rb&lt;br /&gt;
* assignment_team.rb&lt;br /&gt;
* assignment_participant.rb&lt;br /&gt;
&lt;br /&gt;
== '''Final Implementation''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
=== '''UI Testing''' ===&lt;br /&gt;
&lt;br /&gt;
=== '''Automated Testing''' ===&lt;br /&gt;
&lt;br /&gt;
== '''Conclusion ''' ==&lt;br /&gt;
&lt;br /&gt;
== '''Team Information''' ==&lt;br /&gt;
&lt;br /&gt;
Mentor: Dr. Ed Gehringer (efg@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Nolan Dowdle (njdowdle@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Laura Fox (lmcampb5@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Soeun Jo (sjo@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
Harshil Shah (hshah6@ncsu.edu) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Resources''' ==&lt;br /&gt;
A link to the Expertiza GitHub can be found [https://github.com/expertiza/expertiza here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to our repository can be found [https://github.com/njdowdle/expertiza/tree/beta here] &amp;lt;br/&amp;gt;&lt;br /&gt;
Our implementation video can be found here &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous Wiki can be found [https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2075._calibration_submissions_should_be_copied_along_with_calibration_assignments#Project_Overview here] &amp;lt;br/&amp;gt;&lt;br /&gt;
The previous implementation video can be found [https://youtu.be/cyhy2mVXcPM here] &amp;lt;br/&amp;gt;&lt;br /&gt;
A link to the previous GitHub Repo can be found [https://github.com/expertiza/expertiza/pull/1856 here] &amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Wiki1.png&amp;diff=144866</id>
		<title>File:Wiki1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Wiki1.png&amp;diff=144866"/>
		<updated>2022-04-12T02:10:50Z</updated>

		<summary type="html">&lt;p&gt;Njdowdle: Njdowdle uploaded a new version of File:Wiki1.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Modules&lt;/div&gt;</summary>
		<author><name>Njdowdle</name></author>
	</entry>
</feed>