CSC/ECE 517 Fall 2019 - E1998. Weights in grade calculation

From Expertiza_Wiki
Jump to navigation Jump to search

This wiki page has been created to document the changes that will be made under E1998 - Weights in grade calculation as a part of the final project for Fall 2019, CSC/ECE 517.

About Expertiza

Expertiza is an open source project which can be used by instructors for a multitude of use cases such as creating assignments of various types, creating rubrics, questionnaires, allowing teams to be created (for group assignments) etc. It also allows grading of the assignments created, and provides the ability to let students peer review other students' work. Additionally, it also allows an instructor to export data for various objects created into multiple formats for further analysis.

Project Overview

Background and Problem Statement

The questionnaire/rubric creation feature of Expertiza also allows weights to be added to the questions being created, thereby allowing an instructor to create a questionnaire with relative ordering among the questions from a grading standpoint i.e., correctly answering a question with a higher weight will fetch more marks as compared to correctly answering a question with a lower weight. However, it has been observed that when grading is done for questionnaires, the module responsible for grading seems to ignore the weights associated with questions.

Goal of the Project

The goal of this project is to understand the cause of the aforementioned issue, and to ensure that the weights associated with questions are taken into consideration when grading all types of questionnaires involving weights.

Current Implementation

Plan of Attack

Our main plan is to ensure that all the code that is responsible for calculating scores is taking weights into account if the final scores depend on doing so. Since the questions can be weighted or unweighted, while calculating the final scores, the score assigned by a user to individual questions will be handled (aggregated) differently depending on the type of question. Our job will be to verify whether weights are being multiplied with the individual scores for weighted questions and modify the code if weights are not considered. To achieve the aforementioned objective, we need to first identify the files where the code for score calculation exists in the current implementation. For this, we will also need to peruse the code responsible for creating rubrics and editing or manipulating questionnaires in any way. In particular, a module named on_the_fly_calc.rb is responsible for score calculation, which will be our main area of focus. Another important task for our team will be to ensure our changes do not break existing functionality by writing relevant tests for the different types of questionnaires(review, teammate review, author feedback, meta-review, quiz, etc.).

Files which require modification (Tentative)

The following methods in the files might require modifications:

- answer.rb

    compute_scores
    get_total_score

- grades_controller.rb

    view_team
 

- assignment_participant.rb

    scores
    compute_assignment_score

- questionnaires_controller.rb

    add_new_questions
    save_all_questions

- questionnaire.rb

    compute_weighted_score
    save_questions

- on_the_fly_calc.rb

    compute_avg_and_ranges_hash
    calc_review_score

Test Plan

  • There are many tests to check the functionalities which get involved in calculating grades using weights
  • Currently all the test cases are passing because system considers weights as 1 to pass the validations
  • For the future work, we will be writing a new method which will be calculating scores considering weights
  • For the private methods, which will return the weighted scores for some particular types of questions, there is no need of tests
  • But functions which will return the entire score of an assignment will require tests

Quick Links

Team

Our team:

  • Sanket Pai (sgpai2@ncsu.edu)
  • Sanveg Rane (ssrane2@ncsu.edu)
  • Saurabh Mhatre (smhatre@ncsu.edu)
  • Saurabh Shingte (svshingt@ncsu.edu)

Mentor: Carmen Bentley (cnaiken@ncsu.edu)