Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
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 letter n-back procedure. The n-back task is a go/nogo working-memory performance task with increasing levels of difficulty.
The implemented procedure is based on the letter nback procedure by Ragland et al (2002)
Ragland, J.D., Turetsky, B.I., Gur, R.C, Gunning-Dixon, F., Turner, T, Schroeder, L., Chan, R., & Gur, R.E. (2002). Working Memory for Complex Figures: An fMRI Comparison of letter and Fractal n-Back Tasks. Neuropsychology, 16, 370-379.
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)
14 minutes
In the 1-key single n-back task, participants are shown a sequence of stimuli (here: a sequence of white letters on a black background) and are asked to indicate whether the currently presented stimulus fulfills the following criteria:
For N=0 trials: - is the letter the same as the letter '1'? If so (it's a target), and press "A". If not, don't respond.
For N=1 trials: - is the letter 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 letter 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 letter 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
9 letters, see section Editable Stimuli
provided by Millisecond - can be edited in script
"singlenbacktask_letters_instructions_inc.iqjs"
File Name: singlenbacktask_letters_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 |
| round | The total letter of experimental blocks run |
| propCorrect | Overall proportion correct (across all test blocks) |
| list.hitsOverall.itemCount | The absolute letter 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 letter 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) |
| dv | Dependent variable suggested by Jaeggi et al (2010) (TotalHits - TotalFA)/letter of experimental blocks |
Level N Summary Statistics (Explained Only For Level N=0) |
|
| hitRateN0 | Hit rate (hitting 'A' for targets) for level N = 0 |
| missRateN0 | Miss rate for level N = 0 |
| hitRTN0 | Mean hit response time (in ms) for level N = 0 |
| faRateN0 | False Alarm/Commission Error Rate (hitting 'A' for nontargets) for level N = 0 |
| crRateN0 | Correct rejection rate for level N = 0 |
| zHitRateN0 | The z-score of the hit rate for level N = 0 |
| zFaRateN0 | The z-score of the False Alarm rate for level N = 0 |
| dPrimeN0 | Computes d' (parametric measure of sensitivity) for level N = 0 |
| cN0 | C-criterium for level N = 0 |
File Name: singlenbacktask_letters_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 letter of the current block (built-in Inquisit variable) |
| trialcode | The name of the currently recorded trial (built-in Inquisit variable) |
| trialnum | The letter 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 letter of experimental blocks run |
| n | The current level N tested |
| startTrialCounter | Keeps track of how many start trials have been run |
| stimulusItem.1 | The letter presented |
| stimulusletter.1 | The item letter of the presented letter |
| currentTarget | The item letter 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 |
Timing Parameters |
||
| soa | Stimulus Onset Asynchrony | 2500 |
| 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 |