CSC/ECE 517 Fall 2019 - E1985. Let course staff and students do reviews: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 69: Line 69:
'''Current scenario''' <br>
'''Current scenario''' <br>
The instructor/TA will be able to perform student reviews (after implementation of Part 1) for the assignment, only when he is a participant of the same assignment. Thus, every time he creates an assignment and wants to add himself as a participant in order to perform student reviews, he is supposed to do the following <br><br>
The instructor/TA will be able to perform student reviews (after implementation of Part 1) for the assignment, only when he is a participant of the same assignment. Thus, every time he creates an assignment and wants to add himself as a participant in order to perform student reviews, he is supposed to do the following <br><br>
Go to list of assignments -> Find the required assignment -> Click on add participant -> Type user Id -> Click on add
Go to list of assignments -> Find the required assignment -> Click on add participant -> Type user Id -> Click on add
The same flow is as shown below where the instructor/TA has created a new assignment say “Program 1 Github” wherein he wants himself as a participant to be able to perform student reviews :
The same flow is as shown below where the instructor/TA has created a new assignment say “Program 1 Github” wherein he wants himself as a participant to be able to perform student reviews :
Line 83: Line 82:
It is added as follows: <br>
It is added as follows: <br>


[[File:Add instructor 4.png]] <br> <br>
[[File:Add instructor 4.png]] <br>
 
If the instructor/TA selects the box while creating the assignment, then he will be added as a participant for the same assignment. <br>
 
Files edited:
* '''View: ''' ''app/views/assignments/edit/_review_strategy.html.erb''
* '''Controller: ''' ''app/controllers/assignments_controller.rb''


== '''Activity Diagram of the Proposed Implementation''' ==
== '''Activity Diagram of the Proposed Implementation''' ==

Revision as of 01:27, 6 December 2019

Problem Statement

Peer review is a great way for students to learn about how well they have developed their application. However, sometimes, the peer reviews may not be thorough and the team/person's work reviewed might not reflect the actual status of the development. By letting course staff perform reviews as well, the reviewer and the reviewee both benefit, improving the overall learning experience. Currently, there exists no method for the instructor/TA to perform reviews of assignments submitted by the students. Hence this is what this project aims at, allowing instructor/TA to perform reviews.

Thus, the primary aim of this project is to allow instructors to submit reviews of student work, using the same review form that students use to do reviews.

Implementation Details

Our project aims at enabling the instructor/TA to review the submissions using the same form that a student uses while peer-reviewing. For this, our implementation has been divided into 3 parts, and can be described as follows:

  1. The first part involves the primary functionality of letting the staff perform a review on students submission.
  2. The second part involves allowing the students to identify from their end, which review has been performed by an instructor/TA. This will help students improve their project as the opinions presented by a staff member would be valid.
  3. Thirdly, we implemented an additional feature that allows the instructor/TA to add himself as a participant while creating/editing an Assignment (This way seemed to be more convenient rather than going to the “Add Participant” page and adding themselves as a participant.)

Part 1: Allowing instructor/TA to perform review:

Note 1: “Instructor/TA” will be referred to by “user” here onwards.

Note 2: To be able to perform a review, the user has to be a participant of that assignment. We have implemented “Add as Participant” as an additional feature which is explained in Part 3. If the user is not a participant, he will only see the link to “Assign grade” that too after the assignment deadline passes. Now, for each assignment there is a page called “List Submissions” where the user can view all the submissions. So we have modified this page so that for each team submission a link for “Begin review,” “Edit review,” “View review,” “Update review,” or “Assign grade” may appear depending on the Stage in which the assignment is.

The following describes the flow of our project considering a fresh assignment.

  1. When the assignment is created, it is by default is in the “submission” stage. Hence the user will not see any link on the list submission page. (Add a screenshot if possible.)
  2. When the first deadline passes, the assignment goes into the “review” stage. Hence the link “Begin review” will be visible for each team submission, where the instructor/TA can click on to submit the review. Two cases can occur here:
    • If the user “submits” a review, they will be redirected to the list submission page where they’ll see the option “View review” or “Update review.” Being an instructor/TA, they are given the flexibility to update their review at any time during the “review” stage.
    • If the user “saves” a review, they will be redirected to the list submission page where they’ll see the option “View review” and “Edit Review (as they have not submitted it yet.)”
  3. After the first review is over, if more stages of “submissions” and “reviews” exist, it will follow the above 2 steps until the final assignment deadline does not pass. Note that at any round of the review, the user can “Begin review” for a submission which they had not reviewed in the previous rounds. This is to provide flexibility to them as per the requirement.
  4. Finally, after the assignment deadline passes, the assignment goes into the “Finished” stage. This is when the “Assign grade” link will be visible to the user. Along with this, depending on whether they have reviewed a particular submission or not, the begin, view, update links will be visible to them as they should be able to perform the review even after the assignment deadline for the students has passed.

