Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Ho can I create adaptive evaluation surverys?

  • AlexNoyon
  • AlexNoyon's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 year 5 months ago #236283 by AlexNoyon
Please help us help you and fill where relevant:
Your LimeSurvey version: 3.28.40+221129
Own server or LimeSurvey hosting: University hosting
Survey theme/template: Vanilla Theme
==================
Hi Community!
I want to create an evaluation tool using Limesurvey. This should be usable by my students who visit a different number of courses. But they should be able to answer the same set of questions for every course, and additionally a set of "overall questions". So, I need a parameter at the beginning asking the students about the numbers of courses they want to evaluate in this session, then the survey has to deliver the questions as often as needed, giving the student the option to type in the title of the course at the beginning of a block, and then, when all courses are done, a few of overall questions concerning the whole course of studies. I tried to find a template for this on the net but was not successful. Does anybody here have an idea how to do this best? Would be very much appreciated, thanks a lot!
Bye, Alex

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 5 months ago #236285 by Joffm
Hi,,
as you say, you ask at the beginning how many courses.
1. As LimeSurvey does not support loops, you have to create as many groups (with the question about the course) as you expect the maximal number of courses
Then you display only the selected number by relevance equation.

2. Depending on your questions about the courses you could find the plugin "questionSpreadsheetSurvey" useful.
[url] gitlab.com/SondagesPro/QuestionSettingsT...ionSpreadsheetSurvey [/url]
Oh, I see, "University Server". You will not be allowed to install plugins.

3. Fake a loop. 
After asking for the number, link to a second survey with the questions about one course by end-url.
This second questions calls itself by end-url as many times as there are courses to evaluate.
You will merge the data later by SAVEDID of the first survey.

Conclusion: The easiest and straightforward way is the first one.
But if there are a real lot of questions to each course and the estimated max. number or courses ist high enough you may run into the limits of the database. (not LimeSurvey, but the used database)
But I do not believe this.

So you should create a prototype of your survey that shows the structure and the amount and type of questions.
You may send this as lss export.
Then we can discuss further, propose improvenents, and so on.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • AlexNoyon
  • AlexNoyon's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 year 5 months ago #236286 by AlexNoyon
Replied by AlexNoyon on topic Ho can I create adaptive evaluation surverys?
Hi Joffm,
thx so much for that fast reply! That helps a lot. Ok, I will try to build it the way you described. I think the max number of courses that a specific student will have to evaluate should be about 15, so that is in deed a number of sets, but should not overwhelm the server. This probably will take some time, I will try it with just one question first, and then if I run into problems I will come back here. Thanks again, fantastic help!
Bye, Alex

Please Log in to join the conversation.

  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 5 months ago - 1 year 5 months ago #236290 by holch
One other approach, that might be feasible:

You know your students, you probably also know which courses they attended. You could use a token based survey and add the courses to be evaluated into custom variables and show/hide the evaluation questions for each course dependent on whether they have attended or not.

If you make them write the name of the course they want to evaluate, you will create chaos for your analysis, because each course could be evaluated at any position within the questionnaire (besides de fact that they probably all have different "versions" of the name of the course).

If you create a set of questions for each possible course, the evaluation for the same course will always be in the same column of the database and you won't need to rearrange this later for analysis in the exported results.

Of course, this will only work if you have a reasonable amount of courses in total, in order to not run into database limits.

So you should ask yourself how many different courses there are to be evaluated in general and how many evaluation questions per course there will be. With this information we can give you an estimate if this is possible or not.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

Last edit: 1 year 5 months ago by holch.

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 5 months ago #236303 by Joffm

If you make them write the name of the course they want to evaluate, you will create chaos for your analysis, because each course could be evaluated at any position within the questionnaire (besides de fact that they probably all have different "versions" of the name of the course).

 

You could use a token based survey and add the courses to be evaluated into custom variables and show/hide the evaluation questions for each course dependent on whether they have attended or not.


