CSC/ECE 517 Fall 2017/E1794. Student-generated questions added to rubric

From Expertiza_Wiki
Revision as of 05:35, 7 November 2017 by Ksharma5 (talk | contribs)
Jump to navigation Jump to search

Introduction

Instructors make up rubrics in Expertiza. They can ask about anything that is relevant to all the projects that will be submitted. But sometimes students want specific advice on aspects of their work that may be different from the work or topics that other students are working on. It would be more convinient if students can add their own questionaire to ask feedback for some specific functionalities regarding their project.

Changes to be implemented

As in Expertiza all the surveys and rubrics are subclasses of the questionaire class. We need to add a new subclass of Questionnaire called SupplementaryReviewQuestionnaire .

  • Add a button on the page which appears when the student clicks on the 'your work' link.
  • This button should take the student to the create Review Questionaire page.The student should then be able to create a new rubric.
  • Add a new field called supplementaryReviewQuestions to the teams table so that the rubric could be stored in an AssignmentTeam.
  • The ResponseController should display a set of rubrics,when a reviewer fills out a rubric. The set sould have a review rubric and a supplementary review rubric.
  • “View” function for a rubric should display answers submitted for the SupplementaryReviewQuestionnaire as well as the ReviewQuestionnaire.
  • Add another column to the “View scores” page (for both instructor and students) to report the scores that students gave on these questions.

    Design Principles to be Followed

    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.
    3. Polymorphism - 4. Inheritance -

    Use Case

    Test Plan