Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Credits:
Millisecond thanks Dr. Susanne Jaeggi for kindly providing original instruction materials, stimuli,
as well as assistance!
as well as assistance!
Created: March 01, 2012
Last Modified: July 17, 2026 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements a basic shape n-back procedure. The n-back task is a go/nogo working-memory performance task with increasing levels of difficulty that adapt to a participant's block performance.
The implemented procedure is based on Jaeggi et al (2010).
Jaeggi, Susanne M.; Studer-Luethi, Barbara; Buschkuehl, Martin; Su, Yi-Fen; Jonides, John; Perrig, Walter J. (2010). The relationship between n-back performance and matrix reasoning - implications for training and transfer. Intelligence, 38, 625–635.
Adjustments to z-scores as recommended by: Gregg, A. & Sedikides, C. (2010). Narcissistic Fragility: Rethinking Its Links to Explicit and Implicit Self-esteem, Self and Identity, 9:2, 142-161 (p.148)
20 minutes
In the 1-key single n-back task, participants are shown a sequence of stimuli (here: a sequence of yellow shapes on a black background) and are asked to indicate whether the currently presented stimulus fulfills the following criteria:
For N=0 trials: - is the shape the same as the shape '1.gif'? If so (it's a target), and press "A". If not, don't respond.
For N=1 trials: - is the shape the same as the one that preceded it? If so (it's a target), and press "A". If not, don't respond.
For N=2 trials: - is the shape the same as the one presented two trials before? If so (it's a target), and press "A". If not, don't respond.
For N=3 trials: - is the shape the same as the one presented three trials before? If so (it's a target), and press "A". If not, don't respond.
Etc. for increasing levels of N
8 shapes, see section Editable Stimuli
provided by Millisecond - can be edited under section Editable Instructions
in script 'singlenbacktask_a_shapes_instruct_inc.iqjs'
File Name: singlenbacktaskadaptive_shapes_summary*.iqdat
| Name | Description |
|---|---|
| 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 |
| 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 |
| completed | 0 = Test was not completed 1 = Test was completed |
| totalBlocks | The total number of experimental blocks run |
| parameters.startN | The first level of N tested |
| parameters.minN | The lowest possible level of N that can be tested |
| meanLevelN | The mean level N run |
| medianLevelN | The median level N run |
| maxLevelN | The maximum level N run |
| minLevelN | The minimum level N run |
| propCorrect | Overall proportion correct (across all test blocks) |
| meanHitRT | Overall mean correct response time (in ms); is equal to the overall mean hit response time |
| list.hitsOverall.itemCount | The absolute number of target trials (across all test blocks) |
| hitRateOverall | Overall hit rate (across all test blocks) = hitting 'A' for targets |
| missRateOverall | Overall miss rate |
| hitRTOverall | Overall mean hit response time (in ms; across all test blocks) |
| list.commissionsOverall.itemCount | The absolute number of nontarget trials (across all test blocks) |
| faRateOverall | Overall False Alarm/Commission Error Rate (across all test blocks) = hitting 'A' for nontargets |
| crRateOverall | Overall correct rejection rate |
| faRT | Overall mean False Alarm response time (in ms; across all test blocks) |
| zHitRateOverall | The z-score of the overall hit rate |
| zFaRateOverall | The z-score of the overall False Alarm rate |
| dPrimeOverall | Computes d' (parametric measure of sensitivity) The higher the value, the better targets were overall correctly distinguished from nontargets (d' = 0: chance performance; negative values: nontargets were treated as targets and targets were treated as nontargets) |
| cOverall | C-criterion in signal detection:The absolute value of c provides an indication of the strength of the response bias/response style negative: participant more likely to report that signal (go stims) is present (liberal response style) may favor faster responding in speed-accuracy trade-off response paradigms positive: favoring caution (conservative response style) |
File Name: singlenbacktaskadaptive_shapes_raw.iqdat
| Name | Description |
|---|---|
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| 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 |
| 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. |
| totalBlocks | The total number of experimental blocks run |
| n | The current level N tested |
| startTrialCounter | Keeps track of how many start trials have been run |
| stimulusItem.1 | The shape presented |
| stimulusNumber.1 | The item number of the presented shape |
| currentTarget | The item number of the current target |
| response | The Response of the participant (scancode of response button) 0 = no response 31 = 'A' key (positive response) |
| responseCategory | "Hit" vs. "Omission Error" vs. "CorrReject" vs. "Commission Error" |
| correct | The correctness of the response (1 = correct; 0 = otherwise) |
| latency | How fast a participant responded within the given timeframe, if at all (in ms) no responses = the entire trialduration |
| list.blockAcc.mean | Proportion correct during the current block (start trials are excluded from block acc assessment by default, editable) |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Design |
||
| allowPracticeRepeat | True: practice can be repeated as often as indicated (default) false: practice cannot be repeated | true |
| excludeStartTrialfromPerformanceMeasure | True (1): performance during start trials that cannot be targets yet is not considered for Block level performance analyses, e.g. for feedback purposes false (0): performance during start trials that cannot be targets yet IS considered for block performance analyses | true |
| numberNBackTasks | The number of n-back tasks to perform for adaptive testing | 15 |
| moveUpCriterium | Sets the minimum proportion correct in a block to move up to the next level N excludes start trials by default | 0.9 |
| moveDownCriterium | Sets the minimum proportion correct in a block to stay on the same level N (anything lower and participant moves down a level); excludes start trials by default | 0.75 |
| startN | Sets the starting N | 1 |
| lowestN | Sets the lowest possible N to run | 1 |
Timing Parameters |
||
| soa | Stimulus Onset Asynchrony | 3000 |
| stimulusPresentationTime | The presentation time (in ms) of the stimuli | 500 |
Debugging |
||
| debugmode | Debugmode = 1: targetalerts are shown on screen, debugmode = 0, no targetalerts are shown | 0 |