CSC/ECE 517 Fall 2020 - E2075. calibration submissions should be copied along with calibration assignments

From Expertiza_Wiki
Revision as of 02:04, 28 October 2020 by Draghun (talk | contribs) (→‎Test Plan)
Jump to navigation Jump to search

This wiki page describes the changes made under E2075, to ensure calibration submissions are copied along with calibration assignments for CSC/ECE 517, Fall 2020.

About Expertiza

Expertiza is an open source project based on Ruby on Rails framework, created and maintained by the joint efforts of students and faculty at North Carolina State University.

It allows the instructors to create new assignments and customize new or existing assignments. Expertiza also allows an instructor to create a list of topics the students can sign up for. Students can form teams on the web application to work on various projects and assignments together. Additionally, students can peer review each other's submissions allowing them to improve upon their work. Expertiza supports submission across various document types, including the URLs and wiki pages.


Introduction

The Expertiza project allows "calibration assignments" to be performed where students are asked to review work that has also been reviewed by a member of the course staff. Calibration is the term used for rectifying, or checking or determining something. In the context of this project, a 'Calibrated review' is one which is performed by a student, so that (s)he can verify their work by comparing it with the instructor's response for the same assignment. If the student’s review “resembles” the staff-member’s review, then the student is presumed to be a competent reviewer. Since calibration reviews are meant as reference for better performance of peer reviews (which are performed later), they are not graded.


Problem Statement

Goal

Calibration submissions should be copied along with calibration assignments.

Issue in current implementation

On creating a copy of a previous assignment, say for example Design Exercise, Fall '20 for the Fall '21 semester - the calibration assignments associated with it are not copied over. The instructor is required to impersonate extra participants, and submit work on behalf of each of the extra participants. This is obviously extra trouble, and it would be a lot more convenient if an instructor didn’t have to resubmit the same calibration submissions over and over, every semester.

The following steps were taken to test the aforementioned issues:

Step 1: On copying the Design exercise assignment




Step 2: The original file contains the following calibration reviews




Step 3: However, the copy doesn't contain any of the calibrated reviews





Implementation

Proposed Design

The following must be added to the current implementation:

  • The same extra participants in the assignment, which are used as calibration assignments are copied over to the newly copied directory
  • The URLs and/or files that were submitted to the previous assignment must be copied over as well
  • Test cases to check if the above-mentioned steps work as required

Files Involved

  • submission_records_controller.rb
  • index.html.erb in expertiza/app/views/submission_records


Test Plan

Manual Testing

Manual testing should be preformed on an Expertiza server.

Manual Testing Plan

Manual testing should (at a minimum):

  • test that the UI is implemented as expected
  • test that a participant can bid on projects to review
    • test that a participant can move projects into the bidding column
    • test that a participant can reorder projects in the bidding column
    • test that a participant's bidding preferences save

Directions for Manual Testing

  1. Go to testing server
  2. Log in as username: instructor6 password: password
  3. Go to Assignments
  4. Two tasks should be listed in the main assignments box
a. Go to E2085 Manual Testing- Instructor6 Reviewer review
  1. This UI is based on the user being a reviewer (i.e. user was not in a team and did not submit anything)
  2. The UI should allow the user to bid on any project
b. Go to E2085 Manual Testing- Instructor6 Participant review
  1. This UI is based on the user being a participant (i.e. user was in a team and assigned a topic)
  2. The UI blocks user from bidding on their own project (instructor6 was assigned topic4)

Manual Testing Demo Video

Video demonstration of manual testing: link to be added

Automatic/RSpec Testing

RSpec tests will need to be written to related controller(s) and model(s).

RSpec Testing Plan

These RSpec tests should (at a minimum):

  • test basic functionality of controller(s)
  • test validation of the model(s)
  • test the scenarios (basic case & edge cases) mentioned above

Directions for RSpec Testing

  1. Set up Expertiza on personal device using forked repo
  2. Run the following commands:
# related controllers: 
rspec spec/controllers/

# related models: 
rspec spec/models/

Useful Links


Team Information

  • Nischal Kashyap
  • Mounika Bachu
  • Akshay Podila
  • Dhanraj Raghunathan