CSC/ECE 517 Fall 2016 E1678: Review configuration options

From Expertiza_Wiki
Revision as of 19:04, 9 November 2016 by Mghegde (talk | contribs) (Requirement 1 and Introduction)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Introduction

Expertiza is an online system that is used by students to view/submit assignments and review others' work. Expertiza also provides tools to visualize the scores and gauge the improvements made during the course semester. It also facilitates and monitors team projects. It is targeted at educational and non-profit organizations. The project is funded by the National Software Foundation (NSF), NCSU Learning in a Technology-Rich Environment (LITRE) program, the NCSU Faculty Center for Teaching and Learning, the NCSU STEM Initiative, and the Center for Advanced Computing and Communication. Expertiza is an open-source project with the source code available as a public repository on GitHub. It is developed using Ruby on Rails and is increasingly becoming robust thanks to the innumerable bugs being fixed by the community. The project has a micro-blog on SourceForge where the developer community report bugs and document updates.

Task Description

Requirement 1

Problem

Expertiza has two kinds of review strategies, as specified on the Review Strategy tab of assignment creation: Auto-selected: reviews are not preassigned, but when a student comes to do a review, (s)he can select from the reviews that are available at that point. Instructor-selected: the instructor decides in advance who reviews whom. Until now, when the strategy is auto-selected, there has been no maximum on the number of reviews a student could select. So students can review as many topics as they want.

Requirement

Set a maximum on the number of reviews a student can choose with auto-selected reviewing. Implement a maximum, and allow the instructor to set that maximum via a checkbox asking whether there is a maximum, and if the box is checked, a textbox to specify what the maximum number should be.If there is a maximum, and a reviewer has already selected the maximum number of reviews, the button that allows selecting an additional review should be disabled.

Design

This requirement needs changes to the instructor view and student’s review page. These are small changes to the existing code. So we didn’t find any design pattern which can be used as part of requirement.

Instructor view changes
While creating the assignment, instructor should be able to specify maximum on the number of reviews done by each student. Assignment related configurations are handled by edit method in the assignment_controllers. This method gathers all the information and calls edit view to display results. We are planning to add checkbox for this selection under Review Strategy tab of instructor view. If the instructor selects this checkbox, he’ll be prompted to enter the value for the maximum reviews allowed for each student. We need to fill this value in num_reviews column of Assignment model. All these codes will be added in assignments/edit/review_strategy file since it displays all the elements in Review strategy tab. Controller stores these values in assignments database. There are no changes assignments controller.
Student Topic Review page changes
Students review topics page is displayed by list method of Student_review_controller. Add a check in the controller to see if the chosen number of topics exceeds the value set by the instructor. Disable topic selection in views/student_review/_set_dynamic_review.html.erb file if the selected number of topics exceeds configured maximum value.