CSC/ECE 517 Fall 2016/E1680. Improve survey functionality
Introduction to Expertiza
Background
Classes involved:
app/views/survey_deployment/ app/views/statistics/ pp/controllers/survey_controller.rb app/views/survey_response/ app/views/survey app/controllers/survey_deployment_controller.rb app/controllers/statistics_controller.rb app/helpers/survey_helper.rb app/models/survey_participant.rb app/models/survey_response.rb app/helpers/survey_response_helper.rb app/models/global_survey_questionnaire.rb app/models/survey_questionnaire.rb app/controllers/course_evaluation_controller.rb app/models/survey_deployment.rb app/models/metasurvey.rb
Goal
Expertiza should be able to distribute surveys to the users. The survey can be one of the following:
1. Course survey (all the participants of the course can take it).
2. Global survey (all the users in Expertiza can take it).
The survey can also be targeted (the admin can specify a group of people who will receive this survey).
The three kinds of surveys in this project are:
1. survey_questionnaire.rb
2. global_survey_questionnaire.rb
3. course_evaluation_questionnaire.rb.
Survey questionnaire should be a subclass of questionnaire.
The creation, editing, filling in, and checking that all the questions have been answered survey should be similar to the procedure used for other types of questionnaires (e.g. peer-review questionnaires).
There should be a page to see the distribution of results for any question (e.g., how many people answered “1”, how many answered “2”, etc.). This page should not only be designed for surveys, but also for other types of questionnaires. (E.g. this view be able to show the score distribution for a question in other types of questionnaires, no matter whether it is a survey question like “how much do you like the course?” or a peer-review question like “how well did the author test the code?”)
We should use the same controller method to take the survey as to fill in the peer-review, namely, response_controller.
We should use the same code to display the existing survey responses as to display the responses in peer reviews.
For each course or assignment, the admin/instructor should be able to create a survey and have some (or all) of the participants receive the survey.
When a user is assigned to take part in a survey, a survey_participant record should be created for that user in the participants table.