CSC/ECE 517 Fall 2016/E1640
Introduction to Expertiza Expertiza is a web application developed using Ruby on Rails for online assignment assessment. It is an open source project and its code base is maintained in the Git repository. Expertiza authorizes the instructor to create new assignments as well as modify the existing ones. Students can team up with other students in Expertiza to work on various projects and assignments. Students can also review other students' work, thus enabling peer learning. After a particular response is recorded, the rubric gets displayed in graphical form under Your Scores tab. The submitted work can be seen in Your Work tab and the feedback given can be seen in Others' Work. The teammates for a particular project can be seen in Your team tab.
Response Model Response.rb is a class that manages the response to all rubrics in Expertiza. The review form, quiz attempt, teammate review, review for others' work, filling a survey are all treated as responses. Method display_as_html handles the front-end for displaying a rubric.
Response_helper.rb It contains two kinds of methods: 1) Methods related to the display of questionnaires. 2) Methods to open a rubric on selecting a particular section name. This contains method that rearranges the questions based on frequency of answers to the questions.
Project Requirements:
In response.rb: 1) The class contains code that checks the rubric type (ReviewResponseMap, MetareviewResponseMap, FeedbackResponseMap). These classes are subclasses of ResponseMap. Rather than checking the map type, the code should send a message to the ResponseMap, and the code for specific types of ResponseMaps should be implemented in the subclasses of ResponseMap. 2) Code for calculating scores seems to be incorrect, as it should multiply per-question scores by the weight for each question. It seems to ignore weighting. 3) Most of the code for sending e-mails should be moved to app/mailers. 4) Remove the comment in lines 25–27 about TeamResponseMaps; it is no longer relevant to the current version.
In response_helper.rb: 1)The rearrange_questions method was written before we added sequence numbers to questions. At the very least, it needs to be modified so that questions above the threshold are kept in sequence. Ideally, it would be extended to allow the person who creates the rubric to specify whether each question could be moved or not, and then rearrange only the questions that are allowed to be moved, and add a column of check boxes to the Rubrics tab for assignment creation, saying whether questions on a particular rubric can be rearranged or not.