Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Credits:
Millisecond thanks Derrick Palma for his collaboration on this script!
Created: January 16, 2017
Last Modified: January 08, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements a basic computer-adapted List Learning Task, a test of immediate and delayed memory. This implementation was inspired by the one used by the Repeatable Battery for Neuropsychological Status (RBANS, Randolph et al, 1998).
The script presents the list visually and accepts written input.
Randolph, C., Tierney, M. C., Mohr, E., & Chase, T. N. (1998). The Repeatable Battery for the Assessment of Neuropsychological Status (RBANS): Preliminary clinical validity. Journal of Clinical and Experimental Neuropsychology, 20(3), 310–319..
20 minutes
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.
(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.
Steps:
(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
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 in script listlearningtask_stimuli_version1.iqjs/listlearningtask_stimuli_version2.iqjs
are provided by Millisecond.
Edit in script listlearningtask_instructions.iqjs
File Name: listlearningtask_summary*.iqdat
| Name | Description |
|---|---|
| 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 |
| 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) combines 'hits' and 'correct rejections' |
Immediate Recall |
|
| meanWordRecall | 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 |
| propWord1Recall-propWord10Recall | 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 |
|
| trial1RecalledWords-trial4RecalledWords | Stores the list of the recalled words for trial1, trial2, trial3, trial4 (IMMEDIATE RECALL) |
| delayedRecallRecalledWords | 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 check for misspelled words here and adjust scores accordingly |
| rHitsRecognition | Hit rate during recognition (hit => participant categorized old word as 'old') |
| rMissesRecognition | Miss rate during recognition (miss => participant categorized old word as 'new') |
| rFasRecognition | False alarm rate during recognition (false alarm => participant categorized new word as 'old') |
| rCrRecognition | Correct rejection rate during recognition (cr => participant categorized new word as 'new') 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) |
| zHrRecognition | Z-score of hit rate |
| zFrRecognition | Z-score of false alarm rate |
| dPrimeRecognition | 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) |
| cRecognition | 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: listlearningtask_raw*.iqdat
| Name | Description |
|---|---|
| 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. |
| countImmediateRounds | Counts the number of immediate recall trials run |
| countAllRecallRounds | 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) |
| countCorrectRecall | Tracks the number of correctly recalled words per trial |
| recallWordEstimate | Stores the computer-derived estimate of the number of words recalled see below of algorithm implemented. Algorithm does not check whether the recalled words are actual words. |
| nrOtherRecalledWords | 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 misspelled study words will show up here |
| word1Recall-word10Recall | Stores the number of times the first (second, third, etc) word of a list was recalled |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Design Parameters |
||
| numberImmediateRecallRounds | Number of immediate recall rounds to run (Range: 1-4) | 4 |
| runDelayedRecall | Optional delayed recall task after the break true (1): delayed recall task is run (default) false (0): delayed recall task is skipped | 1 |
Responsekeys For Recognition Task |
||
| oldKey | Label of the "old key" response key | "Y" |
| newKey | Label of the "new key" response key | "N" |
Stimulus Sizing |
||
| wordSize | Proportional sizing of study words | 8% |
Timing Parameters |
||
| wordSOA | The stimulus onset asynchrony (in ms) of the presented study words | 2000 |
| recallDelay | The delay (in ms) between last presented study list word and the recall trial | 0 |
| minRecognitionDelay | The minimum delay (in ms) between end of last trial and the recognition task | 900000 |