CSC/ECE 517 Fall 2015/oss E1562 APS: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
'''E1562. Refactor AssignmentParticipant model'''<ref>https://docs.google.com/document/d/1uWs3zyrupTmrOFuv5IbVWCF4NRvCXqJmg8dZ0wCqgus</ref> | '''E1562. Refactor AssignmentParticipant model'''<ref>https://docs.google.com/document/d/1uWs3zyrupTmrOFuv5IbVWCF4NRvCXqJmg8dZ0wCqgus</ref> | ||
This page provides a description of the Expertiza | This page provides a brief description of the Expertiza project. The project is aimed at refactoring the AssignmentParticipant model which is subclass of Participant model. This model is used to maintain the list of students/users participating in a given assignment. | ||
'''Introduction to Expertiza'''<br> | '''Introduction to Expertiza'''<br> |
Revision as of 20:23, 29 October 2015
E1562. Refactor AssignmentParticipant model<ref>https://docs.google.com/document/d/1uWs3zyrupTmrOFuv5IbVWCF4NRvCXqJmg8dZ0wCqgus</ref>
This page provides a brief description of the Expertiza project. The project is aimed at refactoring the AssignmentParticipant model which is subclass of Participant model. This model is used to maintain the list of students/users participating in a given assignment.
Introduction to Expertiza
Expertiza is a peer review based system which provides increment learning from the class. This project has been developed collectively by 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 students, have students work on teams and then review each other's assignments at the end. Teams after reviews are allotted scores and grades and they can rever to the peer reviews to further improve their work. It also 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/>