CSC/ECE 517 Fall 2015/oss E1562 APS

From Expertiza_Wiki
Jump to navigation Jump to search

E1562. Refactor AssignmentParticipant model<ref>https://docs.google.com/document/d/1uWs3zyrupTmrOFuv5IbVWCF4NRvCXqJmg8dZ0wCqgus</ref>

This page provides a description of the Expertiza based OSS project. This project aimed at refactoring the Leaderboard model, LeaderboardController, and Leaderboard_helper classes as per standard coding methodology for Ruby on Rails.

Introduction to Expertiza

Expertiza is a peer review based system used to provide improved learning experience. Project is developed as a combined effort of students and faculty using the Ruby on Rails framework. Expertiza allows the instructor to create and customize assignments, create a list of topics the students can sign up for, have students work on teams and then review each other's assignments at the end. Expertiza supports submission of almost any document type, including the URLs and wiki pages.

E162 Problem Statement

Requirement

Refactor of AssignmentParticipant Model Classname: assignment_participant.rb

Tasks

  • Scores(questions) method is complex and huge. Refactor this method into smaller methods.
  • In set_handle method, there is no need for a separate elseif statement. Instead club the elseif statement into if statement as an another ‘or’ condition.
  • Some of the methods of this class are not used anywhere like compute_quiz_scores(scores) , average_score_per_assignment(assignment_id) . Remove such methods from the class.
  • Method cycle_deviation_score(cycle) is also present in CollusionCycle, remove any such method from this class.
  • Methods related to reviews like teammate_reviews, bookmark_reviews etc do not belong to AssignmentParticipant model. Move them to appropriate class.
  • Methods related to files and directories like files(directory) should not be present in AssignmentParticipant model, move them to appropriate file helper modules.

Introduction to Expertiza

Refactoring

Testing

References

https://docs.google.com/document/d/1uWs3zyrupTmrOFuv5IbVWCF4NRvCXqJmg8dZ0wCqgus