Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 04, 2018
Last Modified: January 11, 2024 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements a Mental Arithmetic Task based on:
KAHNEMAN D., TURSKY, B., SHAPIRO, D. & CRIDER, A. (1969). PUPILLARY, HEART RATE, AND SKIN RESISTANCE CHANGES DURING A MENTAL TASK. Journal of Experimental Psychology, 79, No. 1, 164-167.
15 minutes
Participants are presented series of 4 digits and are asked to mentally add* a number (0, 1, 2 or 3) to each digit. The new sequence is reported by entering the new digits in provided textboxes.
The script can be altered to run either addition, subtraction or multiplication sequences as well as test any levels from 0-9.
(1) Practice:
• by default the practice session runs 8 trials (2 trials per levels 0, 1, 2, 3); levels randomly selected
(change the number of trials under section Editable Parameters; change the levels tested under section Editable Lists)
(2) Test:
- the test runs random selections of levels 0-3 ( levels can be edited under section Editable Lists)
- once a level reaches criteria (5 correct solutions -> see section Editable Parameters for possible edits),
it is not further selected
- the test ends once all levels reach criteria OR if the maximum allowed test time expires
(default: 1h; see section Editable Parameters for possible edits)
Sequence Selection:
- each digit sequences randomly selects 4 different digits
- the script ensures as much as possible (without noticeably slowing down the selection process)
that each presented digit sequence during the practice and test session is unique.
For a random selection of 4 digits from 10 possible digits (no repeats), there are 5040 possible unique sequences.
The script resets the list of unique sequences after 1000 sequences have been provided (thus repeats are possible after each
block of 1000 trials, but it's unlikely that 1000 sequences are going to be run)
Default Trial Sequence (can be edited under section Editable Parameters):
Get Ready (1000ms) -> blank (4000ms) ->
task instructions (2000ms) -> blank (3000ms) ->
1. digit (1000ms) -> blank (0ms) ->
2. digit (1000ms) -> blank (0ms) ->
3. digit (1000ms) -> blank (0ms) ->
4. digit (1000ms) -> blank (1000ms) ->
presentation of input-textboxes (max. 60000ms) ->
feedback (optional for test):
positive feedback: 200ms
error feedback: until participants decides to continue ->
iti (blank screen for 1000ms)
digits: change size under section Editable Parameters
provided by Millisecond - can be edited under section Editable Instructions
File Name: mentalArithmetictask_summary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| startDate | Date the session was run |
| startTime | Time the session was run |
| subjectId | Participant ID |
| groupId | Group number |
| sessionId | Session number |
| elapsedTime | Session duration in ms |
| completed | 0 = Test was not completed 1 = Test was completed |
| arithmeticProcedure | The math task to perform: choose from "add", "subtract", "multiply" (the default one is "add") |
| levels | Stores all the levels run (default setup: 0123) |
| maxCorrectSolutions | The exit criteria: number of problems participants have to get correct at each tested levels to exit the script (default: 5) |
| passedTest | 0 = test terminated because max. allowed time was up 1 = otherwise (reached criteria for all levels tested) |
| trialCount | Number of test trials run |
| count0 | Counts the number of level 0 test trials |
| countCorrect0 | Counts the number of correct level 0 test trials |
| count1 | Counts the number of level 1 test trials |
| countCorrect1 | Counts the number of correct level 1 test trials |
| count2 | Counts the number of level 2 test trials |
| countCorrect2 | Counts the number of correct level 2 test trials |
| count3 | Counts the number of level 3 test trials |
| countCorrect3 | Counts the number of correct level 3 test trials The following variables will be empty for the default script set-up and could be removed from the data file |
| count4 | Counts the number of level 4 test trials (default settings: "not run") |
| countCorrect4 | Counts the number of correct level 4 test trials |
| count5 | Counts the number of level 5 test trials |
| countCorrect5 | Counts the number of correct level 5 test trials |
| count6 | Counts the number of level 6 test trials |
| countCorrect6 | Counts the number of correct level 6 test trials |
| count7 | Counts the number of level 7 test trials |
| countCorrect7 | Counts the number of correct level 7 test trials |
| count8 | Counts the number of level 8 test trials |
| countCorrect8 | Counts the number of correct level 8 test trials |
| count9 | Counts the number of level 9 test trials |
| countCorrect9 | Counts the number of correct level 9 test trials |
File Name: mentalArithmetictask_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| date | Date the session was run |
| time | Time the session was run |
| subject, group, | With the current subject/groupnumber |
| session | Session number |
| blockCode | Name of the current block |
| blockNum | Number of the current block |
| trialCode | Name of the current trial |
| trialNum | Number of the current trial |
| arithmeticProcedure | The math task to perform: choose from "add", "subtract", "multiply" (the default one is "add") |
| trialCount | Counts the trials in the practice/test block (resets after practice) |
| level | The current level tested (default: 0, 1, 2, 3) |
| digitSequence | The digits in the order presented (e.g. "3456") |
| corrSolution | Contains the correct solution for the current digit sequence |
| currentResponse | Contains the entered digits (in sequence) textbox.digit1Response.response- |
| textbox.digit4Response.response | Entered digits by textbox |
| acc | 1 = the entered solution is correct (correct digits and order) 0 = otherwise |
| countCorrDigits | Counts the number of correctly entered digits per trial |
| rt | Stores the latency (in ms); measured from onset of textboxes to pressing the submit-button |
| count0 | Counts the number of level 0 test trials |
| countCorrect0 | Counts the number of correct level 0 test trials |
| count1 | Counts the number of level 1 test trials |
| countCorrect1 | Counts the number of correct level 1 test trials |
| count2 | Counts the number of level 2 test trials |
| countCorrect2 | Counts the number of correct level 2 test trials |
| count3 | Counts the number of level 3 test trials |
| countCorrect3 | Counts the number of correct level 3 test trials The following variables will be empty for the default script set-up and could be removed from the data file |
| count4 | Counts the number of level 4 test trials (default settings: "not run") |
| countCorrect4 | Counts the number of correct level 4 test trials |
| count5 | Counts the number of level 5 test trials |
| countCorrect5 | Counts the number of correct level 5 test trials |
| count6 | Counts the number of level 6 test trials |
| countCorrect6 | Counts the number of correct level 6 test trials |
| count7 | Counts the number of level 7 test trials |
| countCorrect7 | Counts the number of correct level 7 test trials |
| count8 | Counts the number of level 8 test trials |
| countCorrect8 | Counts the number of correct level 8 test trials |
| count9 | Counts the number of level 9 test trials |
| countCorrect9 | Counts the number of correct level 9 test trials |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| maxCorrectSolutions | The exit criteria: number of problems participants have to get correct at each level tested to exit the script (default: 5) | |
| maxTestTime | The max duration (in ms) the test is running if exit-criteria is not met | 3600000ms = 1h |
| testFeedback | True (1) = performance feedback is provided during the test after each trial (default) false (0) = performance feedback is not provided during the test | |
| arithmeticProcedure | The math task to perform: choose from "add", "subtract", "multiply" (the default one is "add") | |
| digitSize | The proportional sizing (to canvas height) of the presented digits | 8% |
| readyDuration | The duration (in ms) of the the 'get Ready' trial | 1000ms |
| delayTaskInstructions | The delay (in ms) of the task instructions (measured from onset of trial) | 5000ms |
| taskInstructionDuration | The duration (in ms) of the task instructions | 2000ms |
| digit1Delay | The delay (in ms) of the first digit (measured from onset of trial) | 10000ms |
| digitDuration | The duration (in ms) of the digit presentation | 1000ms |
| digit2Delay | The delay (in ms) of the second digit (measured from onset of trial) | 11000ms |
| digit3Delay | The delay (in ms) of the third digit (measured from onset of trial) | 12000ms |
| digit4Delay | The delay (in ms) of the fourth digit (measured from onset of trial) | 13000ms |
| responseTimeout | The response timeout (in ms) | 60000ms |
| recallDelay | The delay (in ms) of the recall textbox (measured from onset of 'get Ready') script checks delay settings and aborts if conflicting | 15000ms |
| feedbackDuration | Duration (in ms) of positive feedback errorfeedback is provided until participant is ready to move on | 500 |
| iti | The intertrial interval in ms | 1000 |