CSC/ECE 517 Fall 2017/E17A4 Allow calibration to be part of an assignment: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 64: Line 64:
7. As student3 on getting into "Program 4", the "Other's work" link is enabled (as shown below). This is enabled even before submission period as we should allow students to enter calibration review beforehand.
7. As student3 on getting into "Program 4", the "Other's work" link is enabled (as shown below). This is enabled even before submission period as we should allow students to enter calibration review beforehand.


[other's link]
 
[[File:Other's work enabled.PNG]]
 


8. Inside "Other's link", one calibration review for the sample assignment is displayed for which the reviewer can submit the calibration review.  
8. Inside "Other's link", one calibration review for the sample assignment is displayed for which the reviewer can submit the calibration review.  

Revision as of 15:08, 1 December 2017

This wiki page describes the changes made according to the specification of E17A4 final project assignment for Fall 2017.


Problem Statement

In order to gain practice, the Student should be able to give calibration reviews before providing peer reviews. Thus, the Instructor should be able to enable calibration for every new and existing assignment. By this way, the student can improve peer reviewing by comparing his/her results with expert reviews for the same assignment.


Limitation

At present, the instructor is able to calibrate the students’ peer review abilities on Expertiza by creating only a separate assignment for this purpose. In this separate assignment that the instructor creates, the student and the instructor will simultaneously do peer review for the project. After submission of the reviews, the student's and instructor's reviews are compared and a calibration report is generated for the student to view and improve their peer reviewing skills.

Unfortunately, for students to practice peer reviewing, a separate assignment has to be created every time. In order to facilitate sufficient practice for peer review, this is not a convenient method.

Proposed System

The objective of this project is to enable calibration to be one part of the normal assignment. The instructor should be able to turn on this feature if necessary and provide the corresponding calibration deadline. The student should be pre-assigned sample assignments. Once the student submits the calibration reviews, the calibration results comparing the student and expert review are provided to the student. This feature should be available for normal assignments.

System Overview

Calibration review is the sample practice peer review used for comparing students' review with expert's review. The calibration results show the results and the experts' reviews, based on which the students can improve their peer reviewing skills.

In the current system has the following actors:

a) Instructors:Users who have administrative privileges to create/edit assignments and impersonate students

b) Students: Users who submit assignments and peer reviews

The current system allows the instructors to create assignments separately for calibration purposes. This is clearly inconvenient and ineffective as the students will not receive enough practice for peer reviewing on their normal assignments beforehand.

Hence, if students were able to compare their reviews with the experts' review for normal assignments before providing actual peer reviews, they will be able to learn and improve their peer reviewing skills from the experts. Therefore, we have to integrate this feature of calibration reviewing in normal assignments as well.


In the current system, the calibration functionality works correctly. In the assignments' edit page, once the instructor enables “Calibration for training?” and saves the assignment, an extra tab "Calibration" appears. After this, the instructor needs to add several sample assignments (right now instructor needs to impersonate several students to submit sample assignments) and do expert review beforehand. This is the existing functionality.

In the proposed system, the entire flow of the assignment submission done by the student, changes. First is the calibration review of sample assignment, then normal assignment submission followed by rounds of peer reviews for the submitted assignments.

Proposed system:

1. As an instructor, new Assignment "Project 4" was created.

2. In assignment edit mode, when caliberation is not enable, the "Due date" tab appears as below


3. Once the “Calibration for training?” (see the below figure) is enabled, in addition to the “Calibration” tab, a row for calibration deadline entry appears under the “Due dates” tab (see the figure below) before any submissions row. The due date for the calibration review is entered and the assignment is saved.



4. Assigned 2 students(student1, student2) as participants and 1 student (student3) as reviewer for the assignment "Program 4". Then, the Instructor impersonated as one of the participant students, say student1 and submitted a sample assignment that is to be used for calibration review. 5. The review strategy was set to "Instructor-selected" for calibration review. Then, the instructor assigned student3 as a reviewer for this sample assignment submitted by the expert and also, submitted an expert review for this sample assignment submission.

6. Impersonated as the reviewer (student3), the "current stage" of the assignment "Program 4" shows "calibration" on the student_task page as shown below



7. As student3 on getting into "Program 4", the "Other's work" link is enabled (as shown below). This is enabled even before submission period as we should allow students to enter calibration review beforehand.



8. Inside "Other's link", one calibration review for the sample assignment is displayed for which the reviewer can submit the calibration review. [Calib]

9. Once the calibration review is submitted, the "show calibration results" link is displayed which shows the scores against the expert review. [show calib]

10. Once the calibration due date elapses, the assignment enters the "submission" period. During this period, student submissions for the assignments are entered. The review strategy is set as "auto-selected" and number of reviews allowed are set to 2. Then, the instructor assigns student3 as a reviewer for one of these submissions. This will be the peer review for student3.

11. When impersonated as student3, under other's work link, both the calibration and assigned peer reviews are displayed as shown below

[peer & cali image]

Also, the number of reviews required and allowed considers only the peer reviews and not the calibration reviews. Since only one peer review is present, the "request new submission for review" button is enabled. Once a new review is requested since there are 2 peer reviews, the "request new submission for review" button is not displayed. This shows that only the peer reviews are considered for number of reviews allowed and required.

After completion of the calibration reviews (before the due date), the student should submit the assignment on/before the submission deadline, which is the existing functionality. Since the students have had enough experience during the calibration period on peer reviewing, the next task will be carried over effectively.

Peer reviewing is the concept of review your peer’s work. This concept enables the students to understand the solution to a problem from multiple perspectives. This will also embed new ideas and the skill of constructive criticism in the student. And, hence, the student will provide peer reviews after the submission of their work. These rounds of reviews will be controlled by the instructor. Once all the submissions are made, the assignment’s stage gets assigned the finish status.

System Use Cases

Use Case Diagram :

1. Add/Edit Assignment: Enable Calibration

Use Case Id: 1

Use Case Description: Instructor can select the option - "Calibration for training?"

Actors: Instructor

Pre Conditions: The assignment is present in the assignments list

Post Conditions: Instructor can navigate to the edit assignment page where the enable calibration option is present


2. Edit Assignment: Set Due Dates for Calibration and Peer Reviews

Use Case Id: 2

Use Case Description: Instructor can set due date for calibration under due dates tab

Actors: Instructor

Pre Conditions: Once calibration option is enabled, a separate row for calibration should be created

Post Conditions: The instructor should be able to see the new date set for calibration.

Special cases: Calibration deadline should come before the submission deadline.


3. View the current stage in assignments as "Calibration" during the calibration period

Use Case Id: 3

Use Case Description: In assignments home page, the assignment should now be in the calibration period.

Actors: Student

4. View the pre-assigned sample assignments

Use Case Id: 4

Use Case Description: Student should be able to see the list of assignments in others' work tab for reviewing

Actors: Student

Pre Conditions: Sample assignments are provided by the instructor for the student to review


5. Submit 'n' pre-assigned Calibration Reviews

Use Case Id: 5

Use Case Description: Student can now review those assignments and submit them

Actors: Student

Pre Conditions: Sample assignments are provided by the instructor for the student to review

Post Conditions: Student can now see and edit the newly submitted review and also see the instructor's review for the assignment


6. View the 'Calibration Result' after submitting

Use Case Id: 6

Use Case Description: Student can see the comparison between student's and instructor's reviews for the pre-assignment

Actors: Student

Pre Conditions: Student had already submitted a calibration review

Post Conditions: Student can now view the comparison results

7. Submit the assignment before the due date

Use Case Id: 7

Use Case Description: Student should submit the assignment before the submission deadline

Actors: Student

Pre Conditions: An assignment exists and the calibration review is submitted

Post Conditions: Student can successfully submit the assignment before the deadline


8. Request for a Peer Review

Use Case Id: 8

Use Case Description: After the student submits the assignment, the student can request to do peer review of other student's submission

Actors: Student

Pre Conditions: peer review period has started and other students' submissions are available for reviewing

Post Conditions: Student should be assigned with a project for reviewing.


9. Submit the Peer Review and request for next one after minimum number of peer reviews are completed

Use Case Id: 9

Use Case Description: After the student requests for a peer review, he can review the assignment and submit it, After minimum number of reviews are commpleted, he/she can request for more assignments to be reviewed

Actors: Student

Pre Conditions: Student received an assignment for peer reviewing

Post Conditions: View and edit options are available for the submitted review until the peer review period deadline

All the actions performed by the student can be done by the instructor by impersonating a student

Design Plan

1. MVC

The project is implemented in Ruby on Rails that uses MVC architecture. It separates an application’s data model, user interface, and control logic into three distinct components (model, view and controller, respectively).

2. Dry Principle

We are trying to reuse the existing functionalities in Expertiza, thus avoiding code duplication. Whenever possible, code modification based on the existing classes, controllers, or tables will be done instead of creating the new one. Example: Currently, calibrated reviews are handled separately and peer reviews are handled separately. In our enhancement, we need to merge both the reviews. So instead of duplicating the code in calibrated reviews, we will use the same code to handle both the reviews.

No other design patterns will be required because we are going to touch methods which are either already existing or create new method when required. But the framework remains the same.

Files to be Modified

For implementing the functionality to allow calibration to be part of an assignment, there will be changes made to the view code and the models to include calibration into a normal assignment. The following files are required to implement this feature.

  1. DeadlineType model (Needs to support deadline type for Calibration)
  2. Assignments model (Calibration needs to be integrated into normal Assignment)
  3. _responses.html.erb (The user will be able begin calibration, view calibration results)
  4. StudentTask model (Have attribute current stage which should have the value ‘Calibration’).
  5. student_task/list.html.erb view (The current stage should be able to display ‘Calibration’ when the assignment is in calibration period).
  6. DueDate model (needs to store the calibration due dates for the assignments).
  7. caliberation_spec.rb (feature tests to verify our implementation)
  8. submitted_content/_self_review.html.erb

Test Plan

In GUI

To test this feature in GUI, perform the following steps:

1. Login as instructor in Expertiza

2. Go to Assignments and choose an assignment for which calibration is to be included

3. Click edit assignment and in the general tab, select the option - Calibration for training? and click save

4. Once that option is enabled, a new tab opens in the name "Calibration"

5. Now impersonate as a student, and submit a sample assignment

6. Now, under Due dates tab, a new row would have been created for calibration before the submission due date

7. Enter the Due Date for the calibration review and save the assignment

8. Go to the calibration tab and submit one expert review for the sample assignment

9. Login as student and under assignments home page, the assignment for which calibration was enabled will now have the status as "calibration"

10. Now go that assignment and go to other's work and submit the calibration review

11. Now in other's work page, you will see a new link: "Show calibration results" for the respective calibration review

Once the calibration period is over and submission period starts, the students can now submit the actual assignment. Post submission due date, the peer review period will start.

12. Now go others' work page. Here you will see the completed calibration reviews and the new assignments for which peer review is to be done. Here, the peer review count should exclude the calibration review count.

Automated test

Automated tests will be written in calibration_spec.rb file under specs/features folder.

The RSpec tests will cover the following scenarios:

1. If calibration is enabled, check if a new row is created in the deadlines table with the name as deadline type as Calibration.

2. Set the current date to be after the submission period and check if both calibration reviews and peer reviews are present in the reviews list

3. Check if the calibration result is rendered after a calibration review is submitted

Team Contact

MEMBERS
Harika Malapaka: hsmalapa@ncsu.edu
Vidhyalakshimi Sreenivasan: vsreeni@ncsu.edu
Valli Annamalai: vannama@ncsu.edu
Arjun Sharma: asharm33@ncsu.edu
MENTOR
Zhewei Hu: zhu6@ncsu.edu