If you do not want to use a token based survey you can achieve this clean structure by
selecting the courses in a first quesion of type "multiple".
Again display/hide the question grióups by relevance equation.

Joffm

 

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • AlexNoyon
  • AlexNoyon's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 year 5 months ago #236331 by AlexNoyon
Replied by AlexNoyon on topic Ho can I create adaptive evaluation surverys?
Hey Holch,
thanks for your thoughts on this! Yup, the issue of differently written course titles could be pain in the ass. As Joffm already replied I think I would best solve this by a multiple choice question. But this might also not be elegant, because in total we have approximately 120 courses or so. So a list is not acceptable. I think I need a three step process:
- first question: "Which course of study are you in?" - Answers BA or MA
- second question: "Which semester are you in"? - In BA 1 to 7, in MA 1 to 3
- third step: matrix of all courses that meet the answers in the first two questions to now give a selection.

Problem of that approach: most students study what is dedicated for their individual semester, but a substantial amount of students choose courses that are not of their semester (e.g. they are enrolled in semester 2 and do mainly the courses of sem2, but they also have to do one course of sem1 (because they failed this and have to do it again) and do 2 courses of sem3, because they are very interested in it for whatever reason.

So, have this choice process to give a little more thought...

Thx again for your messages and ideas!
Bye, Alex

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 5 months ago #236333 by Joffm
Agreed, 120 is a lot.

But did you consider 
1. autocomplete in a dynamic array
 
2. a multi-level multiple question
 
3. a multi-column multiple with header
 

4. Several multiple-dropdowns each covering a certain type of courses
a. courses of mathematics, physics, chemistry, (MINT)
b. courses of language
c. courses of social sciences
d. courses of ...
 

Each of these options will return up to 15 codes, which you use to display the groups with the detailled questions.

Joffm

P.S.
In the German part you find three "Tutorials" which show a lot of possible solutions.
If you are able to read German (or able to use Google Translate) you may have a look.

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 5 months ago #236341 by holch
But with 120 potencial courses, analysis will be a horror if each of the 120 courses can be in the column. You will have to make a lot of adaptations in the result table to fix this. Won't be fun.

So actually I would recommend to create 2 different surveys and connect them. One with the general questions and one with the questions per course. I would probably run the general question first, then use the end URL to pass on the SAVEDID (or token) to the next question, which will handle the course evaluation. At the end of the this questionnaire I would ask if they want to evaluate another course and then redirect them to the same second questionnaire, also passing on some kind of ID (savedid or token) to be able to connect. The only problem with this approach: You have no control over which course they have already evaluated before. But this would be the same issue in your other approaches.

Ideally, if you know which courses they have done, you could use this in the token table to only let them evaluate the courses they have actually been registered for. I assume there must be some kind of record about this in the organisation. This would be the cleanest approach, in my opinion.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 5 months ago #236344 by Joffm
Well, I showed a lot of options to select the courses without a long long multiple question.

As i wrote in my first post, what @holch suggested again

3. Fake a loop. 
After asking for the number, link to a second survey with the questions about one course by end-url.
This second questions calls itself by end-url as many times as there are courses to evaluate.
You will merge the data later by SAVEDID of the first survey.

You can extend this by passing the SAVEDID AND the codes of the selected courses to the second survey.
Then you link to this second again and again till all courses are answered.

Here is an example, well, Videogames instead of courses.
[url] forums.limesurvey.org/forum/design-issue...oups-per-page#186828 [/url]

And it is three years old.
Tomorrow I will adapt to your courses.


Disadvantage: You can't stop and continue later.
But as long as you donot tell us, how many questions of which type you want to ask for each course, we are unable to give a final answer.
E.g. if you ask only a few  list(radio) questions or text questions you can create 120 groups (one for each course) and show/hide by relevance equation.
You know, you have to consider the limitations of the database
See here
[url] manual.limesurvey.org/General_FAQ/en#...regarding_survey_size [/url]
MySQL/MariaDB with InnoDB engine 1000 columns
MySQL/MariaDB with MyISAM engine about 1700 columns

Joffm

 

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • AlexNoyon
  • AlexNoyon's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 year 5 months ago #236351 by AlexNoyon
Replied by AlexNoyon on topic Ho can I create adaptive evaluation surverys?
Hey Joffm and Holch,

wow, I am learning pretty much here, while trying to understand your elaborations. Cool stuff, but in fact way more complicated than I expected, but probably I should have expected that Murphy is always right :D

So, the questionnaire in itself is not that complicated and extensive. It is not developed yet, but I think it will be something like this:

a. General part on the course of studies: probably around 6 questions or so along the lines of "The courses in the different semesters are structured logically" - and now a six-point-Likert-scale from "agree completely" to "disagree completely".

b. The courses themselves: about 10 questions with the same structure (e.g. "The lecturer gives space for discussion of topics" - with again Likert-scale like "way too much" over "perfectly balanced" to "way too low".

So, I think all in all I should not run in database issues I guess.

And Joffm, thx for the link to the German part, I will check this out - I am German, so no language issue here :D My being German will also explain if you think a few of the item descriptions or the wording above are weird - I am used to the German scale namings, so just translated that probably somewhat sloppy to "completely agree" and such, but in the German questionnaires I will be using we have established formulations.
The example with the video games is very interesting, that should be pretty useful. I will try to work with that over the holidays to come. Luckily, I am not that much in a hurry. The thing should be working in the coming semester, so not needed before March. And I get the idea that I will need substantial time to understand all your cool ideas here. I get it more and more that until now I did not even scratch the surface of Limesurvey with the things I did so far...
Bye, Alex

Please Log in to join the conversation.

  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 5 months ago #236362 by holch

b. The courses themselves: about 10 questions with the same structure (e.g. "The lecturer gives space for discussion of topics" - with again Likert-scale like "way too much" over "perfectly balanced" to "way too low".

So, I think all in all I should not run in database issues I guess.


Well, if you would go with the option of creating 120 different groups of questions (1 group per course) you could easily run into database issues.

120x10 would already mean at least 1200 columns. This only if these are single response questions. Multiple response and array / matrix will count 1 column per subquestion. So if you would for example create a multiple response question with all 120 courses at the beginning and then 10 single choice questions per each of the 120 courses (so 1200 columns at least) and then another 120 columns, one for each of the answers of the multiple answer question. So creating a set of questions for each of the 120 courses doesn't seem to be a good option, because there is a good chance that you run into database limits.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 5 months ago #236371 by Joffm
Hi,
as promised a wotking example with a father - son scenario.

I separated the courses into "Bachelor" and Master" 

How it is done you see in the script of the array question.

Now with an autocomplete you select the courses

   
    
At the end the second survey is called by the end-url
Look like this:
Code:
https://www.myServer.de/limesurvey/index.php/222222?pSAVE={SAVEDID}&pKURS={Pool2_final}&newtest=Y
You have to adapt the path to your installation and the SurveyID of the second survey.

Now you see the second survey where the courses are rated.

  


After all selected courses are rated the survey is done.

Everything is done automatically.

And the data look like this
 
Have a look at the questions called "Pool"
Questions of type long text which are used as a container of the course names.
In the first survey to convert the course name to a course number,
in the second survey viceversa.
In the second survey all course names have the seme length (right padded with blanks). This way it is easy to use string functions to extract the name.
Here the two surveys

File Attachment:

File Name: limesurvey...2221.lss
File Size:84 KB
 

File Attachment:

File Name: limesurvey...2222.lss
File Size:60 KB


If there are further questions, ask in the German part.
I am tired to talk with a language gap unnecessarily.

Bis dann
Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

Lime-years ahead

Online-surveys for every purse and purpose