User Manual: Inquisit List Learning Task



Script Author: Katja Borchert, Ph.D. ( for Millisecond Software, LLC
Date: 02-16-2017
last updated:  11-06-2023 by K. Borchert ( for Millisecond Software, LLC

Script Copyright © 11-06-2023 Millisecond Software

Millisecond Software thanks Derrick Palma for his collaboration on this script!

This script implements a basic computer-adapted List Learning Task inspired by the one used by
the Repeatable Battery for Neuropsychological Status (RBANS).
The script presents the list visually and accepts written input.

Adjustments to z-scores as described 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)

Participants are presented a list of 10 words (fixed sequence), one at a time, on the computer screen.
Once the list has finished, a textbox appears and participants are asked to enter as many of the list words 
as they remember, in any order. The list learning/recall task is repeated 3 more times before a break (default: 15min).
After the break, participants work through through an optional delayed recall test and a recognition task: 
20 words are presented to them, one by one, and participants have to decide whether the word was part of 
the original list (if so, press Y) or not (if so, press N).
10 of the words are list words, the other ones are new distractor words.

the default set-up of the script takes appr. 20 minutes to complete (15 minute break included in this estimate)

The default data stored in the data files are:

(1) Raw data file: 'listlearningtask_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 bloc
count_immediateRounds:		counts the number of immediate recall trials run
count_allRecallRounds:		counts the number of ALL (immediate + delayed) recall trials run
wordCategory:				1 = old word (word on list); 0 = new word (during recognition)
stimulusitem:				the presented stimuli in order of trial presentation
stimulusnumber:				the itemnumber of the presented stimuli in order of trial presentation
response:					the participant's response
correct:					the correctness of the response (1 = correct; 0 = incorrect)
latency: 					the response latency (in ms)
Recall:						stores the recall text input (with single commas to separate the different words)
countCorrect_Recall:		tracks the number of correctly recalled words per trial

RecallWordEstimate:			stores the computer-derived estimate of the number of words recalled
							Note: see below of algorithm implemented. 
							Algorithm does not check whether the recalled words are actual words.
nr_otherRecalledWords:		stores the number of other recalled words that are not list words

intrusionOther:				stores the character strings contained in the recall string that are not list words
							Note: misspelled study words will show up here
word10_recall:				stores the number of times the first (second, third, etc) word of a list was recalled									

(2) Summary data file: 'listlearningtask_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)

recallScore:				sum of all correctly recalled items across the 4 IMMEDIATE recall trials (Max: 40)
delayedRecallScore:			number of correctly recalled items during delayed recall (Max: 10)

recognitionScore:			the number of words correctly identified (Max: 20);
							Note: combines 'hits' and 'correct rejections'

Immediate Recall:
mean_WordRecall:			mean of the estimated number of words recalled (IMMEDIATE RECALL only)- independent of recall accuracy
meanRecall:					mean number of correctly recalled words per list (IMMEDIATE RECALL only)

Recall1:					number of correctly recalled words on list 1
Recall2:					number of correctly recalled words on list 2  
Recall3:					number of correctly recalled words on list 3  
Recall4:					number of correctly recalled words on list 4 

prop_word10Recall:			stores the recall proportion of words in study positions 1 - 10 across the number of IMMEDIATE recall rounds
							(Max: 4/4 for each item)
							Example: word 1(here: market)\
							=> word in list position 1 was remembered x out of 4 times during immediate recall
meanIntrusions:				mean number of intrusions on recall lists (recalling words that were not on the list)

Recall ALL:								
trial4_recalledWords:		stores the list of the recalled words for trial1, trial2, trial3, trial4 (IMMEDIATE RECALL)

delayedRecall_recalledWords:	stores the list of the recalled words for the delayed recall trial								

recallIntrusions:			a storage variable that stores all recall intrusion words across the 4 immediate (+ delayed) recall trials
							Note: check for misspelled words here and adjust scores accordingly 

r_hits_recognition:	hit rate during recognition (hit => participant categorized old word as 'old')
r_FAs_recognition:	false alarm rate during recognition (false alarm => participant categorized new word as 'old')

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 hit/FA rate)
IF the hit rate / FA rate is 1.0 => 0.995 is used instead (aka 0.005 is subtracted from the hit/FA rate)

