CSC/ECE 517 Spring 2017 E1734: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
(→‎Tasks: Added bullets)
No edit summary
Line 2: Line 2:


==Description==
==Description==
===What Needs to be done===
Expertiza used to be able to distribute surveys to the users in this system. The survey can be a course survey (all the participants of the course can take it) or a 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). Since there are other survey tools available, the survey feature is not used much.  But, it would be good to improve it, since we could then keep survey data in our db along with the courses and assignments that it was produced from.


== Problem Description ==


===Tasks===
Expertiza used to have functionality for conducting surveys. It needs to be improved so that the data collected from the survey can be stored in the database along with course and assignment information.
*You should remove all the survey-related code and build from scratch.  
 
*The three kinds of surveys in this project are survey_questionnaire.rb, global_survey_questionnaire.rb, and course_evaluation_questionnaire.rb.
== Types of Surveys ==
*Survey questionnaire should be a subclass of questionnaire. The various kinds of surveys should, in turn, be subclasses of survey_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). You should not treat the surveys differently than other questionnaires, but use polymorphism as much as you can.
 
*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?”)
Course Survey:
*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.
All the participants in a course can take the course survey.
*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.  *Normally, all questions in the global_survey_questionnaire are included in every survey, but we should allow the instructor not to include them if (s)he doesn’t want to. The quiz takers can take the global survey and course survey consecutively.
File: course_evaluation_questionnarire.rb
*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.
 
*Write tests for this feature.
Global Survey:
 
Any Expertiza user can take the global survey.
File: global_survey_questionnaire.rb
 
Targeted Survey:
 
The admin can create a survey targeted to a specific group of people.
File: survey_questionnaire.rb
 
== Requirements ==
 
Requirements:
 
1) A page to show the distribution of results for all types of questionnaires.  
 
2) Use of inheritance so that survey questionnaire is a subclass of questionnaire. Also, course evaluation questionnaire and global survey questionnaire should be subclasses of survey questionnaire.
 
3) Use response_controller to implement the survey functionality. This should be similar to how other questionnaires like the peer review questionnaire, are implemented.
 
4) Use the same code to display existing survey responses as to display the responses in peer reviews.
 
5) 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.  The instructor should have the option to not include some questions from a global survey. The quiz takers can take the global survey and course survey consecutively.
 
6) An entry in the participants table called a survey_participant record must be added to indicate when a user is assigned to take part in a survey.
 
7) Tests need to be written for the feature.

Revision as of 00:04, 8 April 2017

Improve survey functionality

Description

Problem Description

Expertiza used to have functionality for conducting surveys. It needs to be improved so that the data collected from the survey can be stored in the database along with course and assignment information.

Types of Surveys

Course Survey:

All the participants in a course can take the course survey. File: course_evaluation_questionnarire.rb

Global Survey:

Any Expertiza user can take the global survey. File: global_survey_questionnaire.rb

Targeted Survey:

The admin can create a survey targeted to a specific group of people. File: survey_questionnaire.rb

Requirements

Requirements:

1) A page to show the distribution of results for all types of questionnaires.

2) Use of inheritance so that survey questionnaire is a subclass of questionnaire. Also, course evaluation questionnaire and global survey questionnaire should be subclasses of survey questionnaire.

3) Use response_controller to implement the survey functionality. This should be similar to how other questionnaires like the peer review questionnaire, are implemented.

4) Use the same code to display existing survey responses as to display the responses in peer reviews.

5) 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. The instructor should have the option to not include some questions from a global survey. The quiz takers can take the global survey and course survey consecutively.

6) An entry in the participants table called a survey_participant record must be added to indicate when a user is assigned to take part in a survey.

7) Tests need to be written for the feature.