CSC/ECE 517 Fall 2015/oss E1562 APS

From Expertiza_Wiki
Revision as of 20:06, 29 October 2015 by Sgulati2 (talk | contribs)
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 which provides increment learning from the class. This project has been developed by the faculty and students using Ruby on Rails framework. Expertiza allows the instructor to create, edit and delete assignments, create new assignment topics, assign them to a particular class or selected stduents, have students work on teams and then review each other's assignments at the end. It supports submission of different file types for assignments, 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

<references/>