Millisecond Forums

How to create a timed multiple choice questionnaire

https://forums.millisecond.com/Topic29492.aspx

By maryannb - 7/27/2020

I'm currently converting paper/pen tests to run online due to face-to-face testing restrictions and I haven't used Inquisit to create a task before so I'm not sure how to do it. I need to create a multiple choice quiz where the participant completes 30 questions where they have to basically select the "odd-one-out". They have a time limit for each set of 15 questions, which is 7 minutes (i.e., whether or not they complete the first 15 questions in 7 minutes they need to move onto the next 15 and have 7 minutes again). I want them to also be able to move back and forth within a block of 15 (i.e., they don't have to answer the 15 in chronologically order they can skip ahead and cycle back to ones they skipped). I'm not sure if it's possible/what the script would look like. Any help would be very appreciated!!
By Dave - 7/27/2020

maryannb - 7/28/2020
I'm currently converting paper/pen tests to run online due to face-to-face testing restrictions and I haven't used Inquisit to create a task before so I'm not sure how to do it. I need to create a multiple choice quiz where the participant completes 30 questions where they have to basically select the "odd-one-out". They have a time limit for each set of 15 questions, which is 7 minutes (i.e., whether or not they complete the first 15 questions in 7 minutes they need to move onto the next 15 and have 7 minutes again). I want them to also be able to move back and forth within a block of 15 (i.e., they don't have to answer the 15 in chronologically order they can skip ahead and cycle back to ones they skipped). I'm not sure if it's possible/what the script would look like. Any help would be very appreciated!!

You need to set up two <survey> elements, one for the 1st set of 15 questions, another one for the 2nd set of 15 questions. In each <survey>, set a /timeout to 7 minutes. Run the two <survey>s in sequence via an <expt>.

<survey 1st15>
/ pages = [1=...; ...]
/ timeout = 420000
</survey>

<survey 2nd15>
/ pages = [1=...; ...]
/ timeout = 420000
</survey>

<expt>
/ blocks = [1=1st15; 2=2nd15]
</expt>
By maryannb - 7/27/2020

Thank you! I was able to basically get the questionnaire up and running with this help!!!
But I just had some problems I wasn't quite able to work out;
1. Is there a way to provide automatic feedback in the practice trials about whether the answer was correct or not?
2. Is there a way to insert a break between survey block 1 and 2 to let the participant know their first 7 minute block is up, and the second one is about to begin?
3. Is there a way to insert a page at the end of each block of 15 questions letting them know they've reached the end, they still have time (i.e. they've finished within the 7 minutes), and they can go back to change/update answers before moving on?

I've attached my script for reference if it helps at all.

Sorry for all the questions! 
By Dave - 7/28/2020

maryannb - 7/28/2020
Thank you! I was able to basically get the questionnaire up and running with this help!!!
But I just had some problems I wasn't quite able to work out;
1. Is there a way to provide automatic feedback in the practice trials about whether the answer was correct or not?
2. Is there a way to insert a break between survey block 1 and 2 to let the participant know their first 7 minute block is up, and the second one is about to begin?
3. Is there a way to insert a page at the end of each block of 15 questions letting them know they've reached the end, they still have time (i.e. they've finished within the 7 minutes), and they can go back to change/update answers before moving on?

I've attached my script for reference if it helps at all.

Sorry for all the questions! 

All of these things are perfectly possible.

Re. 1), /branch to an appropriate feedback page based on the response given.
Re. 2), just run a block in between the two surveys that displays such a message.
Re 3), just add a 16th page to the two surveys that conveys this message.

I cannot do anything with the script you attached, all it contains is this:



By maryannb - 7/28/2020

Dave - 7/28/2020
maryannb - 7/28/2020
Thank you! I was able to basically get the questionnaire up and running with this help!!!
But I just had some problems I wasn't quite able to work out;
1. Is there a way to provide automatic feedback in the practice trials about whether the answer was correct or not?
2. Is there a way to insert a break between survey block 1 and 2 to let the participant know their first 7 minute block is up, and the second one is about to begin?
3. Is there a way to insert a page at the end of each block of 15 questions letting them know they've reached the end, they still have time (i.e. they've finished within the 7 minutes), and they can go back to change/update answers before moving on?

I've attached my script for reference if it helps at all.

Sorry for all the questions! 

All of these things are perfectly possible.

Re. 1), /branch to an appropriate feedback page based on the response given.
Re. 2), just run a block in between the two surveys that displays such a message.
Re 3), just add a 16th page to the two surveys that conveys this message.

I cannot do anything with the script you attached, all it contains is this:




Whoops sorry! Attached the wrong script. I'll give those steps, a go thanks for all the help :)
By maryannb - 7/28/2020

Thanks again! I was able to get all the elements working and now the task is running as I need it to. I only have one last difficulty and that's with recording the output. I've used <summarydata> but it seems to only record responses to the first 15 questions in Survey 1 and none of the responses from Survey 2. I'm guessing I've done something incorrectly/forgotten something, but I'm not sure what? I've attached the (correct!) script in case it helps at all. 

Thank you again for all the assistance!
By Dave - 7/29/2020

maryannb - 7/29/2020
Thanks again! I was able to get all the elements working and now the task is running as I need it to. I only have one last difficulty and that's with recording the output. I've used <summarydata> but it seems to only record responses to the first 15 questions in Survey 1 and none of the responses from Survey 2. I'm guessing I've done something incorrectly/forgotten something, but I'm not sure what? I've attached the (correct!) script in case it helps at all. 

Thank you again for all the assistance!

Your summary data element captures nothing except the elapsed time, so I'm not sure what you're referring to.

<summarydata>
/ columns = [script.elapsedtime]
</summarydata>

<survey> elements will output their own, separate data files automatically, so you get one file named for survey first, and another file named for survey second. That is the case, see attached.

If you additionally want to capture some of the survey data in a summary data file, you ought to specify the properties you want to log in the summarydata element's /columns as in

<summarydata>
/ columns = [script.starttime script.startdate script.elapsedtime script.subjectid script.groupid
    radiobuttons.q1.response radiobuttons.q2.response ... radiobuttons.q30.response]
</summarydata>