I got to thinking about this while putting together a simple script and HTML survey page for a grad student--how cool would it be, to be able to do this directly within Moodle? Not as a teacher, but as a resource for students to do their own research?
After thinking about it some more, here are my initial suggestions for features:
Questionnaire module for Moodle:
Students must be able to create
questionnaires after the instructor adds that module to one or more blocks within a course.
Questionnaires (once complete and activated) must be accessible to non-logged in users.
Students must be able to add questions of various types to the questionnaire, set the labels (for option-choosing questions like multiple choice, etc.) and set the values returned for each chosen option.
Questionnaire results must be stored in a database table for surveys, keyed to the course ID and student ID, as well as each questionnaire having its own unique ID.
Students must be able to preview a questionnaire, as well as view any collected results, as well as return a downloadable CSV formatted results file. Potentially, questionnaire results may also be returned as a downloadable XML file.
Upon completing a questionnaire, individuals should be redirected to another page whose content (thanks, additional instructions, a peek at results, etc.) can be customized by the students.
Students who are working in groups must
explicitly share access to their questionnaires. I.E., Student A
sets up the questionnaire within his/her login (possibly with the offline assistance of other students or on their own), and then grants access to Students B and C
by selecting their names from the list of participants. Students B
and C now will be presented with the option to 'join' the open
questionnaire launched from Student A's login. Joining an open
questionnaire is programmatically equivalent (both in the database
and in scripting) to having created the survey within the student's
own login. A table with questionnaire ids and 'owner' ids will map the multiple users to unique questionnaires.
Simple data analysis (mean, mode, and median, and possibly stdev) are a possibility.