Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 06, 2024
Last Modified: January 18, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements Millisecond's version of the Anagram Riddle Task, a performance based measure of persistence based on Ventura et al (2013).
Ventura, M., Shute, V., & Zhao, W. (2013). The relationship between video game use and a performance-based measure of persistence. Computers and Education, 60(1), 52–58. https://doi.org/10.1016/j.compedu.2012.07.003
30 minutes
Participants are presented with 4 randomly order of sets that consist of anagrams and riddles. They have 2 minutes for each task and can submit as many solutions as they want to within that timeframe until they get the correct response or are timed out. They also get a 'Skip' button. Once they submit the Skip button, the problem ends and the next one starts.
(1) Instruction
(2) Test: 4 problem sets (A,B,C,D) - order randomized ( Ventura et al (2013) counterbalanced the orders)
Each problem set presents:
- 7 anagrams (problem sets A/B present them first)
- 5 riddles (problem sets C/D present them first)
=> across all problem sets
- 28 anagrams (14 easy, 14 hard)
- 20 riddles (10 easy, 10 hard)
Trial Sequence:
- problem presentation (textbox + skip button + guess button) for Max: 2 Min (editable parameters)
- unlimited guesses (with error feedback for 500ms) within the time limit
- skip button can be pressed and submitted (via 'guess' button) at any point
Evaluation:
- Timed-out Responses:
=> if the response is timed out,
whatever answer may still be lingering unsubmitted in the textbox
is still considered for evaluation.
Thus, if a person solved the anagram but ran out of time to press the 'guess' button,
the unsubmitted correct response is counted as correct in this script.
This applies even if the skip button was selected at time of time-out (a skipped trial is only one
that was *explicitly* skipped via 'guess' button submission in this script).
A timed-out response ends the current trial. Any trial that is timed-out and is not evaluated
as correct (see below), receives a 'timed-out' response for 500ms
- Skip Button Submission:
=> Once the skip button is selected and EXPLICITLY submitted via 'guess' button,
the trial will be counted as 'skipped' and the response is automatically evaluated as incorrect.
Any skip-submission ends the current trial.
- Correct Solutions:
=> any correct response that is explicitly submitted via the 'guess' button or is left-over in the
textbox for a timed-out trial receives a 500ms 'correct' feedback and ends the trial
- Incorrect Solutions
=> an incorrect submitted response within the time limit results in a 500ms 'error' feedback
penalty in this script before being returned to the textbox page for another attempt
provided by Ventura et al (2013) - can be edited under section 'Editable Stimuli'
provided by Ventura et al (2013) - can be edited under section 'Editable Instructions'
File Name: anagramriddletask_summary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities |
| computer.hasKeyboard | 0 = no external keyboard detected; 1 = external keyboard detected |
| startdate | Date script was run |
| starttime | Time script was started |
| subjectid | Assigned subject id number |
| groupid | Assigned group id number |
| sessionid | Assigned session id number |
| elapsedtime | Time it took to run script (in ms); measured from onset to offset of script |
| completed | 0 = Test was not completed 1 = Test was completed |
| problemSetOrder | The order in which the problem sets (A,B,C,D) were presented |
| countAnagramsEasy | Number of Easy Anagrams presented across all test blocks |
| skipAnagramsEasy | Number of Easy Anagrams explicitly skipped |
| propCorrectAnagramsEasy | Proportion of correct Easy Anagrams (relative to total number of Easy Anagrams presented) |
| meanRTAnagramsEasy | Mean time (in ms) spent on Easy Anagrams |
| meanCorrRTAnagramsEasy | Mean correct solution time (in ms) for Easy Anagrams |
| meanSkipRTAnagramsEasy | Mean skip time (in ms) for Easy Anagrams (if skipped) |
| countAnagramsHard | Number of Hard Anagrams presented across all test blocks |
| skipAnagramsHard | Number of Hard Anagrams explicitly skipped |
| propCorrectAnagramsHard | Proportion of correct Hard Anagrams (relative to total number of Hard Anagrams presented) |
| meanRTAnagramsHard | Mean time (in ms) spent on Hard Anagrams |
| meanCorrRTAnagramsHard | Mean correct solution time (in ms) for Hard Anagrams |
| meanSkipRTAnagramsEasy | Mean skip time (in ms) for Hard Anagrams (if skipped) |
| countRiddlesEasy | Number of Easy Riddles presented across all test blocks |
| skipRiddlesEasy | Number of Easy Riddles explicitly skipped |
| propCorrectRiddlesEasy | Proportion of correct Easy Riddles (relative to total number of Easy Riddles presented) |
| meanRTRiddlesEasy | Mean time (in ms) spent on Easy Riddles |
| meanCorrRTRiddlesEasy | Mean correct solution time (in ms) for Easy Riddles |
| meanSkipRTRiddlesEasy | Mean skip time (in ms) for Easy Riddles (if skipped) |
| countRiddlesHard | Number of Hard Riddles presented across all test blocks |
| skipRiddlesHard | Number of Hard Riddles explicitly skipped |
| propCorrectRiddlesHard | Proportion of correct Hard Riddles (relative to total number of Hard Riddles presented) |
| meanRTRiddlesHard | Mean time (in ms) spent on Hard Riddles |
| meanCorrRTRiddlesHard | Mean correct solution time (in ms) for Hard Riddles |
| meanSkipRTRiddlesHard | Mean skip time (in ms) for Hard Riddles (if skipped) |
File Name: anagramriddletask_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities |
| computer.hasKeyboard | 0 = no external keyboard detected; 1 = external keyboard detected |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockcode | The name the current block (built-in Inquisit variable) |
| blocknum | The number of the current block (built-in Inquisit variable) |
| trialcode | The name of the currently recorded trial (built-in Inquisit variable) |
| trialnum | The number of the currently recorded trial (built-in Inquisit variable) trialnum is a built-in Inquisit variable; it counts all trials run even those that do not store data to the data file. |
| problemSetOrder | The order in which the problem sets (A,B,C,D) are presented ( decided during runtime) |
| problemSetName | "A", "B", "C" or "D" |
| problemCountPerSet | Tracks number of problems per set |
| index | The index of the currently presented problem |
| problemType | "anagram" vs. "riddle" |
| problem | The actual problem presented |
| problemSolution | The problem's solution |
| problemDifficulty | "easy" vs. "hard" |
| problemRT | Time (in ms) spent on the problem |
| currentSuggestion | The current suggested solution |
| guesses | Number of guesses |
| acc | 1=correct solution; 0 = otherwise |
| skip | 1 = question was explicitly skipped; 0 = otherwise |
| skipCounterPerSet | Tracks the number of explicit skips per set |
| skipCounterTotal | Tracks the number of explicit skips across all sets |
| to | 1 = question was timed out; 0 = otherwise |
| response | The response of participant (scancode of response button) |
| correct | Correctness of response (1 = correct, 0 = error) |
| latency | Response latency (in ms); measured from: onset of trial |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Timing Parameters |
||
| problemTimeOutMS | The time (in ms) allotted for each problem | 120000 |
| feedbackDurationMS | The time (in ms) used up for each problem feedback stim | 500 |
Ui |
||
| showTimer | True: a countdown timer is presented on screen for each problem false: the countdown timer is not presented on screen | true |