User Manual: Inquisit Child NBack Task


___________________________________________________________________________________________________________________	

								Child Letter N-back (2-key version)
___________________________________________________________________________________________________________________	

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software LLC
last updated:  10-11-2024 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 10-11-2024 Millisecond Software
Millisecond Software thanks Dr. Pelegrina for generously sharing source material!

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________	
											
This script implements a basic letter n-back procedure used in research with children to obtain norming data
for children aged 7-13. 
The n-back task is a go/nogo working-memory performance task with increasing levels of difficulty.

The implemented nback procedure is based on:

Pelegrina, S. et al (2015). Normative data on the n-back task for children and young adolescents.	
Frontiers in Psychology, 6. 
URL=https://www.frontiersin.org/article/10.3389/fpsyg.2015.01544     	 
DOI=10.3389/fpsyg.2015.01544  

The article can be downloaded at: 
https://www.researchgate.net/publication/283085448Normative_data_onTheN-backTaskFor_children_and_young_adolescents

Note: Dr. Pelegrina kindly shared the original eprime script cited in Pelegrina et al (2015)

Adjustments to z-scores done in this Inquisit script 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)
											
___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________	
In the 2-key single n-back task, participants are shown a sequence of stimuli (here: a sequence of black letters
on a white 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 'X'? If so (it's a target), press "1". If not, press "2".

for N=1 trials:
- is the letter the same as the one that preceded it? If so (it's a target), press "1". If not, press "2".

for N=2 trials:
- is the letter the same as the one presented two trials before? If so (it's a target), press "1". If not, press "2".

for N=3 trials:
- is the letter the same as the one presented three trials before? If so (it's a target), press "1". If not, press "2".

The default setup of this script runs 2 blocks of:
- n1Back
- n2Back
- n3Back
in that order but can be easily edited to run n0Backs-n3Backs.
___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 15 minutes to complete

___________________________________________________________________________________________________________________	
DATA OUTPUT DICTIONARY
___________________________________________________________________________________________________________________	
The fields in the data files are:

(1) _raw data file: 'childletternbacktask_raw.iqdat' (a separate file for each participant)

build:							The specific Inquisit version used (the 'build') that was run
computer.platform:				the platform the script was run on (win/mac/ios/android)
date, time: 					date and time script was run 
subject, group, 				with the current subject/groupnumber
session:						with the current session id

blockCode, blockNum:			the name and number of the current block (built-in Inquisit variable)
trialCode, trialNum: 			the name and number of the currently recorded trial (built-in Inquisit variable)
									Note: trialNum is a built-in Inquisit variable; it counts all trials run; even those
									that do not store data to the data file such as feedback trials. Thus, trialNum 
									may not reflect the number of main trials run per block. 
										
phase:							'practice' vs. 'test'
blockCounterPerLevelN:			tracks the number of blocks run per N-level tested
n:								the current level N tested
startTrialCounter:				keeps track of how many start trials have been run
stimulusItem.1:					the letter presented
stimulusNumber.1: 				the item number of the presented letter
currentTarget:					the item number of the current target

response:						the Response of the participant (SCANCODE of response button):
								0 = no response
								2 => '1' key (target key)
								3 => '2' key (non target key)
								
responseText:					stores the actual key pressed ("1" vs. "2")								
											
responseCategory:				"Hit": pressed target key for target
								"Miss": pressed nontarget key for target
								"CR": pressed nontarget key for nontarget 
								"FA": pressed target key for nontarget 
								"NR": did not press any response key

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)

									
									
(2) Summary data file: 'childletternbacktask_summary*.iqdat' (a separate file for each participant)

inquisit.version:				Inquisit version run
computer.platform:				the platform the script was run on (win/mac/ios/android)
startDate:						date script was run
startTime:						time script was started
subjectId:						assigned subject id number
groupId:						assigned group id number
sessionId:						assigned session id number
elapsedTime:					time it took to run script (in ms); measured from onset to offset of script
completed:						0 = script was not completed (prematurely aborted); 
								1 = script was completed (all conditions run)
								
scriptAbort:					0 = the script was not ended prematurely due to low performance in one test block
								1 = the script was prematurely ended due to low performance in one test block
	

//parameter settings:
calculatePValues:				true (1): the script will collect age and gender information at the end 
								and report a p-values for the total hits (across n1Back, n2Back and n3Back conditions)
								using the normative data reported by Pelegrina et al (2015, table4)
								false (0): no p-values are reported
										
useGenderInfo:					true (1): gender information is used when reporting p-values for total hits
								
								false (0): no gender information is used when reporting p-values.
								Reported p-values are based on the pooled data of both genders. 
								Pooled data are calculated by this script using the provided
								numbers in table 4 (Pelegrina et al, 2015).
	

the following summary variables are only based on performance on trial.target/trial.nontarget

propCorrectTotal:		overall proportion correct (across all test blocks and level of N tested)
hitsTotal:				overall number of hits (across all test blocks and level of N tested)
zValueN1Back:			the calculated z-value for the total hits (across n1Back, n2Back, n3Back)
pValueN1Back:			the calculated p-value for the total hits (across n1Back, n2Back, n3Back) (based on selected mean and standard deviation information for that age group)
referenceMeanN1Back:	the reference Mean used for calculating hit p-value for the n1Back task
referenceSDN1Back:		the reference standarddeviation used for calculating hit p-value for the n1Back task

meanHitRTTotal:		the overall mean hit response time (in ms)
missesTotal:			overall number of misses (across all test blocks and level of N tested)
crTotal:				overall number of correct rejections (across all test blocks and level of N tested)
faTotal:				overall number of false alarms (across all test blocks and level of N tested)
nrTotal:				overall number of no responses (across all test blocks and level of N tested)

//Signal Detection

Note: z-score calculations: adjustments (see Gregg & Sedikides, 2010, p.148)
If the hit rate  FA rate is 0 => 0.005 is used instead (aka 0.005 is added to the hitFA rate)
IF the hit rate  FA rate is 1.0 => 0.995 is used instead (aka 0.005 is subtracted from the hitFA rate)

hitRateTotal: 			the overall hitRate (number of hits/number of targetTrials)
zHitRateTotal:			the z-converted hitRate
faRateTotal: 			the overall false alarm rate (number of false alarms/number of nontarget trials)
zFaRateTotal: 			the z-converted FArate

dPrimeTotal:			Computes d' (parametric measure of sensitivity):
						=> Range (in this script): 
						-5.1516586840152740479 <= dprime <= 5.1516586840152740479 (=perfect performance)
						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)	
			
cTotal: 				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 is present (liberal response style);
						may favor faster responding in speed-accuracy trade-off response paradigms
						positive: favoring caution (conservative response style)			

(same for each level of N tested, no norms are reported by this script.)

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________

This script provides code to run n0Backs, n1Backs, n2Backs and n3Backs in sequential order.
By default, this script only runs the n1Back, n2Back and n3Back condition.
Check section Editable Parameter to skip/add conditions.

For each level of N-back, participants:
1. receive instructions (which can be repeated as often as necessary)
2. practice block: N start trials + 20 test trials (6 targets, 14 nontargets) - practice is repeated if the practice hitRate is below 60%
3. test: 2 test blocks (editable number) with N start trials + 20 trials (6 targets, 14 nontargets)
Test is prematurely terminated if performance in one of the test blocks sinks below 60%correct.

Trial Information:
- The computer selects randomly 
a) whether it is a target trial or not and 
b) what letter to show if it is not a target trial
Note: Based on shared original e-prime script, notarget letters are selected randomly without replacement 
from 20 consonants.

Trial Sequence:
- Each trial presents the letter for 500ms and waits another 3000ms before presenting the next letter in the sequence
(editable durations)
- Participants have the entire 3500ms to respond

___________________________________________________________________________________________________________________
NORMING INFO 	
___________________________________________________________________________________________________________________	

One important goal of Pelegrina et al (2015) was to report n-back norming data for children 7-13 years
of age. The reported norms can be found in Table 4.

Norming Sample: Pelegrina et al (2015) tested a total of 3722 Spanish children and adolescents 
(1886 boys and 1836 girls) aged 7–13 years. 

Testing Design: Each child was tested with 2 blocks for (letter) n1Back, n2Back, n3Back (sequential block order) 
with 20 trials each (30% targets). If a child did not reach 60% correct during a test block, 
the task was prematurely terminated.

Result: Table 4 provides means (of hits only), standard deviations and p-levels by nback level, age and gender.
Pelegrina et al (2015) further report:
"This component showed that age-related increases in performance diminished with age.
Gender was found to be a predictor only in the 1-back condition and for total hits. Girls
obtained a higher number of hits than boys at both levels of the task. (p.6)"

Script: p-values reported in this script are solely based on reported means and standarddeviation.
By default this script reports p-values for hits for n1Back, n2Back and n3Back levels using
weighted means of male and female means as well as pooled standarddeviations.
If gender specific values are needed, go to section Editable Parameters and check parameter settings.

For a more in depth analyses of specific data, please refer to Table 4 in Pelegrina et al (2015).
The article can be downloaded here: 
https://www.researchgate.net/publication/283085448Normative_data_onTheN-backTaskFor_children_and_young_adolescents

___________________________________________________________________________________________________________________
STIMULI
___________________________________________________________________________________________________________________
20 consonant letters, see section Editable Stimuli

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________
The presented instructions are based on the e-prime script shared by Dr. Pellegrina
Instructions can be edited under section Editable Instructions

___________________________________________________________________________________________________________________	
EDITABLE CODE 
___________________________________________________________________________________________________________________	
check below for (relatively) easily editable parameters, stimuli, instructions etc. 
Keep in mind that you can use this script as a template and therefore always "mess" with the entire code 
to further customize your experiment.

The parameters you can change are: