Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: June 03, 2024
Last Modified: February 24, 2026 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements a Serial 7 Subtraction Task. The Serial Subtraction Task is a working memory performance task of the 'updating' category. The implemented procedure is based on Kennedy & Scholey (2000) and adapted to run as part of the Cognitive Demand Battery (CDB) (Kennedy et al, 2008).
in this script, the Serial Subtraction task uses written input instead of oral input
2 minutes
Participants are given a randomly generated 3 digit number between 900-999 and are asked to subtract 7 (default) as often as they can within a 2 minute time frame (adjustable). Participants enter their solution by selecting digit buttons 0-9 with the mouse. Responses can be corrected before submit. Correct solutions are based on the last entered number (whether or not that response was correct).
Participants are asked to perform a Serial7 task with a randomly drawn number from 800-999.
Participants are given a target number and are asked to start subtracting 3 from it in their heads.
They enter their solution to each new subtraction via a response dial.
The response is evaluated in regard to the previously entered solution (whether or not that was a correct
solution).
The task is over after 2 minutes (default)
randomly generated 3 digit start numbers (generated without replacement across blocks) between 800-999
to edit instructions, go to section Editable Instructions
File Name: serialsubtractiontask_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 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 |
| targetDiff | Contains the target difference between numbers (here: 7) |
| roundCount | Counts the number of rounds run (default: 1 round with difference = 7) |
| countResponses | Counts the number of given responses |
| countErrors | Counts the number of errors made |
| countCorrect | The number of correct responses (as differences: countResponses - countErrors) |
| errorRate | Proportion of errors relative to all responses |
File Name: serialsubtractiontask_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. |
| currentNumber | Contains the current start Number to be presented |
| targetDiff | Contains the target difference between numbers (here: 7) |
| correctSolution | Stores the current correct solution the current correct solution number is generated based on the last proposed solution. Thus if the last proposed solution was incorrect, the new correct solution is based on the incorrect proposed solution |
| proposedSolution | Stores the entered proposed solution for the current subtraction |
| correct | The correctness of the response (1 = correct; 0 = incorrect) |
| latency | The response latency (in ms); measured from onset of response dial |
| countResponses | Counts the number of given responses |
| countErrors | Counts the number of errors made |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| targetDiff | The target difference btw. numbers | 7 |
| taskDurationMin | Task duration in minutes | 2 |
| circleProportion | Proportion of canvas height used for the circle radius of response buttons | 0.3 |