Issue 1: Allow TA / Instructor to perform review of student assignments

Current Scenario: Instructors and TA's can not perform reviews. Previous attempts were made but they either complicated the code or did not pass the Travis CI. For this particular task, the following screenshot describes how the current scenario looks. The page below is the “View Submissions” page when logged in as an instructor.



Requirement: This functionality is needed so that the instructors can easily perform submission reviews which can also be viewed by the students. Also for future purposes, other student reviews can be bench marked against an instructor review.

Proposed Implementation: The following things need to be improved/changed with respect to the above screenshot.
The second column consists of the title name with the link to “Assign Grade.” This is the part which we will have to modify. The link under the project title should be as follows:

1. “Perform Review,” until the deadline for the assignment hasn’t been reached. If he/she has already started the review, the link will be modified to “Edit Review,” until they don’t submit it.
2. “Assign Grade,” after the deadline of the assignment passes.
When clicked on “Perform Review”/”Edit Review,” it should direct to the review page seen by the students, and be able to perform the review. Thus it will direct the page to the response#new page or response#edit page respectively.

For the above-mentioned flow, the following file will be edited:
app/views/assignments/list_submissions.html.erb: This view file refers to the page in the above screenshot. This file will be edited to check whether the deadline for the current assignment has been passed, and accordingly it will display either of the two options denoted above.

For the above functionality to work smoothly, we need to keep 2 checks:

  1. Whether the reviewer is a TA/instructor for the selected course
  2. Whether the TA/instructor is a participant for that assignment

These issues can be independently described as follows:


Issue 2: Show students that her/his assignment has been reviewed by the instructor

Currently Scenario: There is no way for the student to know which review was by the instructor.
Requirement: This helps the student to identify the review made by the instructor from the other reviews.
Proposed Implementation: An icon will be added in the file app/assets/stylesheets/grades.scss to make an instructor performed review look different from other reviews.

Part 3: Add instructor/TA as a participant while creating/editing assignment


Current scenario
The instructor/TA will be able to perform student reviews (after implementation of Part 1) for the assignment, only when he is a participant of the same assignment. Thus, every time he creates an assignment and wants to add himself as a participant in order to perform student reviews, he is supposed to do the following

Go to list of assignments -> Find the required assignment -> Click on add participant -> Type user Id -> Click on add The same flow is as shown below where the instructor/TA has created a new assignment say “Program 1 Github” wherein he wants himself as a participant to be able to perform student reviews :







Implementation
To overcome the hassle, we added a check box through which the instructor/TA will get an option to add himself as a participant while creating the assignment. Also, he will be able to add/remove himself as a participant while editing the assignment. The checkbox has been provided to Create New Assignment’s page under the Review strategy tab. It is added as follows:


If the instructor/TA selects the box while creating the assignment, then he will be added as a participant for the same assignment.

Files edited:

  • View: app/views/assignments/edit/_review_strategy.html.erb
  • Controller: app/controllers/assignments_controller.rb

Activity Diagram of the Proposed Implementation

The following activity diagram summarizes our proposed implementation for the above mentioned issue:




Test Plan

The following presents the list of specs which we will write/modify to test the working of our modified code :

1. The instructor/TAs perform a review for the submission before the deadline of submission
2. The instructor/TA saves a review
3. The instructor/TAs review a previously saved review
4. The instructor/TAs edit a previously saved review
5. The instructor/TAs perform grading assignment after the deadline for reviewing has passed
6. There is an update review link available after the deadline for reviewing has passed
7. The instructor/TA has been assigned for the same course
8. The instructor/TA has added himself as the participant in the submission
9. An icon is displayed which identifies instructor/TA's review

Team Members

Mentor: Prof. Edward Gehringer (efg@ncsu.edu)

  • Anuja Kulkarni - apkulka2@ncsu.edu
  • Mark Trawick - mtrawic@ncsu.edu
  • Parvathy Menon - pharida@ncsu.edu
  • Samruddhi Khandale - sskhanda@ncsu.edu