Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 07, 2017
Last Modified: January 24, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements the an Anagram Solving Paradigm based in part on Novick et al (2003) and Tresselt & Mayzner (1966). Anagram Solving is used as a measure of verbal intelligence and cognitive flexibility.
Note: due to the nature of the trial set-up in this script, this script cannot be run on devices lacking an external keyboard. Script solvinganagrams_textboxes.iqjs runs a similar task with textbox input that also runs on keyboardless devices.
Novick, L., & Sherman, S. (2003). On the nature of insight solutions: Evidence from skill differences in anagram solution. The Quarterly Journal of Experimental Psychology Section A, 56(2), 351-382.
Tresselt, M. E., & Mayzner, M. S. (1966). Normative solution times for a sample of 134 solution words and 378 associated anagrams. Psychonomic Monograph Supplements, 1, 293-298.
5 minutes
By default, participants work on 30 5-letter anagrams in increasing difficulty*. They have 10s (default) to come up with a solution, specifically they have to enter the first letter of the word within that timeframe. Participants receive solution feedback.
•increasing difficulty: based on the median response times needed to solve the anagrams as reported in Tresselt & Mayzner (1966)
Script counterbalances the use of 2 anagram forms A vs. B by groupnumber:
odd groupnumbers run version A
even groupnumbers run version B
1. Demo Block: runs 1 demo trial (by default: additional demo anagrams can be added under section Editable Stimuli and the script will automatically adapt)
- demo trial: only accepts the correct first letter
=> if the first letter entered is incorrect, a solution hint is provided
=> if the time limit is up without a response, a solution hint is provided
- provides feedback
2. Test Block: runs 30 trials (by default: additional test anagrams can be added/removed under section Editable Stimuli and the script will automatically adapt)
- each anagram is presented for 10s (default, can be edited under section Editable Parameters)
- the first letter/key entered is taken as a response to terminate the anagram presentation
- once the participant has entered the Spacebar to submit the final solution, feedback is provided
- corrections of the provided solutions are possible (a count of all corrections is kept)
Trial Sequence:
Anagram Presentation (for max. 10s), waits for first letter input -> Solution Trial: takes in the remaining letters until Spacebar is pressed to submit the solution -> Feedback
Anagram selection for FormA/FormB:
Tresselt & Mayzner (1966), Table1 lists anagrams of 5-letter words in increasing median solution times.
An increase in median solution time was taken as an indicator of increasing anagram difficulty in this script.
Attempts were made to match the 30 anagrams chosen for formA and formB as closely as possible
in increasing median solution times:
Mean(A) = 45.03s, SD(A) = 62.63s, Median(A) = 20.75s
Mean(B) = 45.08s, SD(B) = 62.38s, Median(B) = 20.75s
(see anagrampool.xlsx for individual solution times)
Anagrams and their solution can be easily replaced in their respective helper scripts.
See scripts 'solvinganagrams_forma_inc.iqjs'/'solvinganagrams_formb_inc.iqjs'
The task automatically adjusts if the number of anagrams changes.
provided by Millisecond in script 'solvinganagrams_instructions_inc.iqjs'
File Name: solvinganagrams_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 |
| form | Form run (A vs. B) |
| nrAnagrams | The number of anagrams presented (based on the provided item lists) |
| acc | Proportion correctly solved anagrams |
| medianRT | Median solution time (in ms); measured from onset of anagram until first letter (of correct solutions) is hit |
| meanRT | Mean solution time (in ms); measured from onset of anagram until first letter (of correct solutions) is hit |
| medianProposedSolutionRT | Median proposed solution time (in ms); measured from entering first letter until solution is submitted |
| meanProposedSolutionRT | Mean proposed solution time (in ms); measured from entering first letter until solution is submitted |
| meanCorrections | Mean number of corrections made to proposed solution across all anagrams correction = backspace is used for letter deletion |
| countSolutionFlags | Number of times a solution was flagged because proposedSolutionRT > parameters.flagSolutionRT (default: 10s) for 30 anagrams |
| acc10 | Proportion correct solution for anagram 1-10 |
| medianRT10 | Median correct latency (in ms) for anagram 1-10 (latency measured from onset of anagram until first key is hit) |
| meanRT10 | Mean correct latency (in ms) for anagram 1-10 (latency measured from onset of anagram until first key is hit) |
| acc20 | Proportion correct solution for anagram 11-20 |
| medianRT20 | Median correct latency (in ms) for anagram 11-20 (latency measured from onset of anagram until first key is hit) |
| meanRT20 | Mean correct latency (in ms) for anagram 11-20 (latency measured from onset of anagram until first key is hit) |
| acc30 | Proportion correct solution for anagram 21-30 |
| medianRT30 | Median correct latency (in ms) for anagram 21-30 (latency measured from onset of anagram until first key is hit) |
| meanRT30 | Mean correct latency (in ms) for anagram 21-30 (latency measured from onset of anagram until first key is hit) |
File Name: solvinganagrams_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. |
| form | A vs. B (different lists of anagrams that are matched in difficulty) |
| phase | 0 = demo 1: anagrams 1-10 2: anagrams 11-20 3: anagrams 21-30 |
| anagramCount | Counts the number of anagrams run |
| anagram | Stores the current anagram |
| anagramSolution | Stores the solution of the current anagram |
| response | The participant's response (scancode of last response input) |
| keyResponse | Scancode translation into a key response "submit", "correction", letter associated with last entered scancode, !(for invalid response) |
| latency | The response latency (in ms) |
| anagramRT | Stores the latency (in ms) of the first key entered |
| firstLetter | Stores the first letter entered |
| proposedSolution | Stores the proposed anagram solution |
| proposedSolutionRT | Time (in ms) it took to type solution; measured from time the first letter was entered to entering 'submit' |
| correct | 1 = proposed solution is correct 0 = otherwise |
| countCorrections | Number of corrections (=number of time backspace was used) for the currently proposed solution |
| solutionFlag | 1 = solution is flagged (proposedSolutionRT > parameters.flagSolutionRT) => it took participant more than 10s (default) to enter the solution into the textbox 0 = solution is not flagged |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| anagramFontSize | The size of the anagrams in percentage of canvas height | 5% |
| maxAnagramPresentationTime | The maximum presentation time (in ms) of the anagram | 10000 |
| flagSolutionRT | If participant needs more than 10s (default) to enter the solution after hitting the first key, the solution is flagged ( there is no timelimit on typing in the solution to the anagram after entering the first letter. Thus, participants could potentially press any key without knowing the solution and then use extra time to think about the solution before finally submitting it) | 10000 |