z_hr_recognition:	z-score of hit rate
z_fr_recognition:	z-score of false alarm rate

dprime_recognition:	Computes d' (parametric measure of discriminability)
					==> The higher the value, the better signals (old list stimuli) were overall distinguished 
					=from noise (new stimuli) (d' = 0: chance performance)

* separate data files: to change to one data file for all participants (on Inquisit Lab only), go to section
"DATA" and follow further instructions


(I) 4 blocks: List Learning/Recall Task
- the words are presented with a 2s SOA in the middle of the screen
- the order of the words is predetermined and the same across all 4 blocks
- after an editable delay (default: no delay), a textbox appears and prompts participants
to enter all the words they remember (self-paced)

Recall Task: Scoring Algorithms
Algorithm to estimate number of recalled words:
In general this algorithm uses the number of a specific word separator (here: comma)
to estimate the number of words in between the separators: estimated word count = number of separators + 1
The algorithm uses several steps to clean up the text input to ensure as much as 
possible that only single commas are used as word separators. It also removes
trailing commas from the input if necessary.

(1) textbox response is stored in values.Recall (Example: values.Recall = "bed; chair; table") 
(note: there is a space AND a ; after bed and chair)

(2) values.Recall replaces 7 types of possible word separator symbols (e.g. ";", " ") with a comma 
(Example: values.Recall = "bed,,chair,,table")

(3) values.Recall adds a comma to the first item 
(Example: values.Recall = ",bed,,chair,,table")

(3) values.Recall replaces all consecutive commas with a single comma 
(Example: values.Recall = ",bed,chair,table")

(4) if values.Recall does not end in a comma at this point, this comma is added 
(Example: values.Recall = ",bed,chair,table,")

(5) the length of the variable values.Recall is stored in variable values.RecallLength 
(Example: values.RecallLength = 17)

(6) a second variable (values.reducedRecall) deletes all commas in values.Recall 
(Example: values.reducedRecall = "bedchairtable" => length: 13)

(7) the word count estimate = length of values.Recall* - length of values.reducedRecall - 1 (extra comma) 
(Example: estimate = 17 - 13 - 1 = 3)
		*with length = number of characters 

Note: the recall scoring algorithms implemented in this script depend on participants 
(a) using the implemented separators
(b) make no spelling mistakes
(c) don't use phonetically similar words (e.g. pain instead of pane)
Manual checks of the raw data might be necessary to adjust the scores (see values.intrustionOther)

(II) Break (default: 15min)

(III) optional: Delayed Recall Task

(IV) Delayed Recognition Task
- 10 list words and 10 new words are presented randomly (to change to a fixed order, go to text.recognitionWord)
- self-paced

uses the words of the Repeatable Battery for Neuropsychological Status (RBANS)
edit under section Editable Stimuli

are provided by Millisecond Software - change under section Editable Instructions

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:

Response Keys: -> see Tools->Keyboard Scancodes
/oldKey:				label of the "old key" response key (default: "Y")
/newKey:				label of the "new key" response key (default: "N")

/wordSize:				proportional sizing of study words (default: 8% of canvas height)

/wordSOA:				the stimulus onset asynchrony (in ms) of the presented study words (default: 2000ms)
/recallDelay:			the delay (in ms) between last presented study list word and the recall trial (default: 0ms)
/MinRecognitionDelay:	the minimum delay (in ms) between end of last trial and the recognition task (default: 15min)

/runDelayedRecall:		optional delayed recall task after the break
						true (1): delayed recall task is run (default)
						false (0): delayed recall task is skipped