Serial 3 Subtraction Task

Technical Manual

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

Background

This script implements a Serial 3 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).

References

Serial Substraction Task Procedure:
Kennedy, D.O. & · Andrew B. Scholey, A.B. (2000). Glucose administration, heart rate and cognitive performance: effects of increasing mental effort. Psychopharmacology (2000) 149:63–71.

in this script, the Serial Subtraction task uses written input instead of oral input

Cognitive Demand Battery (Cdb):
Kennedy, D. O., Haskell, C. F., Robertson, B., Reay, J., Brewster-Maund, C., Luedemann, J., Maggini, S., Ruf, M., Zangara, A., & Scholey, A. B. (2008). Improved cognitive performance and mental fatigue following a multi-vitamin and mineral supplement with added guaraná ( Paullinia cupana). Appetite, 50(2), 506–513. https://doi.org/10.1016/j.appet.2007.10.007

Duration

2 minutes

Description

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).

Procedure

Participants are asked to perform a Serial3 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)

Stimuli

randomly generated 3 digit start numbers (generated without replacement across blocks) between 800-999

Instructions

to edit instructions, go to section Editable Instructions

Summary Data

File Name: serialsubtractiontask_summary*.iqdat

Data Fields

NameDescription
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: 3)
roundCount Counts the number of rounds run (default: 1 round with difference = 3)
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

Raw Data

File Name: serialsubtractiontask_raw*.iqdat

Data Fields

NameDescription
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: 3)
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

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
targetDiff The target difference btw. numbers3
taskDurationMin Task duration in minutes2
circleProportion Proportion of canvas height used for the circle radius of response buttons0.3